From c8ee8c1965b280e24fb6266cbb2523230fea605f Mon Sep 17 00:00:00 2001 From: Andrey Kurilin Date: Mon, 19 Dec 2022 13:54:25 +0100 Subject: [PATCH] Fix applying OPENSTACK_SERVER_DEFAULT_USER_DATA value The final revision of I86ac21bf82c1667135abd4f20fb4514da0899450 is buggy and doesn't work. This commit fixes it and adds a proper test. Also, this commit updates the docs with a proper horizon version that corresponds to Zed release (the feature was introduced before final Zed cut so the author tried to guess the final release number). Change-Id: Id921b69df13af3cc209236f0446d82dd30e4d8a2 --- doc/source/configuration/settings.rst | 8 ++++---- .../launch-instance/launch-instance-model.service.js | 2 +- .../launch-instance-model.service.spec.js | 10 ++++++++-- .../notes/fix-default-userdata-3cb75b85b1a5708f.yaml | 5 +++++ 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 releasenotes/notes/fix-default-userdata-3cb75b85b1a5708f.yaml diff --git a/doc/source/configuration/settings.rst b/doc/source/configuration/settings.rst index 055eb4e888..50e045d887 100644 --- a/doc/source/configuration/settings.rst +++ b/doc/source/configuration/settings.rst @@ -2184,7 +2184,7 @@ LAUNCH_INSTANCE_DEFAULTS Added the ``default_availability_zone`` option. -.. versionchanged:: 22.3.0(Zed) +.. versionchanged:: 23.0.0(Zed) Added the ``enable_metadata``, ``enable_net_ports`` options. @@ -2293,7 +2293,7 @@ launching an instance. enable_metadata ############### -.. versionadded:: 22.3.0(Zed) +.. versionadded:: 23.0.0(Zed) Default: ``True`` @@ -2303,7 +2303,7 @@ an instance. enable_net_ports ################ -.. versionadded:: 22.3.0(Zed) +.. versionadded:: 23.0.0(Zed) Default: ``True`` @@ -2329,7 +2329,7 @@ is specified. OPENSTACK_SERVER_DEFAULT_USER_DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. versionadded:: 22.3.0(Zed) +.. versionadded:: 23.0.0(Zed) Default: ``""`` diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js index c38d75bc4e..0c22a9a65c 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js @@ -252,7 +252,7 @@ }); settings.getSetting("OPENSTACK_SERVER_DEFAULT_USER_DATA").then( function (response) { - model.newInstanceSpec.default_user_data = response.OPENSTACK_SERVER_DEFAULT_USER_DATA; + model.newInstanceSpec.default_user_data = response; }); promise = $q.all([ diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js index 27a580698c..52f1f2e767 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js @@ -188,8 +188,7 @@ disable_volume_snapshot: false, default_availability_zone: 'Any' }, - DEFAULT_BOOT_SOURCE: 'image', - OPENSTACK_SERVER_DEFAULT_USER_DATA: '' + DEFAULT_BOOT_SOURCE: 'image' }; IMAGE = {type: 'image', label: 'Image', selected: true}; VOLUME = {type: 'volume', label: 'Volume', selected: false}; @@ -557,6 +556,13 @@ expect(model.newInstanceSpec.hide_create_volume).toBe(true); }); + it('should default user_data based on setting', function() { + settings.OPENSTACK_SERVER_DEFAULT_USER_DATA = 'default-data'; + model.initialize(true); + scope.$apply(); + expect(model.newInstanceSpec.default_user_data).toBe('default-data'); + }); + it('should not set availability zone if the zone list is empty', function () { spyOn(novaApi, 'getAvailabilityZones').and.callFake(function () { var deferred = $q.defer(); diff --git a/releasenotes/notes/fix-default-userdata-3cb75b85b1a5708f.yaml b/releasenotes/notes/fix-default-userdata-3cb75b85b1a5708f.yaml new file mode 100644 index 0000000000..9c95b0cd2c --- /dev/null +++ b/releasenotes/notes/fix-default-userdata-3cb75b85b1a5708f.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixes the bug where an administrator could not specify default user_data + for new VMs via ``OPENSTACK_SERVER_DEFAULT_USER_DATA`` configuration + setting.