diff --git a/deployment_scripts/puppet/manifests/gcs_horizon.pp b/deployment_scripts/puppet/manifests/gcs_horizon.pp new file mode 100644 index 0000000..2b3193d --- /dev/null +++ b/deployment_scripts/puppet/manifests/gcs_horizon.pp @@ -0,0 +1,17 @@ +# Copyright 2016 Mirantis, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +notice('MODULAR:gcs_horizon.pp') +include gcs +class { 'gcs::horizon': } diff --git a/deployment_scripts/puppet/modules/gcs/manifests/horizon.pp b/deployment_scripts/puppet/modules/gcs/manifests/horizon.pp new file mode 100644 index 0000000..cf0d8b2 --- /dev/null +++ b/deployment_scripts/puppet/modules/gcs/manifests/horizon.pp @@ -0,0 +1,29 @@ +# Copyright 2016 Mirantis, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +class gcs::horizon { + + if $gcs::configure_horizon { + file_line { 'configure_horizon': + path => '/etc/openstack-dashboard/local_settings.py', + after => '^OPENSTACK_CINDER_FEATURES', + match => '^\s*.enable_backup', + line => '"enable_backup": True,', + } ~> + service { 'apache2': + ensure => running, + } + } + +} diff --git a/deployment_scripts/puppet/modules/gcs/manifests/init.pp b/deployment_scripts/puppet/modules/gcs/manifests/init.pp index 3af602b..f0942bc 100644 --- a/deployment_scripts/puppet/modules/gcs/manifests/init.pp +++ b/deployment_scripts/puppet/modules/gcs/manifests/init.pp @@ -20,6 +20,7 @@ class gcs { $credential_file = '/var/lib/cinder/credentials.json' $pip_packages = ['google-api-python-client'] $python_package_provider = ['python-pip'] + $configure_horizon = true if $plugin_hash['backup_gcs_advanced_settings'] { $settings = $plugin_hash diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 64b01d2..940f1f5 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -12,3 +12,17 @@ timeout: 300 condition: yaql_exp: $.storage.volumes_ceph or ('cinder' in $.roles ) + +- id: gcs_horizon + type: puppet + role: ['primary-controller','controller'] + requires: [deploy_start] + version: 2.0.0 + cross-depends: + - name: gcs_config + role: self + parameters: + puppet_manifest: puppet/manifests/gcs_horizon.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 300 +