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