Pluggable server type per Role
authorJames Slagle <jslagle@redhat.com>
Thu, 13 Apr 2017 19:38:02 +0000 (15:38 -0400)
committerJames Slagle <jslagle@redhat.com>
Thu, 13 Apr 2017 19:38:44 +0000 (15:38 -0400)
The server resource type, OS::TripleO::Server can now be mapped per role
instead of globally. This allows users to mix baremetal
(OS::Nova::Server) and deployed-server (OS::Heat::DeployedServer) server
resources in the same deployment.

blueprint pluggable-server-type-per-role

Change-Id: Ib9e9abe2ba5103db221f0b485c46704b1e260dbf

overcloud-resource-registry-puppet.j2.yaml
puppet/blockstorage-role.yaml
puppet/cephstorage-role.yaml
puppet/compute-role.yaml
puppet/controller-role.yaml
puppet/objectstorage-role.yaml
puppet/role.role.j2.yaml
releasenotes/notes/pluggable-server-type-per-role-314f38f8e5d4c84e.yaml [new file with mode: 0644]

index b178068..3f40ded 100644 (file)
@@ -46,6 +46,9 @@ resource_registry:
   OS::TripleO::ServiceServerMetadataHook: OS::Heat::None
 
   OS::TripleO::Server: OS::Nova::Server
+{% for role in roles %}
+  OS::TripleO::{{role.name}}Server: OS::TripleO::Server
+{% endfor %}
 
   # This creates the "heat-admin" user for all OS images by default
   # To disable, replace with firstboot/userdata_default.yaml
index 51f9aba..e379964 100644 (file)
@@ -126,7 +126,7 @@ parameters:
 
 resources:
   BlockStorage:
-    type: OS::TripleO::Server
+    type: OS::TripleO::BlockStorageServer
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
index d7d7f47..7c92083 100644 (file)
@@ -132,7 +132,7 @@ parameters:
 
 resources:
   CephStorage:
-    type: OS::TripleO::Server
+    type: OS::TripleO::CephStorageServer
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
index ebdd762..8c8468f 100644 (file)
@@ -145,7 +145,7 @@ parameters:
 resources:
 
   NovaCompute:
-    type: OS::TripleO::Server
+    type: OS::TripleO::ComputeServer
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
index 3d32add..e0689f3 100644 (file)
@@ -165,7 +165,7 @@ parameter_groups:
 resources:
 
   Controller:
-    type: OS::TripleO::Server
+    type: OS::TripleO::ControllerServer
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
index 6ee06d7..58de462 100644 (file)
@@ -127,7 +127,7 @@ parameters:
 resources:
 
   SwiftStorage:
-    type: OS::Nova::Server
+    type: OS::Nova::ObjectStorageServer
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
index 9227b52..67eb89a 100644 (file)
@@ -148,7 +148,7 @@ parameters:
 
 resources:
   {{role}}:
-    type: OS::TripleO::Server
+    type: OS::TripleO::{{role.name}}Server
     metadata:
       os-collect-config:
         command: {get_param: ConfigCommand}
diff --git a/releasenotes/notes/pluggable-server-type-per-role-314f38f8e5d4c84e.yaml b/releasenotes/notes/pluggable-server-type-per-role-314f38f8e5d4c84e.yaml
new file mode 100644 (file)
index 0000000..5b58d3d
--- /dev/null
@@ -0,0 +1,8 @@
+---
+features:
+  - The server resource type, OS::TripleO::Server can now be
+    mapped per role instead of globally. This allows users to
+    mix baremetal (OS::Nova::Server) and
+    deployed-server (OS::Heat::DeployedServer) server resources
+    in the same deployment. See
+    https://blueprints.launchpad.net/tripleo/+spec/pluggable-server-type-per-role