From 62c2723b85a658c8a8d4765fae71e3dda1a89a2d Mon Sep 17 00:00:00 2001 From: Rohan Parulekar <2k.rohan@gmail.com> Date: Tue, 22 Mar 2016 23:23:06 -0400 Subject: [PATCH] Adding support for Horizon/Heat extensions Change-Id: Ifb7214a22202c590cdfa12388996a3f8b586f938 --- .../manifests/site-controller-post-7.pp | 1 + .../manifests/site-controller-post-8.pp | 1 + .../controller/configure_nuage_heat.pp | 28 +++++++++++ .../controller/configure_nuage_horizon.pp | 50 +++++++++++++++++++ .../puppet/modules/nuage/manifests/params.pp | 2 + .../templates/openstack-dashboard.conf.erb | 7 +++ tasks.yaml | 26 ++++++++-- 7 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 deployment_scripts/puppet/manifests/site-controller-post-7.pp create mode 100644 deployment_scripts/puppet/manifests/site-controller-post-8.pp create mode 100644 deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_heat.pp create mode 100644 deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_horizon.pp create mode 100644 deployment_scripts/puppet/modules/nuage/templates/openstack-dashboard.conf.erb diff --git a/deployment_scripts/puppet/manifests/site-controller-post-7.pp b/deployment_scripts/puppet/manifests/site-controller-post-7.pp new file mode 100644 index 0000000..970cf2f --- /dev/null +++ b/deployment_scripts/puppet/manifests/site-controller-post-7.pp @@ -0,0 +1 @@ +include nuage::controller::configure_nuage_horizon diff --git a/deployment_scripts/puppet/manifests/site-controller-post-8.pp b/deployment_scripts/puppet/manifests/site-controller-post-8.pp new file mode 100644 index 0000000..dd90a9c --- /dev/null +++ b/deployment_scripts/puppet/manifests/site-controller-post-8.pp @@ -0,0 +1 @@ +include nuage::controller::configure_nuage_heat diff --git a/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_heat.pp b/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_heat.pp new file mode 100644 index 0000000..e874f37 --- /dev/null +++ b/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_heat.pp @@ -0,0 +1,28 @@ +# Install and configure Nuage heat extensions + +class nuage::controller::configure_nuage_heat { + + include ::nuage::params + + package { $::nuage::params::nuage_openstack_heat: + ensure => present, + } -> + + file { '/etc/heat/heat.conf': + ensure => present, + } -> + + ini_setting { 'Nuage Heat Configuration': + ensure => present, + path => '/etc/heat/heat.conf', + section => 'DEFAULT', + setting => 'plugin_dirs', + value => '/usr/lib/python2.7/dist-packages/nuage-heat/', + notify => Service['heat-engine'], + } + + service { 'heat-engine': + subscribe => File['/etc/heat/heat.conf'], + ensure => running, + } +} diff --git a/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_horizon.pp b/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_horizon.pp new file mode 100644 index 0000000..2eb50b8 --- /dev/null +++ b/deployment_scripts/puppet/modules/nuage/manifests/controller/configure_nuage_horizon.pp @@ -0,0 +1,50 @@ +# Install and configure Nuage horizon + +class nuage::controller::configure_nuage_horizon { + + include ::nuage::params + + package { $::nuage::params::nuage_openstack_horizon: + ensure => present, + } + + service { 'apache2': + subscribe => File['/etc/apache2/conf-available/openstack-dashboard.conf'], + } + + service { $::nuage::params::neutron_server: + subscribe => File['/etc/apache2/conf-available/openstack-dashboard.conf'], + } + + file_line { 'Update customization_module parameter in the dashboard local_settings.py': + ensure => present, + line => " 'customization_module': 'nuage_horizon.customization',", + after => " 'unauthorized': exceptions.UNAUTHORIZED},", + path => '/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py', + require => Package[$::nuage::params::nuage_openstack_horizon], + } -> + + file_line { 'Update the modal_backdrop parameter in dashboard local_settings.py': + ensure => present, + line => " 'modal_backdrop': 'static',", + after => "'customization_module': 'nuage_horizon.customization',", + path => '/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py', + } -> + + file_line { 'Set dashboards parameter to null in dashboard local_settings.py': + path => '/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py', + match => "'dashboards':", + line => " 'dashboard': (),", + } -> + + file_line { 'Set default dashboard parameter to null in dashboard local_settings.py': + path => '/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py', + match => "'default_dashboard':", + line => " 'default_dashboard': '',", + } -> + + file { '/etc/apache2/conf-available/openstack-dashboard.conf': + content => template('nuage/openstack-dashboard.conf.erb'), + notify => Service['apache2', $::nuage::params::neutron_server], + } +} diff --git a/deployment_scripts/puppet/modules/nuage/manifests/params.pp b/deployment_scripts/puppet/modules/nuage/manifests/params.pp index fda6810..69dfec5 100644 --- a/deployment_scripts/puppet/modules/nuage/manifests/params.pp +++ b/deployment_scripts/puppet/modules/nuage/manifests/params.pp @@ -42,6 +42,8 @@ class nuage::params { $python_twisted = 'python-twisted' $nuage_neutron = 'nuage-openstack-neutron' + $nuage_openstack_horizon = 'nuage-openstack-horizon' + $nuage_openstack_heat = 'nuage-openstack-heat' $nuage_metadata_agent = 'nuage-metadata-agent' $nuage_openstack_neutronclient = 'nuage-openstack-neutronclient' $nuage_python_nuagenetlib = 'nuagenetlib' diff --git a/deployment_scripts/puppet/modules/nuage/templates/openstack-dashboard.conf.erb b/deployment_scripts/puppet/modules/nuage/templates/openstack-dashboard.conf.erb new file mode 100644 index 0000000..5f4b92a --- /dev/null +++ b/deployment_scripts/puppet/modules/nuage/templates/openstack-dashboard.conf.erb @@ -0,0 +1,7 @@ +Alias /horizon/static/nuage /usr/lib/python2.7/dist-packages/nuage_horizon/static/ + + +Options FollowSymLinks +AllowOverride None +Require all granted + diff --git a/tasks.yaml b/tasks.yaml index 1cd521c..69c8dc1 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -70,32 +70,48 @@ puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 -- role: ['compute'] +- role: ['primary-controller','controller'] stage: post_deployment/6010 type: puppet parameters: - puppet_manifest: puppet/manifests/site-compute-post-1.pp + puppet_manifest: puppet/manifests/site-controller-post-7.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 -- role: ['compute'] +- role: ['primary-controller','controller'] stage: post_deployment/6011 type: puppet parameters: - puppet_manifest: puppet/manifests/site-compute-post-2.pp + puppet_manifest: puppet/manifests/site-controller-post-8.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - role: ['compute'] stage: post_deployment/6012 type: puppet + parameters: + puppet_manifest: puppet/manifests/site-compute-post-1.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 720 + +- role: ['compute'] + stage: post_deployment/6013 + type: puppet + parameters: + puppet_manifest: puppet/manifests/site-compute-post-2.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 720 + +- role: ['compute'] + stage: post_deployment/6014 + type: puppet parameters: puppet_manifest: puppet/manifests/site-compute-post-3.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - role: ['primary-controller','controller'] - stage: post_deployment/6013 + stage: post_deployment/6015 type: shell parameters: cmd: sudo bash ./test_neutron_setup_with_nuage_plugin.sh