diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/backend/pure.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/backend/pure.pp index bfdbcd1..66d9781 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/backend/pure.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/backend/pure.pp @@ -1,4 +1,3 @@ -class: cinder::backend::pure # # Configures Cinder volume PureStorage driver. # Parameters are particular to each volume driver. @@ -13,7 +12,7 @@ class: cinder::backend::pure # # [*volume_backend_name*] # (optional) Allows for the volume_backend_name to be separate of $name. -# Defaults to: $name +# Defaults to: $backend_name # # [*use_multipath_for_image_xfer*] # (optional) . @@ -29,22 +28,22 @@ class: cinder::backend::pure # Example : # { 'pure_backend/param1' => { 'value' => value1 } } # -define cinder::backend::pure( - $san_ip, - $pure_api_token, - $volume_backend_name = $name, +class plugin_purestorage_cinder::backend::pure( + $san_ip = "", + $pure_api_token = "", + $volume_backend_name = $backend_name, $pure_use_chap = false, $use_multipath_for_image_xfer = true, $extra_options = {}, ) { cinder_config { - "${name}/volume_backend_name": value => $volume_backend_name; - "${name}/volume_driver": value => $volume_driver; - "${name}/san_ip": value => $san_ip; - "${name}/pure_api_token": value => $pure_api_token, secret => true; - "${name}/pure_use_chap": value => $pure_use_chap; - "${name}/use_multipath_for_image_xfer": value => $use_multipath_for_image_xfer ; + "${backend_name}/volume_backend_name": value => $volume_backend_name; + "${backend_name}/volume_driver": value => $volume_driver; + "${backend_name}/san_ip": value => $san_ip; + "${backend_name}/pure_api_token": value => $pure_api_token, secret => true; + "${backend_name}/pure_use_chap": value => $pure_use_chap; + "${backend_name}/use_multipath_for_image_xfer": value => $use_multipath_for_image_xfer ; } create_resources('cinder_config', $extra_options) diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp index 610333a..c74d26e 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp @@ -30,6 +30,7 @@ class plugin_purestorage_cinder::common { enable => true, hasrestart => true, require => Package[$plugin_purestorage_cinder::params::iscsi_package_name], + } file {'99-pure-storage.rules': path => '/lib/udev/rules.d/99-pure-storage.rules', mode => '0644', diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp index 84ede70..4e2e6ef 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp @@ -18,6 +18,8 @@ class plugin_purestorage_cinder::compute { include plugin_purestorage_cinder::common include ::nova::params + $plugin_settings = hiera('fuel-plugin-purestorage-cinder') + service { 'nova-compute': ensure => 'running', name => $::nova::params::compute_service_name, diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp index 3a098fa..6af7a0f 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp @@ -19,13 +19,14 @@ class plugin_purestorage_cinder::controller ( ) { include plugin_purestorage_cinder::common + include plugin_purestorage_cinder::backend::pure include ::cinder::params include ::cinder::client package {"purestorage": ensure => "installed", provider => pip - ) + } $plugin_settings = hiera('fuel-plugin-purestorage-cinder') @@ -45,7 +46,7 @@ class plugin_purestorage_cinder::controller ( $section = 'DEFAULT' } - cinder::backend::pure { $section : + plugin_purestorage_cinder::backend::pure { $section : san_ip => $plugin_settings['pure_san_ip'], pure_api_token => $plugin_settings['pure_api'], volume_backend_name => $section, diff --git a/docs/purestorage-cinder-guide.rst b/docs/purestorage-cinder-guide.rst index ccdc029..45246ad 100644 --- a/docs/purestorage-cinder-guide.rst +++ b/docs/purestorage-cinder-guide.rst @@ -54,7 +54,8 @@ Pure Storage Cinder Plugin installation 2. Copy the plugin on already installed Fuel Master node. If you do not have the Fuel Master node yet, see Quick Start Guide - :: + :: + scp fuel-plugin-purestorage-cinder-1.0-1.0.0.noarch.rpm root@::/tmp 3. Log into the Fuel Master node. diff --git a/metadata.yaml b/metadata.yaml index 15d0207..77e498c 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -21,4 +21,4 @@ releases: repository_path: repositories/centos # Version of plugin package -package_version: '1.0.0' +package_version: '2.0.0' diff --git a/tasks.yaml b/tasks.yaml new file mode 100644 index 0000000..64ef5eb --- /dev/null +++ b/tasks.yaml @@ -0,0 +1,16 @@ +# Deployment tasks +- role: [primary-controller, controller, cinder] + stage: post_deployment/6000 + type: puppet + parameters: + puppet_manifest: puppet/manifests/controller.pp + puppet_modules: "puppet/modules/:/etc/puppet/modules/" + timeout: 360 + +- role: [compute] + stage: post_deployment/6001 + type: puppet + parameters: + puppet_manifest: puppet/manifests/compute.pp + puppet_modules: "puppet/modules/:/etc/puppet/modules/" + timeout: 360