From 160ae675a4e49d116b94ff0300287482bd5b6e5d Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 16 Mar 2023 20:26:05 +0900 Subject: [PATCH] vmware: Fix the wrong package installed All common implementation for vmware has been split out to the oslo.vmware library, which is currently an optional dependency. We have to make sure this library is installed so that vmware driver is functional. Also, python(3)-suds is required by python(3)-oslo-vmware so we don't have to explicitly installs this library. Additionally this fixes the wrong indent in the spec file. Closes-Bug: #2011828 Change-Id: Ica93dd5127e6330e0d5a65738ca68c43e8be3058 --- manifests/compute/vmware.pp | 4 ++- manifests/params.pp | 6 +++-- spec/classes/nova_compute_vmware_spec.rb | 34 +++++++++++++----------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/manifests/compute/vmware.pp b/manifests/compute/vmware.pp index 719687a55..269dcdfe5 100644 --- a/manifests/compute/vmware.pp +++ b/manifests/compute/vmware.pp @@ -74,6 +74,7 @@ class nova::compute::vmware( ) { include nova::deps + include nova::params nova_config { 'DEFAULT/compute_driver': value => $compute_driver; @@ -90,8 +91,9 @@ class nova::compute::vmware( 'vmware/datastore_regex': value => $datastore_regex; } - package { 'python-suds': + package { 'python-oslo-vmware': ensure => present, + name => $::nova::params::oslo_vmware_package_name, tag => ['openstack', 'nova-support-package'], } } diff --git a/manifests/params.pp b/manifests/params.pp index 12607330c..c16c25be4 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -32,6 +32,9 @@ class nova::params { $serialproxy_package_name = 'openstack-nova-serialproxy' $spicehtml5proxy_package_name = 'openstack-nova-console' $ceph_client_package_name = 'ceph-common' + $oslo_vmware_package_name = 'python3-oslo-vmware' + $mkisofs_package_name = 'xorriso' + $mkisofs_cmd = 'mkisofs' # service names $api_service_name = 'openstack-nova-api' $api_metadata_service_name = undef @@ -59,8 +62,6 @@ class nova::params { $nova_api_wsgi_script_source = '/usr/bin/nova-api-wsgi' $nova_metadata_wsgi_script_source = '/usr/bin/nova-metadata-wsgi' $messagebus_service_name = 'dbus' - $mkisofs_package_name = 'xorriso' - $mkisofs_cmd = 'mkisofs' } 'Debian': { # package names @@ -74,6 +75,7 @@ class nova::params { $scheduler_package_name = 'nova-scheduler' $tgt_package_name = 'tgt' $ceph_client_package_name = 'ceph-common' + $oslo_vmware_package_name = 'python3-oslo-vmware' $mkisofs_package_name = 'genisoimage' $mkisofs_cmd = false # service names diff --git a/spec/classes/nova_compute_vmware_spec.rb b/spec/classes/nova_compute_vmware_spec.rb index d8bd31e92..f8b30277f 100644 --- a/spec/classes/nova_compute_vmware_spec.rb +++ b/spec/classes/nova_compute_vmware_spec.rb @@ -41,27 +41,29 @@ describe 'nova::compute::vmware' do is_expected.to contain_nova_config('vmware/datastore_regex').with_value('') end - it 'installs suds python package' do - is_expected.to contain_package('python-suds').with( - :ensure => 'present' + it 'installs oslo.vmware python package' do + is_expected.to contain_package('python-oslo-vmware').with( + :ensure => 'present', + :name => 'python3-oslo-vmware', + :tag => ['openstack', 'nova-support-package'], ) end end - end - context 'with optional parameters' do - before :each do - params.merge!(optional_params) - end + context 'with optional parameters' do + before :each do + params.merge!(optional_params) + end - it 'configures vmwareapi in nova.conf' do - is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value(params[:compute_driver]) - is_expected.to contain_nova_config('vmware/api_retry_count').with_value(params[:api_retry_count]) - is_expected.to contain_nova_config('vmware/maximum_objects').with_value(params[:maximum_objects]) - is_expected.to contain_nova_config('vmware/task_poll_interval').with_value(params[:task_poll_interval]) - is_expected.to contain_nova_config('vmware/use_linked_clone').with_value(params[:use_linked_clone]) - is_expected.to contain_nova_config('vmware/insecure').with_value(params[:insecure]) - is_expected.to contain_nova_config('vmware/datastore_regex').with_value(params[:datastore_regex]) + it 'configures vmwareapi in nova.conf' do + is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value(params[:compute_driver]) + is_expected.to contain_nova_config('vmware/api_retry_count').with_value(params[:api_retry_count]) + is_expected.to contain_nova_config('vmware/maximum_objects').with_value(params[:maximum_objects]) + is_expected.to contain_nova_config('vmware/task_poll_interval').with_value(params[:task_poll_interval]) + is_expected.to contain_nova_config('vmware/use_linked_clone').with_value(params[:use_linked_clone]) + is_expected.to contain_nova_config('vmware/insecure').with_value(params[:insecure]) + is_expected.to contain_nova_config('vmware/datastore_regex').with_value(params[:datastore_regex]) + end end end