#!/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 }