This is an old revision of the document!
The jumphost must be a flavor of Ubuntu The following things must be set on the jumphost before starting any deploy:
libvirt-bin
git
iptables-persistent
bridge-utils
vlan
brAdm
brData
brStorage
The pod admin must also set a few parameters
mkdir ~/joid_config cat << EOF > ~/joid_config/config.sh ### Set Pod name export POD_DC=orange export POD_NUM=pod2 export POD_NAME=\$POD_DC\$POD_NUM ### Set passwords export MAAS_USER=ubuntu export MAAS_PASSWORD=ubuntu export OS_ADMIN_PASSWORD=openstack ### Set CEPH parameters # disks to use by ceph (comma separated list) export CEPH_DISKS=/dev/sdb,/dev/sdc # format or not disk before using ceph (must be done the first time) export CEPH_REFORMAT=false EOF
cd ~/ git clone http://gerrit.opnfv.org/gerrit/joid.git
Jenkins need to set those vars for joid installation:
- string: name: INSTALLER default: '{installer}' description: "Installer to use." - string: name: JOID_MODE default: 'ha' description: "High availability mode: <ha|nonha|tip>" - string: name: JOID_OS_RELEASE default: 'liberty' description: "Openstack release: <juno|liberty>" - string: name: JOID_SDN_CONTROLLER default: 'odl' description: "Joid SDN controller: <odl|opencontrail|onos|none>" - string: name: JOID_LOCAL_CONFIG_FOLDER default: '~/joid_config' description: "Joid local pod config" - string: name: JOID_ADMIN_OPENRC default: '~/joid_config/admin-openrc' description: "Joid local pod config"
Cleanup can be on Juju only or also on the jumphost (destroying MAAS and Bootstrap VM) So we can split that step in 2 templates:
#!/bin/bash set +e cd ~/joid/ci echo "------ Backup Juju environment ------" cp environment.yaml $JOID_LOCAL_CONFIG_FOLDER echo "------ Clean MAAS and Juju ------" ./clean.sh
To enhance for 'juju not deployed' case
#!/bin/bash set +e echo "------ VM List ------" virsh list echo "------ Destroy Bootstrap ------" VM=$(virsh list --name |grep bootstrap) if [ "z$VM" = "z" ] then "echo NO Bootstrap VM" else { virsh destroy $VM virsh undefine $VM virsh vol-delete --pool default /var/lib/libvirt/images/$VM.img } fi echo "------ Destroy MAAS ------" VM=$(virsh list --name |grep maas) if [ "z$VM" = "z" ] then "echo NO MAAS VM" else { virsh destroy $VM virsh undefine $VM virsh vol-delete --pool default /var/lib/libvirt/images/$VM-root.img virsh vol-delete --pool default /var/lib/libvirt/images/$VM-seed.img } fi
To be completed
No build needed
Installation can be automatically done following those steps:
All those steps can be done in one jenkins template
cd ~/ source joid_local_config rm -rf joid git clone http://gerrit.opnfv.org/gerrit/joid.git cd ~/joid/ci
load local pod parameters and jenkins parameters to modify joid templates
#!/bin/bash set +e source $JOID_LOCAL_CONFIG_FOLDER/config.sh cd ~/joid/ci # Get juju deployer file if [ "$JOID_MODE" == 'nonha' ] then SRCBUNDLE=~/joid/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER.yaml else SRCBUNDLE=~/joid/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER-$JOID_MODE.yaml fi # Get MAAS config file MAASCONFIG=~/joid/ci/maas/$POD_DC/$POD_NUM/deployment.yaml # Modify files echo "------ Set MAAS password ------" sed -i -- 's/user: ubuntu/user: $MAAS_USER/' $MAASCONFIG sed -i -- 's/password: ubuntu/user: $MAAS_PASSWORD/' $MAASCONFIG echo "------ Set openstack password ------" sed -i -- "s/\"admin-password\": openstack/\"admin-password\": $OS_ADMIN_PASSWORD/" $SRCBUNDLE echo "------ Set ceph disks ------" sed -i -- "s/\"osd-devices: \/srv/osd-devices: $CEPH_DISKS/" $SRCBUNDLE if [ "$CEPH_REFORMAT" == 'true' ] then sed -i -- "s/osd-reformat: 'no'/osd-reformat: 'yes'/" $SRCBUNDLE
MAASCONFIG=~/joid/ci/maas/$POD_DC/$POD_NUM/deployment.yaml sed -i -- 's/user: ubuntu/user: $MAAS_USER/' $MAASCONFIG sed -i -- 's/password: ubuntu/user: $MAAS_PASSWORD/' $MAASCONFIG ./02-maasdeploy.sh $POD_NAME
in the case of a non full install (without MAAS destroy) we need to recover the juju env file
#!/bin/bash set +e cd ~/joid/ci/ echo "------ Recover Juju environment to use MAAS ------" cp $JOID_LOCAL_CONFIG_FOLDER/environment.yaml .
./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLER -l $POD_NAME
cat << EOF > ~/admin-openrc export OS_USERNAME=admin export OS_PASSWORD=$OS_ADMIN_PASSWORD export OS_TENANT_NAME=admin export OS_AUTH_URL=http://192.168.2.23:5000/v2.0 export OS_REGION_NAME=Canonical EOF