97 lines
2.2 KiB
YAML
97 lines
2.2 KiB
YAML
heat_template_version: 2014-10-16
|
|
parameters:
|
|
image:
|
|
type: string
|
|
default: unused
|
|
flavor:
|
|
type: string
|
|
default: unused
|
|
key_name:
|
|
type: string
|
|
default: unused
|
|
security_groups:
|
|
type: json
|
|
default: []
|
|
# Require this so we can validate the parent passes the
|
|
# correct value
|
|
user_data_format:
|
|
type: string
|
|
user_data:
|
|
type: string
|
|
default: ''
|
|
name:
|
|
type: string
|
|
default: 'deployed-server'
|
|
image_update_policy:
|
|
type: string
|
|
default: ''
|
|
networks:
|
|
type: comma_delimited_list
|
|
default: ''
|
|
metadata:
|
|
type: json
|
|
default: {}
|
|
software_config_transport:
|
|
default: POLL_SERVER_CFN
|
|
type: string
|
|
scheduler_hints:
|
|
type: json
|
|
description: Optional scheduler hints to pass to nova
|
|
default: {}
|
|
|
|
resources:
|
|
deployed-server:
|
|
type: OS::Heat::DeployedServer
|
|
properties:
|
|
name: {get_param: name}
|
|
software_config_transport: {get_param: software_config_transport}
|
|
|
|
InstanceIdConfig:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: apply-config
|
|
config:
|
|
instance-id: {get_resource: deployed-server}
|
|
|
|
InstanceIdDeployment:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
config: {get_resource: InstanceIdConfig}
|
|
server: {get_resource: deployed-server}
|
|
|
|
HostsEntryConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config: |
|
|
#!/bin/bash
|
|
set -eux
|
|
mkdir -p $heat_outputs_path
|
|
host=$(hostname -s)
|
|
echo -n $host > $heat_outputs_path.hostname
|
|
cat $heat_outputs_path.hostname
|
|
outputs:
|
|
- name: hostname
|
|
description: hostname
|
|
|
|
HostsEntryDeployment:
|
|
type: OS::Heat::SoftwareDeployment
|
|
properties:
|
|
config: {get_resource: HostsEntryConfig}
|
|
server: {get_resource: deployed-server}
|
|
|
|
ControlPlanePort:
|
|
type: OS::TripleO::DeployedServer::ControlPlanePort
|
|
properties:
|
|
Hostname: {get_attr: [HostsEntryDeployment, hostname]}
|
|
|
|
outputs:
|
|
OS::stack_id:
|
|
value: {get_resource: deployed-server}
|
|
networks:
|
|
value:
|
|
ctlplane:
|
|
- {get_attr: [ControlPlanePort, ip_address]}
|
|
name:
|
|
value: {get_attr: [HostsEntryDeployment, hostname]}
|