aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-09-08 13:03:38 +0000
committerGerrit Code Review <review@openstack.org>2015-09-08 13:03:38 +0000
commit9a8e384a145b48ef9d7f58da13bc828bbc79941d (patch)
treea9e4985a90f389cb58b4873b3a436a0d71f0159d
parent63fde6c98b4b46ddb9168e2ee3d571390f6979ad (diff)
parentd578cf1ac057643428eba77c3c0a0d31b9db6ad3 (diff)
Merge "Add NodeAdminUserData interface for "heat-admin" user"
-rw-r--r--firstboot/userdata_heat_admin.yaml29
-rw-r--r--overcloud-resource-registry-puppet.yaml4
-rw-r--r--puppet/ceph-storage-puppet.yaml19
-rw-r--r--puppet/cinder-storage-puppet.yaml19
-rw-r--r--puppet/compute-puppet.yaml19
-rw-r--r--puppet/controller-puppet.yaml19
-rw-r--r--puppet/swift-storage-puppet.yaml19
7 files changed, 123 insertions, 5 deletions
diff --git a/firstboot/userdata_heat_admin.yaml b/firstboot/userdata_heat_admin.yaml
new file mode 100644
index 00000000..73481c63
--- /dev/null
+++ b/firstboot/userdata_heat_admin.yaml
@@ -0,0 +1,29 @@
+heat_template_version: 2014-10-16
+
+parameters:
+ # Can be overriden via parameter_defaults in the environment
+ node_admin_username:
+ type: string
+ default: heat-admin
+
+description: >
+ Uses cloud-init to create an additional user with a known name, in addition
+ to the distro-default user created by the cloud-init default.
+
+resources:
+ userdata:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: user_config}
+
+ # Note this requires cloud-init >= 0.7.2 ref bug #1100920
+ user_config:
+ type: OS::Heat::CloudConfig
+ properties:
+ cloud_config:
+ user: {get_param: node_admin_username}
+
+outputs:
+ OS::stack_id:
+ value: {get_resource: userdata}
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index ba1b6f73..ecb1162e 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -23,6 +23,10 @@ resource_registry:
OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-config.yaml
OS::TripleO::Tasks::PackageUpdate: extraconfig/tasks/yum_update.yaml
+ # This creates the "heat-admin" user for all OS images by default
+ # To disable, replace with firstboot/userdata_default.yaml
+ OS::TripleO::NodeAdminUserData: firstboot/userdata_heat_admin.yaml
+
# Hooks for operator extra config
# NodeUserData == Cloud-init additional user-data, e.g cloud-config
# ControllerExtraConfigPre == Controller configuration pre service deployment
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index 6a1ed50a..f08b83cd 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -66,9 +66,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index df6ec34f..d764c6f7 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -120,9 +120,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index 0e6db3d6..10e7527c 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -263,9 +263,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index a69c22e4..07ed99de 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -531,9 +531,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index edec1041..5c4ff5a1 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -89,9 +89,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData