From ad778d75cfcb99ca9bb0ae7e313f2cbb86f4e416 Mon Sep 17 00:00:00 2001 From: Andrey Kurilin Date: Mon, 19 Dec 2022 13:54:25 +0100 Subject: 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 (cherry picked from commit c8ee8c1965b280e24fb6266cbb2523230fea605f) --- doc/source/configuration/settings.rst | 8 ++++---- .../workflow/launch-instance/launch-instance-model.service.js | 2 +- .../launch-instance/launch-instance-model.service.spec.js | 10 ++++++++-- releasenotes/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 512858256..fd5fbe9be 100644 --- a/doc/source/configuration/settings.rst +++ b/doc/source/configuration/settings.rst @@ -2172,7 +2172,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. @@ -2281,7 +2281,7 @@ launching an instance. enable_metadata ############### -.. versionadded:: 22.3.0(Zed) +.. versionadded:: 23.0.0(Zed) Default: ``True`` @@ -2291,7 +2291,7 @@ an instance. enable_net_ports ################ -.. versionadded:: 22.3.0(Zed) +.. versionadded:: 23.0.0(Zed) Default: ``True`` @@ -2317,7 +2317,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 26086bc14..b11af5ebb 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 fa15af910..9570c0591 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 @@ -186,8 +186,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}; @@ -552,6 +551,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 000000000..9c95b0cd2 --- /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. -- cgit v1.2.1