108 lines
2.8 KiB
Bash
108 lines
2.8 KiB
Bash
#!/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
|
|
|