From 723db1317cd62a8772c764847c80a339eae4c03f Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Thu, 2 Apr 2015 09:52:18 -0400 Subject: Enable passing optional first-boot user-data Currently all the OS::Nova::Server resource created don't pass any user-data. It's possible to pass user-data as well as using heat SoftwareConfig/SoftwareDeployment resources, and this can be useful when you have simple "first boot" tasks which are possible either via cloud-init, or via simple run-once scripts. This enables passing such data by implementing a new provider resource OS::TripleO::NodeUserData, which defaults to passing an empty mime archive (thus it's a no-op). An example of non no-op usage is also provided. Change-Id: Id0caba69768630e3a10439ba1fc2547a609c0cfe --- puppet/ceph-storage-puppet.yaml | 5 +++++ puppet/cinder-storage-puppet.yaml | 6 +++++- puppet/compute-puppet.yaml | 4 ++++ puppet/controller-puppet.yaml | 4 ++++ puppet/swift-storage-puppet.yaml | 6 +++++- 5 files changed, 23 insertions(+), 2 deletions(-) (limited to 'puppet') diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml index e9f82c2e..4ce16225 100644 --- a/puppet/ceph-storage-puppet.yaml +++ b/puppet/ceph-storage-puppet.yaml @@ -40,6 +40,11 @@ resources: networks: - network: ctlplane user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData + CephStorageDeployment: type: OS::Heat::StructuredDeployment properties: diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml index ecea763b..3e55ec85 100644 --- a/puppet/cinder-storage-puppet.yaml +++ b/puppet/cinder-storage-puppet.yaml @@ -115,9 +115,13 @@ resources: {get_param: Image} flavor: {get_param: Flavor} key_name: {get_param: KeyName} - user_data_format: SOFTWARE_CONFIG networks: - network: ctlplane + user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData BlockStorageDeployment: type: OS::Heat::StructuredDeployment diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml index 382a6b53..11910d79 100644 --- a/puppet/compute-puppet.yaml +++ b/puppet/compute-puppet.yaml @@ -262,6 +262,10 @@ resources: networks: - network: ctlplane user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData NetworkConfig: type: OS::TripleO::Net::SoftwareConfig diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index d3955467..a904e041 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -425,6 +425,10 @@ resources: networks: - network: ctlplane user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData NetworkConfig: type: OS::TripleO::Net::SoftwareConfig diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml index eba44e6c..6f861d88 100644 --- a/puppet/swift-storage-puppet.yaml +++ b/puppet/swift-storage-puppet.yaml @@ -60,9 +60,13 @@ resources: image: {get_param: Image} flavor: {get_param: Flavor} key_name: {get_param: KeyName} - user_data_format: SOFTWARE_CONFIG networks: - network: ctlplane + user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData SwiftStorageHieraConfig: type: OS::Heat::StructuredConfig -- cgit 1.2.3-korg