From 637d3d50695d7ebc06019d43d0a1f8ca1f3ad275 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 5 Sep 2023 10:30:57 +0900 Subject: [PATCH] Skip loading auth plugin in case the property is set Currently StoredContext object tries to load auth plugin even when a specific property(eg. user_domain_id) is already set. However this is redundant and we can use the value loaded from stack instead. Backport note: This change omits the change about GLOBAL_VENV parameter in devstack because the parameter was added after 2023.1 release. Also, this contains change Ie0876080c771fb124d4dd36f803fbfd3b108e240 because Fedora 36 image is being removed from some mirrors. Story: 2010905 Task: 48723 Change-Id: I09805aa4e2d1b43528f70fb29c8981c01deff955 (cherry picked from commit 7197bd028ba3981d4e6df28885278823015bd5b5) (cherry picked from commit afe3e4aa5164064ff328167341d9b0cf15c2587d) (cherry picked from commit a2b70a93658ecd2774f22c63a394c5629aefdbe7) --- .zuul.yaml | 2 +- devstack/lib/heat | 4 ++-- doc/source/getting_started/on_devstack.rst | 4 ++-- heat/common/context.py | 15 +++++++++------ heat_integrationtests/cleanup_test_env.sh | 2 +- heat_integrationtests/prepare_test_env.sh | 2 +- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 940e3bb95a..affa41bf0d 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -72,7 +72,7 @@ minimal_image_ref: ${DEFAULT_IMAGE_NAME:-cirros-0.3.6-x86_64-disk} instance_type: m1.heat_int minimal_instance_type: m1.heat_micro - image_ref: Fedora-Cloud-Base-36-1.5.x86_64 + image_ref: Fedora-Cloud-Base-37-1.7.x86_64 hidden_stack_tag: hidden heat_config_notify_script: /opt/stack/heat-agents/heat-config/bin/heat-config-notify boot_config_env: /opt/stack/heat-templates/hot/software-config/boot-config/test_image_env.yaml diff --git a/devstack/lib/heat b/devstack/lib/heat index dcd59b6f43..10af4ae94f 100644 --- a/devstack/lib/heat +++ b/devstack/lib/heat @@ -463,14 +463,14 @@ function configure_tempest_for_heat { source /etc/ci/mirror_info.sh fi HEAT_TEST_FEDORA_IMAGE_UPSTREAM=https://download.fedoraproject.org/pub/fedora/linux - HEAT_TEST_FEDORA_IMAGE_PATH=releases/36/Cloud/x86_64/images/Fedora-Cloud-Base-36-1.5.x86_64.qcow2 + HEAT_TEST_FEDORA_IMAGE_PATH=releases/37/Cloud/x86_64/images/Fedora-Cloud-Base-37-1.7.x86_64.qcow2 if curl --output /dev/null --silent --head --fail "${NODEPOOL_FEDORA_MIRROR}/${HEAT_TEST_FEDORA_IMAGE_PATH}"; then export HEAT_TEST_FEDORA_IMAGE="${NODEPOOL_FEDORA_MIRROR}/${HEAT_TEST_FEDORA_IMAGE_PATH}" else export HEAT_TEST_FEDORA_IMAGE="${HEAT_TEST_FEDORA_IMAGE_UPSTREAM}/${HEAT_TEST_FEDORA_IMAGE_PATH}" fi TOKEN=$(openstack token issue -c id -f value) - local image_exists=$( openstack image list | grep "Fedora-Cloud-Base-36-1.5.x86_64" ) + local image_exists=$( openstack image list | grep "Fedora-Cloud-Base-37-1.7.x86_64" ) if [[ -z $image_exists ]]; then if is_service_enabled g-api; then upload_image $HEAT_TEST_FEDORA_IMAGE $TOKEN diff --git a/doc/source/getting_started/on_devstack.rst b/doc/source/getting_started/on_devstack.rst index 64d607ab22..e13b2fc4d9 100644 --- a/doc/source/getting_started/on_devstack.rst +++ b/doc/source/getting_started/on_devstack.rst @@ -51,8 +51,8 @@ a VM image that heat can launch. To do that add the following to `[[local|localrc]]` section of `local.conf`:: IMAGE_URL_SITE="https://download.fedoraproject.org" - IMAGE_URL_PATH="/pub/fedora/linux/releases/36/Cloud/x86_64/images/" - IMAGE_URL_FILE="Fedora-Cloud-Base-36-1.5.x86_64.qcow2" + IMAGE_URL_PATH="/pub/fedora/linux/releases/37/Cloud/x86_64/images/" + IMAGE_URL_FILE="Fedora-Cloud-Base-37-1.7.x86_64.qcow2" IMAGE_URLS+=","$IMAGE_URL_SITE$IMAGE_URL_PATH$IMAGE_URL_FILE URLs for any cloud image may be specified, but fedora images from F20 contain diff --git a/heat/common/context.py b/heat/common/context.py index c72c8367bb..a7c13c85c9 100644 --- a/heat/common/context.py +++ b/heat/common/context.py @@ -298,8 +298,9 @@ class StoredContext(RequestContext): @property def roles(self): - if not getattr(self, '_keystone_loaded', False): - self._load_keystone_data() + if self._roles is None: + if not getattr(self, '_keystone_loaded', False): + self._load_keystone_data() return self._roles @roles.setter @@ -308,8 +309,9 @@ class StoredContext(RequestContext): @property def user_domain_id(self): - if not getattr(self, '_keystone_loaded', False): - self._load_keystone_data() + if self._user_domain_id is None: + if not getattr(self, '_keystone_loaded', False): + self._load_keystone_data() return self._user_domain_id @user_domain_id.setter @@ -318,8 +320,9 @@ class StoredContext(RequestContext): @property def project_domain_id(self): - if not getattr(self, '_keystone_loaded', False): - self._load_keystone_data() + if self._project_domain_id is None: + if not getattr(self, '_keystone_loaded', False): + self._load_keystone_data() return self._project_domain_id @project_domain_id.setter diff --git a/heat_integrationtests/cleanup_test_env.sh b/heat_integrationtests/cleanup_test_env.sh index 8cc5fb1ce6..914c39921e 100755 --- a/heat_integrationtests/cleanup_test_env.sh +++ b/heat_integrationtests/cleanup_test_env.sh @@ -30,4 +30,4 @@ openstack flavor delete m1.heat_int openstack flavor delete m1.heat_micro # delete the image created -openstack image delete Fedora-Cloud-Base-36-1.5.x86_64 +openstack image delete Fedora-Cloud-Base-37-1.7.x86_64 diff --git a/heat_integrationtests/prepare_test_env.sh b/heat_integrationtests/prepare_test_env.sh index d4e440f73e..a8ee0bdb36 100755 --- a/heat_integrationtests/prepare_test_env.sh +++ b/heat_integrationtests/prepare_test_env.sh @@ -46,7 +46,7 @@ function _config_iniset { iniset $conf_file heat_plugin instance_type m1.heat_int iniset $conf_file heat_plugin minimal_instance_type m1.heat_micro - iniset $conf_file heat_plugin image_ref Fedora-Cloud-Base-36-1.5.x86_64 + iniset $conf_file heat_plugin image_ref Fedora-Cloud-Base-37-1.7.x86_64 iniset $conf_file heat_plugin minimal_image_ref $default_image_name iniset $conf_file heat_plugin hidden_stack_tag hidden