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-bingitiptables-persistentbridge-utilsvlanbrAdmbrDatabrStorageThe 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