diff --git a/post_install.sh b/post_install.sh new file mode 100644 index 0000000..3f0aea2 --- /dev/null +++ b/post_install.sh @@ -0,0 +1,107 @@ +#!/bin/bash +# +# Fuel 7.0 default deployment config hack script +# + +#TODO: rollback all changes on package uninstall (uninstall.sh) + +YAML_CFG=/etc/fuel/7.0/version.yaml +export KEYSTONE_USER=admin +export KEYSTONE_PASS=$(sed -n '/"FUEL_ACCESS"/,/"BOOTSTRAP"/s/\(^[ ]*"password": "\)\(.*\)\("\)/\2/p' /etc/fuel/astute.yaml) +# Fuel 7.0 maintenance upgrade totally changed astute.yaml formatting! +[ -z "$KEYSTONE_PASS" ] && KEYSTONE_PASS=$(sed -n '/FUEL_ACCESS/,/HOSTNAME/s/\(^[ ]*password: \)\(.*\)\(\)/\2/p' /etc/fuel/astute.yaml) + +# Enable Fuel experimental features +if ! grep -q "\- experimental" $YAML_CFG; then + echo "Enableing Fuel experimental features in $YAML_CFG" + sed -i 's|^\([ ]*\)- mirantis|\0\n\1- experimental|' $YAML_CFG + dockerctl restart nailgun > /dev/null + echo -n "Restarting Nailgun" + while ! fuel plugins &> /dev/null; do + echo -n . + sleep 1 + done + echo +# dockerctl restart nginx +# dockerctl shell cobbler +# cobbler sync +fi + +# Generate and register additional roles +echo "Updating MidoNet NSDB & GW Fuel roles:" +cat > /tmp/role-nsdb.yaml << THEEND +name: nsdb +meta: + name: Network State Database for MidoNet + description: MidoNet Synchronization Services +volumes_roles_mapping: + - allocate_size: min + id: os +THEEND +cat > /tmp/role-gw.yaml << THEEND +name: midonet-gw +meta: + name: MidoNet HA Gateway + description: MidoNet Gateway +volumes_roles_mapping: +- allocate_size: min + id: os +THEEND +REL=$(fuel rel 2>/dev/null | grep "on Ubuntu" | awk '{ print $1 }') +fuel role --update --rel $REL --file /tmp/role-nsdb.yaml 2> /dev/null +fuel role --update --rel $REL --file /tmp/role-gw.yaml 2> /dev/null +rm -rf /tmp/role-nsdb.yaml /tmp/role-gw.yaml + +# Check if additional deployment tasks needs to be enabled +pushd /tmp > /dev/null +fuel rel --rel $REL --deployment-tasks --download 2> /dev/null +if ! grep -q "\- id: nsdb" release_$REL/deployment_tasks.yaml; then + echo "Enabling MidoNet NSDB Fuel deployment tasks" + cat >> release_$REL/deployment_tasks.yaml << THEEND +- id: nsdb + parameters: + strategy: + type: parallel + requires: + - deploy_start + required_for: + - deploy_end + role: + - nsdb + type: group + tasks: + - logging + - hiera + - globals + - netconfig +THEEND + fuel rel --rel $REL --deployment-tasks --upload 2> /dev/null +fi +if ! grep -q "\- id: midonet-gw" release_$REL/deployment_tasks.yaml; then + echo "Enabling MidoNet GW Fuel deployment tasks" + cat >> release_$REL/deployment_tasks.yaml << THEEND +- id: midonet-gw + parameters: + strategy: + type: parallel + required_for: + - deploy_end + requires: + - deploy_start + role: + - midonet-gw + tasks: + - logging + - hiera + - globals + - netconfig + type: group +THEEND + fuel rel --rel $REL --deployment-tasks --upload 2> /dev/null +fi +rm -rf /tmp/release_$REL/deployment_tasks.yaml +popd > /dev/null + +echo Done. +echo +