<html><body><p>This showed up today after I ran a job to  continue to test my 3rd party CI system. It appears that the $2 argument is not being properly passed to setup_workspace. The failure shows up when in the scirpt when the argument is actuall used.<br><br>Here's snippets form the relevant log. In the jenkins console I see this, I added a few trace statements. This all looks good to me, the command invocation looks correct;  at lest on the tsfilter invocation; setup_workspace $OVERRIDE_ZUUL_BRANCH $BASE/new, $BASE is set to /opt/stack<br><br><tt>Setting up the workspace BASE is set to /opt/stack<br>+ echo '... this takes 3 - 5 minutes (logs at logs/devstack-gate-setup-workspace-new.txt.gz)'<br>... this takes 3 - 5 minutes (logs at logs/devstack-gate-setup-workspace-new.txt.gz)<br>++ date +%s<br>+ start=1448995816<br>++ run_command setup_workspace '$OVERRIDE_ZUUL_BRANCH' '$BASE/new'<br>++ local 'fn=setup_workspace $OVERRIDE_ZUUL_BRANCH $BASE/new'<br>++ local cmd=<br>++ read -r -d '' cmd<br>++ echo 'source '\''/var/lib/jenkins/workspace/zvm-ci-test-slave/test_env.sh'\''<br>source '\''/var/lib/jenkins/workspace/zvm-ci-test-slave/devstack-gate/functions.sh'\''<br>set -o errexit<br>tsfilter setup_workspace $OVERRIDE_ZUUL_BRANCH $BASE/new<br>executable=/bin/bash'<br>+ /tmp/ansible/bin/ansible all -f 5 -i /var/lib/jenkins/workspace/zvm-ci-test-slave/inventory -m shell -a 'source '\''/var/lib/jenkins/workspace/zvm-ci-test-slave/test_env.sh'\''<br>source '\''/var/lib/jenkins/workspace/zvm-ci-test-slave/devstack-gate/functions.sh'\''<br>set -o errexit<br>tsfilter setup_workspace $OVERRIDE_ZUUL_BRANCH $BASE/new<br>executable=/bin/bash'<br>++ date +%s<br>+ end=1448995817<br>+ took=0<br>+ [[ 0 -gt 10 ]]</tt><br><br>However, if I look the log file for the workspace setup, or  devstack-gate-setup-workspace-new.txt, (wtih a few more traces added as well), I see that $2 is passed as being empty, I would have expected it to be the value of $BASE/new as show in the tsfilter line above. $BASE should be /opt/stack as show in the trace above.<br><br>localhost | FAILED | rc=1 >><br>2015-12-01 20:48:10.373 | DEST is set to  or  In setup_workspace<br>2015-12-01 20:48:10.387 | BASE is set to /opt/stack is set globally.. In setup_workspace<br>2015-12-01 20:48:10.398 | base_branch is set to /opt/stack/new or /opt/stack/new<br><br>It fails when the script does the mkdir -p $BASE a few lines down in functions.sh<br><br>function setup_workspace {<br>    local base_branch=$1<br>    local DEST=$2<br>    local xtrace=$(set +o | grep xtrace)<br>    local cache_dir=$BASE/cache/files/<br><br>    echo "DEST is set to $DEST or $2 In setup_workspace"<br>    echo "BASE is set to $BASE is set globally.. In setup_workspace"<br>    echo "base_branch is set to $base_branch or $1"<br><br>    DEST=$BASE/new<br><br>...<br><br>    sudo mkdir -p $DEST<br>    sudo chown -R $USER:$USER $DEST<br><br>The script looks like this<br><br><br><br>I'm at a loss as to what could be going on. I've had to hack the script to make my gate jobs run, don't want to live with this, as this has been running pretty well for me for a while now without the ahck.<br><br>Bob Hansen<br><BR>
</body></html>