Merge "Don't run yum_update.sh inside docker"
[apex-tripleo-heat-templates.git] / puppet / controller-role.yaml
index 5e03adc..9e35af5 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 
 description: >
   OpenStack controller node configured by Puppet.
@@ -134,6 +134,9 @@ parameters:
   MonitoringSubscriptions:
     type: comma_delimited_list
     default: []
+  ServiceMetadataSettings:
+    type: json
+    default: {}
   ConfigCommand:
     type: string
     description: Command which will be run whenever configuration data changes
@@ -176,6 +179,7 @@ resources:
         map_merge:
           - {get_param: ServerMetadata}
           - {get_param: ControllerServerMetadata}
+          - {get_param: ServiceMetadataSettings}
       scheduler_hints: {get_param: ControllerSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
@@ -187,6 +191,8 @@ resources:
         type: multipart
       - config: {get_resource: NodeUserData}
         type: multipart
+      - config: {get_resource: RoleUserData}
+        type: multipart
 
   # Creates the "heat-admin" user if configured via the environment
   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
@@ -198,6 +204,11 @@ resources:
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  # For optional operator role-specific userdata
+  # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+  RoleUserData:
+    type: OS::TripleO::Controller::NodeUserData
+
   ExternalPort:
     type: OS::TripleO::Controller::Ports::ExternalPort
     properties:
@@ -353,6 +364,11 @@ resources:
             - - {get_attr: [Controller, name]}
               - ctlplane
 
+  PreNetworkConfig:
+    type: OS::TripleO::Controller::PreNetworkConfig
+    properties:
+      server: {get_resource: Controller}
+
   NetworkConfig:
     type: OS::TripleO::Controller::Net::SoftwareConfig
     properties:
@@ -366,6 +382,7 @@ resources:
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
+    depends_on: PreNetworkConfig
     properties:
       name: NetworkDeployment
       config: {get_resource: NetworkConfig}