From 16d04892919d097dc5a8470727b9b6f816682ba3 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 6 Jun 2016 16:33:24 -0400 Subject: 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 --- environments/puppet-pacemaker.yaml | 1 + overcloud-resource-registry-puppet.yaml | 1 + overcloud.yaml | 1 + puppet/manifests/overcloud_controller.pp | 1 - puppet/manifests/overcloud_controller_pacemaker.pp | 9 ------- puppet/services/nova-vncproxy.yaml | 24 +++++++++++++++++ puppet/services/pacemaker/nova-vncproxy.yaml | 30 ++++++++++++++++++++++ 7 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 puppet/services/nova-vncproxy.yaml create mode 100644 puppet/services/pacemaker/nova-vncproxy.yaml 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 -- cgit 1.2.3-korg