Enable nova-compute as a composable service
authorSven Anderson <sven@redhat.com>
Fri, 10 Jun 2016 15:43:29 +0000 (17:43 +0200)
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>
Tue, 14 Jun 2016 09:00:56 +0000 (12:00 +0300)
Implement NovaCompute service using nova-base for common parameters.

Depends-On: I57f729daf675674ce37b49e17652c575715fbe23
Implements: blueprint composable-services-within-roles
Change-Id: I4494a94a3813d255b9f2d5a18874efd6a63737df

overcloud-resource-registry-puppet.yaml
overcloud.yaml
puppet/hieradata/compute.yaml
puppet/manifests/overcloud_compute.pp
puppet/services/nova-compute.yaml [new file with mode: 0644]

index dfb8d0b..78223c7 100644 (file)
@@ -152,6 +152,7 @@ resource_registry:
   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
+  OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
 
 parameter_defaults:
   EnablePackageInstall: false
index 2d33279..d8955b9 100644 (file)
@@ -600,7 +600,8 @@ parameters:
     type: comma_delimited_list
 
   ComputeServices:
-    default: []
+    default:
+      - OS::TripleO::Services::NovaCompute
     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 Compute Nodes.
index 5a46fc2..2d928cb 100644 (file)
@@ -3,10 +3,8 @@
 nova::host: "%{::fqdn}"
 nova::notify_on_state_change: 'vm_and_task_state'
 nova::notification_driver: messagingv2
-nova::compute::enabled: true
 nova::compute::instance_usage_audit: true
 nova::compute::instance_usage_audit_period: 'hour'
-nova::compute::vnc_enabled: true
 
 nova::compute::libvirt::migration_support: true
 
index 6a6f54e..30672f2 100644 (file)
@@ -51,10 +51,6 @@ if hiera('step') >= 4 {
     ensure => present,
   }
 
-  include ::nova
-  include ::nova::config
-  include ::nova::compute
-
   $rbd_ephemeral_storage = hiera('nova::compute::rbd::ephemeral_storage', false)
   $rbd_persistent_storage = hiera('rbd_persistent_storage', false)
   if $rbd_ephemeral_storage or $rbd_persistent_storage {
diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml
new file mode 100644 (file)
index 0000000..0844aa8
--- /dev/null
@@ -0,0 +1,25 @@
+heat_template_version: 2016-04-08
+
+description: >
+  OpenStack Nova Compute 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 Conductor service.
+    value:
+      config_settings:
+        map_merge:
+          - get_attr: [NovaBase, role_data, config_settings]
+      step_config: |
+        include tripleo::profile::base::nova::compute