Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / ec2-api.yaml
index d1adefe..85fdb36 100644 (file)
@@ -1,9 +1,13 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenStack EC2-API service configured with Puppet
 
 parameters:
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -13,6 +17,14 @@ parameters:
   DefaultPasswords:
     default: {}
     type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
@@ -30,6 +42,15 @@ parameters:
     type: string
     default: 'regionOne'
     description: Keystone region for endpoint
+  Ec2ApiExternalNetwork:
+    type: string
+    default: ''
+    description: Name of the external network, which is used to connect VPCs to
+                 Internet and to allocate Elastic IPs
+  NovaDefaultFloatingPool:
+    default: 'public'
+    description: Default pool for floating IP addresses
+    type: string
   MonitoringSubscriptionEc2Api:
     default: 'overcloud-ec2-api'
     type: string
@@ -40,7 +61,7 @@ parameters:
       path: /var/log/ec2api/ec2api.log
   EnablePackageInstall:
     default: 'false'
-    description: Set to true to enable package installation via Puppet
+    description: Set to true to enable package installation at deploy time
     type: boolean
   Ec2ApiPolicies:
     description: |
@@ -52,6 +73,7 @@ parameters:
 
 conditions:
   nova_workers_zero: {equals : [{get_param: Ec2ApiWorkers}, 0]}
+  external_network_unset: {equals : [{get_param: Ec2ApiExternalNetwork}, '']}
 
 outputs:
   role_data:
@@ -89,15 +111,15 @@ outputs:
               params:
                 $NETWORK: {get_param: [ServiceNetMap, Ec2ApiMetadataNetwork]}
           ec2api::db::database_connection:
-            list_join:
-              - ''
-              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-                - '://ec2_api:'
-                - {get_param: Ec2ApiPassword}
-                - '@'
-                - {get_param: [EndpointMap, MysqlInternal, host]}
-                - '/ec2_api'
-                - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
+            make_url:
+              scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+              username: ec2_api
+              password: {get_param: Ec2ApiPassword}
+              host: {get_param: [EndpointMap, MysqlInternal, host]}
+              path: /ec2_api
+              query:
+                read_default_file: /etc/my.cnf.d/tripleo.cnf
+                read_default_group: tripleo
           ec2api::api::keystone_ec2_tokens_url:
             list_join:
               - ''
@@ -109,6 +131,11 @@ outputs:
           - {}
           - ec2api::api::ec2api_workers: {get_param: Ec2ApiWorkers}
             ec2api::metadata::metadata_workers: {get_param: Ec2ApiWorkers}
+        -
+          if:
+          - external_network_unset
+          - ec2api::api::external_network: {get_param: NovaDefaultFloatingPool}
+          - ec2api::api::external_network: {get_param: Ec2ApiExternalNetwork}
       step_config: |
         include tripleo::profile::base::nova::ec2api
       service_config_settings: