aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2015-10-01 10:26:16 +0100
committerSteven Hardy <shardy@redhat.com>2015-10-01 10:26:16 +0100
commit2793ab34d244443963b9ad23e7fcefad6cb1ddaa (patch)
treeed3bf93e0e39b8997527c0b17eecb77fb652f3bb
parent1b70744623eb9b65a762aed9ce67c74dcd054cd3 (diff)
Move RHEL (un)registration to NodeExtraConfig
Currently, we have a problem because the unregistration happens in the "post deploy" phase, which works fine when the top-level stack is being deleted, but not when the ResourceGroup of servers is being scaled down, because then the normal "post deploy" update ordering is respected and we try to unregister after the corresponding server has been deleted. So, instead, register/unregister each node inside the unit of scale, e.g the role template being scaled down, which is possible via the new NodesExtraConfig interface, which means unregistration will take place at the right time both on stack delete and on scale-down. Change-Id: I8f117a49fd128f268659525dd03ad46ba3daa1bc
-rw-r--r--extraconfig/post_deploy/rhel-registration/rhel-registration-resource-registry.yaml2
-rw-r--r--extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml (renamed from extraconfig/post_deploy/rhel-registration/environment-rhel-registration.yaml)0
-rw-r--r--extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml2
-rw-r--r--extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml (renamed from extraconfig/post_deploy/rhel-registration/rhel-registration.yaml)18
-rw-r--r--extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration (renamed from extraconfig/post_deploy/rhel-registration/scripts/rhel-registration)0
-rw-r--r--extraconfig/pre_deploy/rhel-registration/scripts/rhel-unregistration (renamed from extraconfig/post_deploy/rhel-registration/scripts/rhel-unregistration)0
6 files changed, 14 insertions, 8 deletions
diff --git a/extraconfig/post_deploy/rhel-registration/rhel-registration-resource-registry.yaml b/extraconfig/post_deploy/rhel-registration/rhel-registration-resource-registry.yaml
deleted file mode 100644
index 7b48392d..00000000
--- a/extraconfig/post_deploy/rhel-registration/rhel-registration-resource-registry.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resource_registry:
- OS::TripleO::NodeExtraConfigPost: rhel-registration.yaml
diff --git a/extraconfig/post_deploy/rhel-registration/environment-rhel-registration.yaml b/extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml
index 70437a8a..70437a8a 100644
--- a/extraconfig/post_deploy/rhel-registration/environment-rhel-registration.yaml
+++ b/extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml
diff --git a/extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml b/extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml
new file mode 100644
index 00000000..75453302
--- /dev/null
+++ b/extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml
@@ -0,0 +1,2 @@
+resource_registry:
+ OS::TripleO::NodeExtraConfig: rhel-registration.yaml
diff --git a/extraconfig/post_deploy/rhel-registration/rhel-registration.yaml b/extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml
index bf6c88cd..d5160915 100644
--- a/extraconfig/post_deploy/rhel-registration/rhel-registration.yaml
+++ b/extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml
@@ -6,8 +6,8 @@ description: >
# Note extra parameters can be defined, then passed data via the
# environment parameter_defaults, without modifying the parent template
parameters:
- servers:
- type: json
+ server:
+ type: string
# To be defined via a local or global environment in parameter_defaults
rhel_reg_activation_key:
type: string
@@ -71,9 +71,9 @@ resources:
config: {get_file: scripts/rhel-registration}
RHELRegistrationDeployment:
- type: OS::Heat::SoftwareDeployments
+ type: OS::Heat::SoftwareDeployment
properties:
- servers: {get_param: servers}
+ server: {get_param: server}
config: {get_resource: RHELRegistration}
actions: ['CREATE'] # Only do this on CREATE
input_values:
@@ -104,10 +104,16 @@ resources:
- name: REG_METHOD
RHELUnregistrationDeployment:
- type: OS::Heat::SoftwareDeployments
+ type: OS::Heat::SoftwareDeployment
properties:
- servers: {get_param: servers}
+ server: {get_param: server}
config: {get_resource: RHELUnregistration}
actions: ['DELETE'] # Only do this on DELETE
input_values:
REG_METHOD: {get_param: rhel_reg_method}
+
+outputs:
+ deploy_stdout:
+ description: Deployment reference, used to trigger puppet apply on changes
+ value: {get_attr: [RHELRegistrationDeployment, deploy_stdout]}
+
diff --git a/extraconfig/post_deploy/rhel-registration/scripts/rhel-registration b/extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration
index cbbd6a1d..cbbd6a1d 100644
--- a/extraconfig/post_deploy/rhel-registration/scripts/rhel-registration
+++ b/extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration
diff --git a/extraconfig/post_deploy/rhel-registration/scripts/rhel-unregistration b/extraconfig/pre_deploy/rhel-registration/scripts/rhel-unregistration
index 1e72e0a6..1e72e0a6 100644
--- a/extraconfig/post_deploy/rhel-registration/scripts/rhel-unregistration
+++ b/extraconfig/pre_deploy/rhel-registration/scripts/rhel-unregistration