~sinzui/juju-ci-tools/charm-uitest

« back to all changes in this revision

Viewing changes to update-jenkins-branches.bash

  • Committer: Curtis Hovey
  • Date: 2016-11-01 15:55:40 UTC
  • mfrom: (1386.2.314 trunk)
  • Revision ID: curtis@canonical.com-20161101155540-gwkm0utxxz1c49zl
Mergeed trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
# the --cloud-city option will also update credential and configs.
4
4
set -eux
5
5
 
 
6
HERE=$(pwd)
6
7
SCRIPTS=$(readlink -f $(dirname $0))
7
 
REPOSITORY=${JUJU_REPOSITORY:-$(dirname $SCRIPTS)/repository}
 
8
REPOSITORY_PARENT=$(dirname $SCRIPTS)
8
9
 
9
10
MASTER="juju-ci.vapour.ws"
10
11
SLAVES="precise-slave.vapour.ws trusty-slave.vapour.ws \
11
 
    wily-slave.vapour.ws xenial-slave.vapour.ws \
12
 
    ppc64el-slave.vapour.ws i386-slave.vapour.ws arm64-slave.vapour.ws \
13
 
    kvm-slave.vapour.ws jujuqa-stack-slave.internal \
 
12
    xenial-slave.vapour.ws yakkety-slave.vapour.ws \
 
13
    ppc64el-slave.vapour.ws ppc64-slave.vapour.ws \
 
14
    arm64-slave.vapour.ws s390x-slave.vapour.ws \
 
15
    kvm-slave.vapour.ws certification-slave.vapour.ws \
14
16
    munna-maas-slave.vapour.ws  silcoon-maas-slave.vapour.ws \
15
 
    canonistack-slave.vapour.ws juju-core-slave.vapour.ws \
16
 
    cloud-health-slave.vapour.ws certification-slave.vapour.ws \
17
 
    charm-bundle-slave.vapour.ws osx-slave.vapour.ws"
 
17
    canonistack-slave.vapour.ws osx-slave.vapour.ws \
 
18
    release-slave.vapour.ws cloud-health-slave.vapour.ws  \
 
19
    juju-core-slave.vapour.ws charm-bundle-slave.vapour.ws \
 
20
    feature-slave.vapour.ws \
 
21
    lxd-slave-a.vapour.ws lxd-slave-b.vapour.ws \
 
22
    juju-core-slave-b.vapour.ws"
18
23
WIN_SLAVES="win-slave.vapour.ws"
19
24
KEY="staging-juju-rsa"
20
25
export JUJU_ENV="juju-ci3"
61
66
if [[ \$(uname) == "Linux" ]]; then
62
67
    cd ~/juju-ci-tools
63
68
    make install-deps
 
69
    # The lsb_release package is broken in xenial and yakkety. The py2 module
 
70
    # is missing.
 
71
    if  [[ ! -f /usr/lib/python2.7/dist-packages/lsb_release.py ]]; then
 
72
            sudo cp /usr/lib/python3/dist-packages/lsb_release.py \
 
73
                    /usr/lib/python2.7/dist-packages/lsb_release.py
 
74
    fi
 
75
elif [[ \$(uname) == "Darwin" ]]; then
 
76
    ~/juju-ci-tools/pipdeps.py install
64
77
fi
65
78
if [[ -d ~/ci-director ]]; then
66
79
    bzr pull -d ~/ci-director
69
82
}
70
83
 
71
84
 
 
85
update_windows() {
 
86
    hostname=$1
 
87
    scp repository.zip Administrator@$hostname:/cygdrive/c/Users/Administrator/
 
88
    ssh Administrator@$hostname << EOT
 
89
bzr pull -d ./juju-release-tools
 
90
bzr pull -d ./juju-ci-tools
 
91
/cygdrive/c/progra~2/7-Zip/7z.exe x -y repository.zip
 
92
python ./juju-ci-tools/pipdeps.py install
 
93
EOT
 
94
}
 
95
 
 
96
 
72
97
CLOUD_CITY="false"
73
98
while [[ "${1-}" != "" ]]; do
74
99
    case $1 in
80
105
done
81
106
 
82
107
SKIPPED=""
83
 
for host in $MASTER $SLAVES; do
84
 
    update_jenkins $host || SKIPPED="$SKIPPED $host"
 
108
for hostname in $MASTER $SLAVES; do
 
109
    update_jenkins $hostname || SKIPPED="$SKIPPED $hostname"
85
110
done
 
111
 
86
112
# win-slaves have a different user and directory layout tan POSIX hosts.
87
 
for host in $WIN_SLAVES; do
88
 
    zip -q -r repository.zip $REPOSITORY -x *.bzr*
89
 
    scp repository.zip Administrator@$host:/cygdrive/c/Users/Administrator/
90
 
    ssh Administrator@$host << EOT
91
 
bzr pull -d ./juju-release-tools
92
 
bzr pull -d ./juju-ci-tools
93
 
/cygdrive/c/progra~2/7-Zip/7z.exe x -y repository.zip
94
 
EOT
 
113
# Also, win+bzr does not support symlinks, so we zip the local charm repo.
 
114
(cd $REPOSITORY_PARENT; zip -q -r $HERE/repository.zip repository -x *.bzr*)
 
115
for hostname in $WIN_SLAVES; do
 
116
    update_windows $hostname || update_windows $hostname
 
117
    if [[ $? -ne 0  ]]; then
 
118
        SKIPPED="$SKIPPED $hostname"
 
119
    fi
95
120
done
96
121
 
97
122
if [[ -n "$SKIPPED" ]]; then
99
124
    echo
100
125
    echo "These hosts were skipped because there was an error"
101
126
    echo "$SKIPPED"
 
127
    exit 1
102
128
fi
 
129
echo "All hosts updated."
103
130