- Type: OS::Nova::Server
- Properties:
- image:
- {Ref: SwiftStorageImage}
- flavor: {Ref: OvercloudSwiftStorageFlavor}
- key_name: {Ref: KeyName}
- Metadata:
- os-collect-config:
- cfn:
- access_key_id:
- Ref: SwiftStorage0Key
- secret_access_key:
- Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ]
- stack_name: {Ref: 'AWS::StackName'}
- path: SwiftStorage0Config.Metadata
- OpenStack::ImageBuilder::Elements: [ swift ]
- SwiftStorage0Config:
- Type: AWS::AutoScaling::LaunchConfiguration
- Properties:
- InstanceType: '0'
- ImageId: '0'
- Metadata:
- completion-handle:
- Ref: SwiftStorage0CompletionHandle
- os-collect-config:
- cfn:
- access_key_id:
- Ref: SwiftStorage0Key
- secret_access_key:
- Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ]
- stack_name: {Ref: 'AWS::StackName'}
- path: SwiftStorage0Config.Metadata
- admin-password: {Ref: AdminPassword}
- neutron:
- ovs:
- local_ip:
- Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - SwiftStorage0
- - networks
- tenant_network_type: {Ref: NeutronNetworkType}
- enable_tunneling: {Ref: NeutronEnableTunnelling}
- service-password:
- Ref: NeutronPassword
- swift:
- devices:
+ type: OS::Nova::Server
+ properties:
+ image: {get_param: SwiftStorageImage}
+ flavor: {get_param: OvercloudSwiftStorageFlavor}
+ key_name: {get_param: KeyName}
+ user_data_format: SOFTWARE_CONFIG
+ SwiftKeystoneConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ keystone:
+ host: {get_input: keystone_host}
+ SwiftStorage0Keystone:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: SwiftStorage0}
+ config: {get_resource: SwiftKeystoneConfig}
+ signal_transport: NO_SIGNAL
+ input_values:
+ keystone_host: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ SwiftStorage0Deploy:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: SwiftStorage0}
+ config: {get_resource: SwiftConfig}
+ signal_transport: NO_SIGNAL
+ input_values:
+ neutron_local_ip: {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ neutron_tenant_network_type: {get_param: NeutronNetworkType}
+ neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
+ swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_password: {get_param: SwiftPassword}
+ swift_devices: