grenade/projects/10_keystone/from-juno/upgrade-keystone

61 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# ``upgrade-keystone``
function get_new_values {
new_values=()
for i in $1; do
if [[ "$i" != "$2" ]]; then
new_values+="$i "
fi
done
echo ${new_values[*]}
}
function configure_keystone_upgrade {
local xtrace
xtrace=$(set +o | grep xtrace)
set -o xtrace
# Remove XmlBodyMiddleware from the keystone-paste.ini file. All
# XmlBodyMiddleware has been deprecated in Keystone for a year and has been
# removed in Kilo. These options should be removed from the
# Kilo keystone-paste.ini file when testing upgrades to Kilo from previous
# releases.
sed -i '/filter:xml_body/d' $KEYSTONE_PASTE_INI
sed -i '/keystone.middleware:XmlBodyMiddleware.factory/d' $KEYSTONE_PASTE_INI
sed -i '/filter:xml_body_v2/d' $KEYSTONE_PASTE_INI
sed -i '/keystone.middleware:XmlBodyMiddlewareV2.factory/d' $KEYSTONE_PASTE_INI
sed -i '/filter:xml_body_v3/d' $KEYSTONE_PASTE_INI
sed -i '/keystone.middleware:XmlBodyMiddlewareV3.factory/d' $KEYSTONE_PASTE_INI
# Take "xml_body_v2" out of the public_api pipeline
values="$(iniget $KEYSTONE_PASTE_INI pipeline:public_api pipeline)"
public_api_values="$(get_new_values "$values" xml_body_v2)"
iniset $KEYSTONE_PASTE_INI pipeline:public_api pipeline "$public_api_values"
# Take "xml_body_v2" out of the admin_api pipeline
values="$(iniget $KEYSTONE_PASTE_INI pipeline:admin_api pipeline)"
admin_api_values="$(get_new_values "$values" xml_body_v2)"
iniset $KEYSTONE_PASTE_INI pipeline:admin_api pipeline "$admin_api_values"
# Take "xml_body_v3" out of the api_v3 pipeline
values="$(iniget $KEYSTONE_PASTE_INI pipeline:api_v3 pipeline)"
api_v3_values="$(get_new_values "$values" xml_body_v3)"
iniset $KEYSTONE_PASTE_INI pipeline:api_v3 pipeline "$api_v3_values"
# Take "xml_body" out of the public_version_api pipeline
values="$(iniget $KEYSTONE_PASTE_INI pipeline:public_version_api pipeline)"
public_api_values="$(get_new_values "$values" xml_body)"
iniset $KEYSTONE_PASTE_INI pipeline:public_version_api pipeline "$public_api_values"
# Take "xml_body" out of the admin_version_api pipeline
values="$(iniget $KEYSTONE_PASTE_INI pipeline:admin_version_api pipeline)"
admin_api_values="$(get_new_values "$values" xml_body)"
iniset $KEYSTONE_PASTE_INI pipeline:admin_version_api pipeline "$admin_api_values"
## reset to previous state
$xtrace
}