| #!/bin/bash -x |
| exec > >(tee -i /tmp/"$(basename "$0" .sh)"_"$(date '+%Y-%m-%d_%H-%M-%S')".log) 2>&1 |
| |
| CWD="$(dirname "$(readlink -f "$0")")" |
| |
| # Import common functions |
| COMMONS="$CWD"/common_functions.sh |
| if [ ! -f "$COMMONS" ]; then |
| echo "File $COMMONS does not exist" |
| exit 1 |
| fi |
| . "$COMMONS" |
| |
| # Install opencontrail database services |
| salt -C 'I@opencontrail:database' state.sls opencontrail.database -b 1 |
| # Install opencontrail control services |
| salt -C 'I@opencontrail:control' state.sls opencontrail -b 1 |
| |
| # Provision opencontrail control services |
| hosts=($(salt -C 'I@opencontrail:control' test.ping | egrep ':$' | cut -d \. -f 1)) |
| vip=$(salt-call pillar.get _param:opencontrail_control_address | grep '^ ' | sed -e 's/ *//') |
| nb=$(( ${#hosts[@]} - 1 )) |
| for i in $(seq 0 $nb); do |
| h=${hosts[$i]} |
| ip=$(salt-call pillar.get linux:network:host:"${h}":address | grep '^ ' | sed -e 's/ *//') |
| salt -C 'I@opencontrail:control:id:1' cmd.run "/usr/share/contrail-utils/provision_control.py --api_server_ip $vip --api_server_port 8082 --host_name $h --host_ip $ip --router_asn 64512 --admin_password workshop --admin_user admin --admin_tenant_name admin --oper add" |
| done |
| |
| # Test opencontrail |
| salt -C 'I@opencontrail:control' cmd.run "contrail-status" |
| salt -C 'I@keystone:server' cmd.run ". /root/keystonerc; neutron net-list; nova net-list" |