diff --git a/deployment/puppet/osnailyfacter/modular/globals/tasks.yaml b/deployment/puppet/osnailyfacter/modular/globals/tasks.yaml index 1ca1d02ef3..70ae2e64b6 100644 --- a/deployment/puppet/osnailyfacter/modular/globals/tasks.yaml +++ b/deployment/puppet/osnailyfacter/modular/globals/tasks.yaml @@ -2,8 +2,8 @@ type: puppet version: 2.1.0 groups: [primary-controller, controller, - cinder, cinder-block-device, cinder-vmware, compute, ceph-osd, - primary-mongo, mongo, virt, ironic] + cinder, cinder-block-device, cinder-vmware, compute, compute-vmware, + ceph-osd, primary-mongo, mongo, virt, ironic] required_for: [deploy_end] requires: [hiera] condition: diff --git a/deployment/puppet/osnailyfacter/modular/hiera/tasks.yaml b/deployment/puppet/osnailyfacter/modular/hiera/tasks.yaml index 97f7fd06ef..81541f5923 100644 --- a/deployment/puppet/osnailyfacter/modular/hiera/tasks.yaml +++ b/deployment/puppet/osnailyfacter/modular/hiera/tasks.yaml @@ -2,7 +2,7 @@ type: puppet version: 2.1.0 groups: [primary-controller, controller, cinder, cinder-block-device, - cinder-vmware, compute, ceph-osd, primary-mongo, mongo, virt, ironic] + cinder-vmware, compute, compute-vmware, ceph-osd, primary-mongo, mongo, virt, ironic] requires: [deploy_start, rsync_core_puppet] required_for: [setup_repositories] condition: diff --git a/deployment/puppet/vmware/manifests/compute_vmware.pp b/deployment/puppet/vmware/manifests/compute_vmware.pp index 28381c1a9a..b606897025 100644 --- a/deployment/puppet/vmware/manifests/compute_vmware.pp +++ b/deployment/puppet/vmware/manifests/compute_vmware.pp @@ -40,7 +40,13 @@ define vmware::compute_vmware( $service_enabled = false, ) { - include nova::params + include ::nova::params + + if $service_enabled { + $service_ensure = 'running' + } else { + $service_ensure = 'stopped' + } # We skip deployment if current node name is not same as target_node if ($target_node == $current_node) { @@ -64,7 +70,7 @@ define vmware::compute_vmware( } service { 'nova-compute': - ensure => running, + ensure => $service_ensure, name => $::nova::params::compute_service_name, enable => $service_enabled, } diff --git a/tests/noop/spec/hosts/globals/globals_spec.rb b/tests/noop/spec/hosts/globals/globals_spec.rb index af49af8dfc..84ab5a02bc 100644 --- a/tests/noop/spec/hosts/globals/globals_spec.rb +++ b/tests/noop/spec/hosts/globals/globals_spec.rb @@ -5,6 +5,7 @@ # ROLE: ironic # ROLE: controller # ROLE: compute +# ROLE: compute-vmware # ROLE: cinder-vmware # ROLE: cinder-block-device # ROLE: cinder diff --git a/tests/noop/spec/hosts/roles/cinder_spec.rb b/tests/noop/spec/hosts/roles/cinder_spec.rb index 4dc2568f33..909e9415cd 100644 --- a/tests/noop/spec/hosts/roles/cinder_spec.rb +++ b/tests/noop/spec/hosts/roles/cinder_spec.rb @@ -28,6 +28,7 @@ describe manifest do cinder_db_user = Noop.hiera_structure 'cinder/db_user', 'cinder' cinder_db_name = Noop.hiera_structure 'cinder/db_name', 'cinder' cinder = Noop.puppet_function 'roles_include', 'cinder' + cinder_vmware = Noop.puppet_function 'roles_include', 'cinder-vmware' cinder_block_device = Noop.puppet_function 'roles_include', 'cinder-block-device' hostname = Noop.hiera('fqdn') @@ -38,6 +39,8 @@ describe manifest do 'ceph' elsif storage_hash['volumes_block_device'] 'block' + elsif cinder_vmware + 'vmdk' else false end