diff --git a/projects/10_keystone/from-juno/upgrade-keystone b/projects/10_keystone/from-juno/upgrade-keystone deleted file mode 100755 index e93ac456..00000000 --- a/projects/10_keystone/from-juno/upgrade-keystone +++ /dev/null @@ -1,60 +0,0 @@ -#!/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 -} diff --git a/projects/10_keystone/from-mitaka/upgrade-keystone b/projects/10_keystone/from-mitaka/upgrade-keystone deleted file mode 100644 index d56eee69..00000000 --- a/projects/10_keystone/from-mitaka/upgrade-keystone +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-keystone`` - -function configure_keystone_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - - # Run `keysetone-manage credential_setup` to ensure keystone has a fernet - # key repository to encrypt and decrypt credentials. - $KEYSTONE_BIN_DIR/keystone-manage --config-file $KEYSTONE_CONF credential_setup - - # reset to previous state - $xtrace -} diff --git a/projects/10_keystone/from-newton/upgrade-keystone b/projects/10_keystone/from-newton/upgrade-keystone deleted file mode 100644 index 6979008d..00000000 --- a/projects/10_keystone/from-newton/upgrade-keystone +++ /dev/null @@ -1,15 +0,0 @@ - -# ``upgrade-keystone`` - -function configure_keystone_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - - # Run `keysetone-manage fernet_setup` to ensure keystone has a fernet - # key repository to encrypt and decrypt tokens. - $KEYSTONE_BIN_DIR/keystone-manage --config-file $KEYSTONE_CONF fernet_setup - - # reset to previous state - $xtrace -} diff --git a/projects/50_neutron/from-juno/upgrade-neutron b/projects/50_neutron/from-juno/upgrade-neutron deleted file mode 100644 index 25b805be..00000000 --- a/projects/50_neutron/from-juno/upgrade-neutron +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-neutron`` - -function configure_neutron_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - - # Apply new rootwrap dhcp.filters because of dnsmasq env variable change - sudo cp -f $TARGET_RELEASE_DIR/neutron/etc/neutron/rootwrap.d/dhcp.filters $NEUTRON_CONF_DIR/rootwrap.d/ - - $xtrace -} diff --git a/projects/50_neutron/from-mitaka/upgrade-neutron b/projects/50_neutron/from-mitaka/upgrade-neutron deleted file mode 100644 index 9cebb4e3..00000000 --- a/projects/50_neutron/from-mitaka/upgrade-neutron +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-neutron`` - -function configure_neutron_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - - # Apply new rootwrap dhcp.filters because of dnsmasq dhcp_release6 change - sudo cp -f $TARGET_RELEASE_DIR/neutron/etc/neutron/rootwrap.d/dhcp.filters $NEUTRON_CONF_DIR/rootwrap.d/ - - $xtrace -} diff --git a/projects/50_neutron/from-ocata/upgrade-neutron b/projects/50_neutron/from-ocata/upgrade-neutron deleted file mode 100644 index cf170a7b..00000000 --- a/projects/50_neutron/from-ocata/upgrade-neutron +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-neutron`` - -function configure_neutron_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - - # Apply new rootwrap l3 and dhcp filters because now we are using haproxy for serving metadata - sudo cp -f $TARGET_RELEASE_DIR/neutron/etc/neutron/rootwrap.d/dhcp.filters $NEUTRON_CONF_DIR/rootwrap.d/ - sudo cp -f $TARGET_RELEASE_DIR/neutron/etc/neutron/rootwrap.d/l3.filters $NEUTRON_CONF_DIR/rootwrap.d/ - - $xtrace -} diff --git a/projects/60_nova/from-kilo/upgrade-nova b/projects/60_nova/from-kilo/upgrade-nova deleted file mode 100644 index e182065f..00000000 --- a/projects/60_nova/from-kilo/upgrade-nova +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-nova`` - -function configure_nova_upgrade { - local xtrace - xtrace=$(set +o | grep xtrace) - - set -o xtrace - # Apply new rootwrap compute.filters - sudo cp -f $TARGET_RELEASE_DIR/nova/etc/nova/rootwrap.d/compute.filters $NOVA_CONF_DIR/rootwrap.d/ - - # reset to previous state - $xtrace -} diff --git a/projects/60_nova/from-liberty/upgrade-nova b/projects/60_nova/from-liberty/upgrade-nova deleted file mode 100644 index 4ddd9252..00000000 --- a/projects/60_nova/from-liberty/upgrade-nova +++ /dev/null @@ -1,17 +0,0 @@ -function configure_nova_upgrade() { - source $TARGET_DEVSTACK_DIR/lib/database - # We need to create the api database before we can sync it - apidburl=$(iniget $NOVA_CONF database connection | sed "s#/nova#/${NOVA_API_DB}#") - iniset $NOVA_CONF api_database connection "$apidburl" - initialize_database_backends - recreate_database $NOVA_API_DB - - # Upgrade rootwrap filters to include touch command - local xtrace - xtrace=$(set +o | grep xtrace) - set -o xtrace - # Apply new rootwrap compute.filters - grep "touch: CommandFilter, touch, root" $TARGET_RELEASE_DIR/nova/etc/nova/rootwrap.d/compute.filters | sudo tee -a $NOVA_CONF_DIR/rootwrap.d/compute.filters - # reset to previous state - $xtrace -} diff --git a/projects/60_nova/from-mitaka/upgrade-nova b/projects/60_nova/from-mitaka/upgrade-nova deleted file mode 100644 index 0f0c789e..00000000 --- a/projects/60_nova/from-mitaka/upgrade-nova +++ /dev/null @@ -1,9 +0,0 @@ -function configure_nova_upgrade() { - # Grenade jobs to upgrade from mitaka to newton set NOVA_CONFIGURE_CELLSV2. - if [ "$NOVA_CONFIGURE_CELLSV2" == "True" ]; then - source $TARGET_DEVSTACK_DIR/lib/database - # We need to create the cell0 database before we can sync it - initialize_database_backends - recreate_database nova_cell0 - fi -} diff --git a/projects/60_nova/from-newton/upgrade-nova b/projects/60_nova/from-newton/upgrade-nova deleted file mode 100644 index aeec4e07..00000000 --- a/projects/60_nova/from-newton/upgrade-nova +++ /dev/null @@ -1,35 +0,0 @@ -source $TARGET_DEVSTACK_DIR/lib/database -source $TARGET_DEVSTACK_DIR/lib/rpc_backend -source $TARGET_DEVSTACK_DIR/lib/keystone -source $TARGET_DEVSTACK_DIR/lib/placement -source $GRENADE_DIR/inc/bootstrap - -function configure_nova_upgrade() { - # Perform an unconditional simple setup of the cells v2 models and mappings - # We need to create the cell0 database before we can sync it - initialize_database_backends - recreate_database nova_cell0 - # NOTE: We use map_cell0 to create the cell0 mapping with the main - # database connection URL directly since simple_cell_setup was incorrectly - # using the api_database connection for this in Newton. As long as the - # cell0 mapping exists before simple_cell_setup is called it will not be - # re-created. - ($NOVA_BIN_DIR/nova-manage cell_v2 map_cell0 --database_connection $(database_connection_url nova_cell0) || true) - $NOVA_BIN_DIR/nova-manage cell_v2 simple_cell_setup --transport-url $(get_transport_url) - - # Make sure we enable the Placement API before rolling out Ocata since it's - # now mandatory. - - # Set for DevStack compatibility - TOP_DIR=$TARGET_DEVSTACK_DIR - source $TOP_DIR/openrc admin admin - - FILES=$TARGET_DEVSTACK_DIR/files - - stack_install_service placement - cleanup_placement - configure_placement - configure_placement_nova_compute - init_placement - devstack_localrc target enable_service placement -} diff --git a/projects/60_nova/from-ocata/upgrade-nova b/projects/60_nova/from-ocata/upgrade-nova deleted file mode 100644 index b4b86202..00000000 --- a/projects/60_nova/from-ocata/upgrade-nova +++ /dev/null @@ -1,5 +0,0 @@ -function configure_nova_upgrade() { - # Going from ocata -> pike isn't going to have the configs setup for the super conductor - # topology - export CELLSV2_SETUP="singleconductor" -} \ No newline at end of file diff --git a/projects/60_nova/from-rocky/upgrade-nova b/projects/60_nova/from-rocky/upgrade-nova deleted file mode 100644 index 7ecf0c55..00000000 --- a/projects/60_nova/from-rocky/upgrade-nova +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env bash -source ${TARGET_DEVSTACK_DIR}/lib/apache -source ${TARGET_DEVSTACK_DIR}/lib/database -source ${TARGET_DEVSTACK_DIR}/lib/keystone -source ${TARGET_DEVSTACK_DIR}/lib/nova -source ${TARGET_DEVSTACK_DIR}/lib/placement -source ${TARGET_DEVSTACK_DIR}/inc/ini-config -source ${TARGET_DEVSTACK_DIR}/inc/python - -function configure_nova_upgrade() { - - # TODO(mriedem): Until https://review.opendev.org/c/600162/ merges - # in devstack, we want to continue using placement from nova. We can - # remove this once the devstack change lands. - if [ -z "${PLACEMENT_REPO}" ]; then - echo "devstack not new enough for extracted placement." - return 0 - fi - - # NOTE(mriedem): We don't need to do any of this placement DB stuff - # if PLACEMENT_DB_ENABLED=True from the old side. - - # Devstack on the Rocky side won't install the placement repo because - # it didn't exist until Stein, so unless the CI infra (devstack-gate) - # already cloned the repo, we have to git clone the repo here - # to get the DB script. - if [[ ! -d ${TARGET_RELEASE_DIR}/placement ]]; then - git_clone ${PLACEMENT_REPO} \ - ${TARGET_RELEASE_DIR}/placement ${TARGET_DEVSTACK_BRANCH} - fi - # Install placement so that placement-api script exists - setup_develop ${TARGET_RELEASE_DIR}/placement - - # Get the location of the placement DB migration script and - # verify it exists. - local db_script=${TARGET_RELEASE_DIR}/placement/tools/${DATABASE_TYPE}-migrate-db.sh - if [[ ! -x ${db_script} ]]; then - die $LINENO "${db_script} does not exist or is not executable." - fi - - # Get our database variables set. - initialize_database_backends - - # Write out the contents of placement.conf. - # This should be done before executing the database migration script. - local placement_conf_dir=/etc/placement - sudo install -d -o ${STACK_USER} ${placement_conf_dir} - local placement_conf=${placement_conf_dir}/placement.conf - - # NOTE(mriedem): iniset will create the config file if it does not exist - # NOTE(cdent): new placement uses _only_ the 'placement_database' group - # for explicitness. - iniset ${placement_conf} placement_database connection `database_connection_url placement` - - # Configure logging options. - setup_logging ${placement_conf} - - # Configure [keystone_authtoken] option and auth cache. - sudo install -d -o $STACK_USER /var/cache/placement - configure_auth_token_middleware ${placement_conf} placement /var/cache/placement - - # Copy the remaining non-keystoneauth [placement] group options from - # nova.conf if set. - for option in randomize_allocation_candidates incomplete_consumer_project_id incomplete_consumer_user_id; do - local value=$(iniget ${NOVA_CONF} placement ${option}) - if [ ${value} ]; then - iniset ${placement_conf} placement ${option} ${value} - fi - done - - # Write out the migrate-db.rc file. - local rc_file=/tmp/migrate-db.rc - touch ${rc_file} - # $db_script is an absolute path so we can execute it directly. - ${db_script} --mkconfig ${rc_file} - sed -i s/NOVA_API_USER.*/NOVA_API_USER=\"${DATABASE_USER}\"/g ${rc_file} - sed -i s/NOVA_API_PASS.*/NOVA_API_PASS=\"${DATABASE_PASSWORD}\"/g ${rc_file} - sed -i s/PLACEMENT_USER.*/PLACEMENT_USER=\"${DATABASE_USER}\"/g ${rc_file} - sed -i s/PLACEMENT_PASS.*/PLACEMENT_PASS=\"${DATABASE_PASSWORD}\"/g ${rc_file} - - # Create the placement database. - recreate_database placement - - # Copy the placement-related table data from the nova_api database into - # the placement database and "stamp" the database version to bring it - # under alembic control. Note that stamping relies on the - # `placement.conf` having `[placement_database]/connection` set first. - ${db_script} --migrate ${rc_file} - - # Copy any policy overrides from nova. We assume yaml here since that is - # the default in code, but it could also be a json file. - local old_policy_file=${NOVA_CONF_DIR}/placement-policy.yaml - if [[ -f ${old_policy_file} ]]; then - local new_policy_file=${placement_conf_dir}/policy.yaml - cp ${old_policy_file} ${new_policy_file} - # Update the config to point at the renamed file. - iniset ${placement_conf} placement policy_file ${new_policy_file} - fi - - # Make adjustments to uwsgi and apache configuration so that we are - # pointing to the right service and configuration. - # TODO(cdent): We set our own values for this instead of values from - # lib/placement because we're in a dependency catch-22 with devstack - # changes. When both sides have merged we can replace these with globals. - # PLACEMENT_BIN_DIR is okay because it is the same whether it comes from - # old or new devstack code, as long as we are not in a virtualenv. - # PLACEMENT_UWSGI_CONF is used as a global so that when start_placement - # is called later, it has the right value. - local placement_uwsgi=${PLACEMENT_BIN_DIR}/placement-api - PLACEMENT_UWSGI_CONF=${placement_conf_dir}/placement-uwsgi.ini - - disable_apache_site nova-placement-api - # This will enable_apache_site placement-api. The entry in the service - # catalog remains the same. - write_uwsgi_config "${PLACEMENT_UWSGI_CONF}" "${placement_uwsgi}" "/placement" - # Grenade itself will ensure that placement is restarted, and when it does - # that, a new systemd unit file, pointing to the right wsgi app, is created. -} diff --git a/projects/60_nova/within-kilo/upgrade-nova b/projects/60_nova/within-kilo/upgrade-nova deleted file mode 100755 index 4d278aa8..00000000 --- a/projects/60_nova/within-kilo/upgrade-nova +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# Kilo -> Lemming flavor migration -# This is run on kilo code before upgrading -function configure_nova_upgrade { - $NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db migrate_flavor_data || die $LINENO "Flavor migrate error" -} diff --git a/projects/70_cinder/from-liberty/upgrade-cinder b/projects/70_cinder/from-liberty/upgrade-cinder deleted file mode 100644 index 9e79aaeb..00000000 --- a/projects/70_cinder/from-liberty/upgrade-cinder +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -# ``upgrade-cinder`` - -function configure_cinder_upgrade { - XTRACE=$(set +o | grep xtrace) - set -o xtrace - - # Copy update volume.filters config file because of rootwrap filters changes - sudo cp -f $TARGET_RELEASE_DIR/cinder/etc/cinder/rootwrap.d/volume.filters $CINDER_CONF_DIR/rootwrap.d/ - - $XTRACE -}