Use OS::Heat::DeployedServer
authorJames Slagle <jslagle@redhat.com>
Mon, 5 Dec 2016 21:19:55 +0000 (16:19 -0500)
committerJames Slagle <jslagle@redhat.com>
Tue, 13 Dec 2016 20:50:29 +0000 (15:50 -0500)
The new DeployedServer resource in Heat will provide a native resource
for Server resources that are not orchestrated via Nova. This will allow
associating SoftwareDeployment's with servers that have not been
launched with Nova with Heat directly.

With the new resource, all of the SoftwareConfigTransport methods are
available, including POLL_TEMP_URL. This patch also updates the
get-occ-config.sh script to configure the requests collector in
os-collect-config.conf on the deployed servers.

Change-Id: I4b80421088acca709fe3f92741c5c052be483131
Partially-implements: blueprint split-stack-software-configuration
Depends-On: I07b9a053ecd3ef4411b602bbc6ef985224834cf8

deployed-server/deployed-server-config.yaml [deleted file]
deployed-server/deployed-server.yaml
deployed-server/scripts/get-occ-config.sh
environments/deployed-server-environment.yaml

diff --git a/deployed-server/deployed-server-config.yaml b/deployed-server/deployed-server-config.yaml
deleted file mode 100644 (file)
index 8c59dc7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-heat_template_version: 2014-10-16
-parameters:
-  user_data_format:
-    type: string
-    default: SOFTWARE_CONFIG
-
-resources:
-  # We just need something which returns a unique ID, but we can't
-  # use RandomString because RefId returns the value, not the physical
-  # resource ID, SoftwareConfig should work as it returns a UUID
-  deployed-server-config:
-    type: OS::Heat::SoftwareConfig
-
-outputs:
-  # FIXME(shardy) this is needed because TemplateResource returns an
-  # ARN not a UUID, which overflows the Deployment server_id column..
-  user_data_format:
-    value: SOFTWARE_CONFIG
-  OS::stack_id:
-    value: {get_resource: deployed-server-config}
-
-
index 22797c2..10e934d 100644 (file)
@@ -21,7 +21,7 @@ parameters:
     default: ''
   name:
     type: string
-    default: ''
+    default: 'deployed-server'
   image_update_policy:
     type: string
     default: ''
@@ -40,20 +40,18 @@ parameters:
     default: {}
 
 resources:
-  # We just need something which returns a unique ID, but we can't
-  # use RandomString because RefId returns the value, not the physical
-  # resource ID, SoftwareConfig should work as it returns a UUID
   deployed-server:
-    type: OS::TripleO::DeployedServerConfig
+    type: OS::Heat::DeployedServer
     properties:
-      user_data_format: SOFTWARE_CONFIG
+      name: {get_param: name}
+      software_config_transport: {get_param: software_config_transport}
 
   InstanceIdConfig:
     type: OS::Heat::StructuredConfig
     properties:
       group: os-apply-config
       config:
-        instance-id: {get_attr: [deployed-server, "OS::stack_id"]}
+        instance-id: {get_resource: deployed-server}
 
   InstanceIdDeployment:
     type: OS::Heat::StructuredDeployment
@@ -88,10 +86,8 @@ resources:
       Hostname: {get_attr: [HostsEntryDeployment, hostname]}
 
 outputs:
-  # FIXME(shardy) this is needed because TemplateResource returns an
-  # ARN not a UUID, which overflows the Deployment server_id column..
   OS::stack_id:
-    value: {get_attr: [deployed-server, "OS::stack_id"]}
+    value: {get_resource: deployed-server}
   networks:
     value:
       ctlplane:
index c3ce718..404244b 100755 (executable)
@@ -79,24 +79,19 @@ for role in $OVERCLOUD_ROLES; do
             server_stack=$(openstack stack resource show $stack $server_resource_name -c physical_resource_id -f value)
         done
 
-        deployed_server_stack=$(openstack stack resource show $server_stack deployed-server -c physical_resource_id -f value)
+        deployed_server_metadata_url=$(openstack stack resource metadata $server_stack deployed-server | jq -r '.["os-collect-config"].request.metadata_url')
 
         echo "======================"
         echo "$role$i os-collect-config.conf configuration:"
 
         config="
 [DEFAULT]
-collectors=heat
+collectors=request
 command=os-refresh-config
 polling_interval=30
 
-[heat]
-user_id=$admin_user_id
-password=$OS_PASSWORD
-auth_url=$OS_AUTH_URL
-project_id=$admin_project_id
-stack_id=$deployed_server_stack
-resource_name=deployed-server-config"
+[request]
+metadata_url=$deployed_server_metadata_url"
 
         echo "$config"
         echo "======================"
index c63d399..e9004bd 100644 (file)
@@ -1,4 +1,3 @@
 resource_registry:
   OS::TripleO::Server: ../deployed-server/deployed-server.yaml
-  OS::TripleO::DeployedServerConfig: ../deployed-server/deployed-server-config.yaml
   OS::TripleO::DeployedServer::ControlPlanePort: ../deployed-server/ctlplane-port.yaml