Move per-role *SchedulerHints parameters into role templates
authorSteven Hardy <shardy@redhat.com>
Tue, 26 Jul 2016 07:03:28 +0000 (08:03 +0100)
committerSteven Hardy <shardy@redhat.com>
Wed, 27 Jul 2016 16:04:59 +0000 (17:04 +0100)
To enable custom roles, move these into the role templates where
they can be passed via parameter defaults.  Because the Compute
role uses an inconsistent NovaCompute naming, these parameters
cannot be generated in overcloud.yaml, so moving them enables
backwards compatibility to be maintained when we move to a
fully jinja generated overcloud (e.g including the role
ResourceGroup resources)

Change-Id: I3f9b2275f2b1daeb8b83f09548a089dadcfe9eee
Partially-Implements: blueprint custom-roles

overcloud.yaml
puppet/ceph-storage.yaml
puppet/cinder-storage.yaml
puppet/compute.yaml
puppet/controller.yaml
puppet/swift-storage.yaml

index f2c99d2..3ed879b 100644 (file)
@@ -145,10 +145,6 @@ parameters:
     type: string
     constraints:
       - custom_constraint: nova.flavor
-  ControllerSchedulerHints:
-    type: json
-    description: Optional scheduler hints to pass to nova
-    default: {}
   ExtraConfig:
     default: {}
     description: |
@@ -193,10 +189,6 @@ parameters:
     default: ''
     description: Libvirt VIF driver configuration for the network
     type: string
-  NovaComputeSchedulerHints:
-    type: json
-    description: Optional scheduler hints to pass to nova
-    default: {}
   NovaEnableRbdBackend:
     default: false
     description: Whether to enable or not the Rbd backend for Nova
@@ -350,10 +342,6 @@ parameters:
       BlockStorage specific configuration to inject into the cluster. Same
       structure as ExtraConfig.
     type: json
-  BlockStorageSchedulerHints:
-    type: json
-    description: Optional scheduler hints to pass to nova
-    default: {}
   BlockStorageServices:
     default:
       - OS::TripleO::Services::CinderVolume
@@ -385,10 +373,6 @@ parameters:
       ObjectStorage specific configuration to inject into the cluster. Same
       structure as ExtraConfig.
     type: json
-  ObjectStorageSchedulerHints:
-    type: json
-    description: Optional scheduler hints to pass to nova
-    default: {}
   ObjectStorageServices:
     default:
       - OS::TripleO::Services::Kernel
@@ -423,10 +407,6 @@ parameters:
       CephStorage specific configuration to inject into the cluster. Same
       structure as ExtraConfig.
     type: json
-  CephStorageSchedulerHints:
-    type: json
-    description: Optional scheduler hints to pass to nova
-    default: {}
   CephStorageServices:
     default:
       - OS::TripleO::Services::CephOSD
@@ -590,7 +570,6 @@ resources:
               params:
                 '%stackname%': {get_param: 'OS::stack_name'}
           NodeIndex: '%index%'
-          SchedulerHints: {get_param: ControllerSchedulerHints}
           ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
           ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
 
@@ -652,7 +631,6 @@ resources:
                 '%stackname%': {get_param: 'OS::stack_name'}
           CloudDomain: {get_param: CloudDomain}
           ServerMetadata: {get_param: ServerMetadata}
-          SchedulerHints: {get_param: NovaComputeSchedulerHints}
           NodeIndex: '%index%'
           ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
           ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
@@ -686,7 +664,6 @@ resources:
           BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
           CloudDomain: {get_param: CloudDomain}
           ServerMetadata: {get_param: ServerMetadata}
-          SchedulerHints: {get_param: BlockStorageSchedulerHints}
           NodeIndex: '%index%'
           ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
           ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
@@ -721,7 +698,6 @@ resources:
           ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
           CloudDomain: {get_param: CloudDomain}
           ServerMetadata: {get_param: ServerMetadata}
-          SchedulerHints: {get_param: ObjectStorageSchedulerHints}
           NodeIndex: '%index%'
           ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
           ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
@@ -755,7 +731,6 @@ resources:
           CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
           CloudDomain: {get_param: CloudDomain}
           ServerMetadata: {get_param: ServerMetadata}
-          SchedulerHints: {get_param: CephStorageSchedulerHints}
           NodeIndex: '%index%'
           ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
           ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
index 77ca4dc..93c4a65 100644 (file)
@@ -81,7 +81,7 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  CephStorageSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
@@ -120,7 +120,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: CephStorageSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData:
index edd81b9..995e19f 100644 (file)
@@ -81,7 +81,7 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  BlockStorageSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
@@ -120,7 +120,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: BlockStorageSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData:
index 0e02916..f4cbbf3 100644 (file)
@@ -205,7 +205,7 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  NovaComputeSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
@@ -244,7 +244,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: NovaComputeSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData:
index 679fd90..f05f6da 100644 (file)
@@ -311,7 +311,7 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  ControllerSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
@@ -354,7 +354,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: ControllerSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData:
index 034592a..00b81eb 100644 (file)
@@ -86,7 +86,7 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  ObjectStorageSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
@@ -125,7 +125,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: ObjectStorageSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData: