summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilien Macchi <emilien@redhat.com>2016-06-06 16:33:24 -0400
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>2016-06-14 12:00:56 +0300
commit16d04892919d097dc5a8470727b9b6f816682ba3 (patch)
tree436d217edb96ec928041bceb5465fb8e7595136a
parent80ad670ad835add380161ca33704701506189adb (diff)
Enable nova-vncproxy as a composable service
Implement NovaVncproxy service using nova-base for common meters. Change-Id: I6463cad5aa722d8c8febac1414d03637d6daec37 Depends-On: I5bc2a77b5832706bd9167cf40e5a7e0f95d7b346 Implements: blueprint composable-services-within-roles
-rw-r--r--environments/puppet-pacemaker.yaml1
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud.yaml1
-rw-r--r--puppet/manifests/overcloud_controller.pp1
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp9
-rw-r--r--puppet/services/nova-vncproxy.yaml24
-rw-r--r--puppet/services/pacemaker/nova-vncproxy.yaml30
7 files changed, 57 insertions, 10 deletions
diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml
index 2385646f..5b1afe65 100644
--- a/environments/puppet-pacemaker.yaml
+++ b/environments/puppet-pacemaker.yaml
@@ -34,3 +34,4 @@ resource_registry:
OS::TripleO::Services::NovaApi: ../puppet/services/pacemaker/nova-api.yaml
OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
+ OS::TripleO::Services::NovaVncproxy: ../puppet/services/pacemaker/nova-vncproxy.yaml
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 8ba7ccd0..dfb8d0b2 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -151,6 +151,7 @@ resource_registry:
OS::TripleO::Services::NovaApi: puppet/services/nova-api.yaml
OS::TripleO::Services::NovaScheduler: puppet/services/nova-scheduler.yaml
OS::TripleO::Services::NovaConsoleauth: puppet/services/nova-consoleauth.yaml
+ OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index d0a43451..2d332797 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -593,6 +593,7 @@ parameters:
- OS::TripleO::Services::NovaApi
- OS::TripleO::Services::NovaScheduler
- OS::TripleO::Services::NovaConsoleauth
+ - OS::TripleO::Services::NovaVncproxy
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 86ad3c50..2b734bb8 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -152,7 +152,6 @@ if hiera('step') >= 4 {
}
include ::nova::config
include ::nova::network::neutron
- include ::nova::vncproxy
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 4084e734..1dc121ad 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -349,11 +349,6 @@ MYSQL_HOST=localhost\n",
}
include ::nova::config
-
- class { '::nova::vncproxy' :
- manage_service => false,
- enabled => false,
- }
include ::nova::network::neutron
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
@@ -700,10 +695,6 @@ password=\"${mysql_root_password}\"",
}
# Nova
- pacemaker::resource::service { $::nova::params::vncproxy_service_name :
- clone_params => 'interleave=true',
- }
-
pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
constraint_type => 'order',
first_resource => 'openstack-core-clone',
diff --git a/puppet/services/nova-vncproxy.yaml b/puppet/services/nova-vncproxy.yaml
new file mode 100644
index 00000000..93a25ab2
--- /dev/null
+++ b/puppet/services/nova-vncproxy.yaml
@@ -0,0 +1,24 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Vncproxy service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Vncproxy service.
+ value:
+ config_settings:
+ get_attr: [NovaBase, role_data, config_settings]
+ step_config: |
+ include tripleo::profile::base::nova::vncproxy
diff --git a/puppet/services/pacemaker/nova-vncproxy.yaml b/puppet/services/pacemaker/nova-vncproxy.yaml
new file mode 100644
index 00000000..52395240
--- /dev/null
+++ b/puppet/services/pacemaker/nova-vncproxy.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Vncproxy service with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NovaVncproxyBase:
+ type: ../nova-vncproxy.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova Vncproxy role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaVncproxyBase, role_data, config_settings]
+ - nova::vncproxy::manage_service: false
+ nova::vncproxy::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::vncproxy