adding deployment configuration file to apex virtual deploy
[releng.git] / jjb / joid / joid-deploy.sh
1 #!/bin/bash
2 set +e
3 set -o nounset
4
5 ####### Temporary - to be done with jenkins params #####
6 JOID_MODE=ha
7 JOID_RELEASE=liberty
8 JOID_LOCAL_CONFIG_FOLDER=~/joid_config
9 JOID_SDN_CONTROLLER=odl
10 #################
11
12 ##
13 ## Load local config or defaults
14 ##
15
16 if [ -e "$JOID_LOCAL_CONFIG_FOLDER/config.sh" ]; then
17     echo "------ Load local config ------"
18     source $JOID_LOCAL_CONFIG_FOLDER/config.sh
19 else
20     echo "------ No local config, load default ------"
21     case $NODE_NAME in
22         orange-fr-pod2)
23             POD=orange-pod2 ;;
24         *)
25             POD=$NODE_NAME ;;
26     esac
27     export POD_DC=$(echo $POD |cut -d\- -f1)
28     export POD_NUM=$(echo $POD |cut -d\- -f2)
29     export POD_NAME=$POD_DC$POD_NUM
30     export MAAS_REINSTALL=true
31     export MAAS_USER=ubuntu
32     export MAAS_PASSWORD=ubuntu
33     export OS_ADMIN_PASSWORD=openstack
34     export CEPH_DISKS=/srv
35     export CEPH_REFORMAT=no
36     export JOID_ADMIN_OPENRC=$WORKSPACE/admin_openrc.sh
37 fi
38
39 ##
40 ## Redeploy MAAS or recover the previous config
41 ##
42
43 cd $WORKSPACE/ci
44 if [ -e "$JOID_LOCAL_CONFIG_FOLDER/environments.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
45     echo "------ Recover Juju environment to use MAAS ------"
46     cp $JOID_LOCAL_CONFIG_FOLDER/environments.yaml .
47 else
48     MAASCONFIG=$WORKSPACE/ci/maas/$POD_DC/$POD_NUM/deployment.yaml
49     echo "------ Set MAAS password ------"
50     sed -i -- 's/user: ubuntu/user: $MAAS_USER/' $MAASCONFIG
51     sed -i -- 's/password: ubuntu/password: $MAAS_PASSWORD/' $MAASCONFIG
52     echo "------ Redeploy MAAS ------"
53     ./02-maasdeploy.sh $POD_NAME
54 fi
55
56 ##
57 ## Configure Joid deployment
58 ##
59
60 # Get juju deployer file
61 if [ "$JOID_MODE" == 'nonha' ]; then
62     SRCBUNDLE=$WORKSPACE/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER.yaml
63 else
64     SRCBUNDLE=$WORKSPACE/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER-$JOID_MODE.yaml
65 fi
66
67 # Modify files
68
69 echo "------ Set openstack password ------"
70 sed -i -- "s/\"admin-password\": openstack/\"admin-password\": $OS_ADMIN_PASSWORD/" $SRCBUNDLE
71
72 echo "------ Set ceph disks ------"
73 sed -i -- "s@osd-devices: /srv@osd-devices: $CEPH_DISKS@" $SRCBUNDLE
74 sed -i -r -- "s/^(\s+osd-reformat: )'no'/\1'$CEPH_REFORMAT'/" $SRCBUNDLE
75
76 ##
77 ## Configure Joid deployment
78 ##
79
80 echo "------ Deploy with juju ------"
81 echo "Execute: ./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLER -l $POD_NAME"
82
83 ./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLER -l $POD_NAME
84
85 ##
86 ## Set Admin RC
87 ##
88
89 echo "------ Create OpenRC file ------"
90 KEYSTONE=$(cat bundle.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
91
92 cat << EOF > $JOID_ADMIN_OPENRC
93 export OS_USERNAME=admin
94 export OS_PASSWORD=$OS_ADMIN_PASSWORD
95 export OS_TENANT_NAME=admin
96 export OS_AUTH_URL=http://$KEYSTONE:5000/v2.0
97 export OS_REGION_NAME=Canonical
98 EOF
99
100 if [ -d "$JOID_LOCAL_CONFIG_FOLDER" ]; then
101     echo "------ Backup Juju environment ------"
102     cp environments.yaml $JOID_LOCAL_CONFIG_FOLDER/
103 fi