11b3cb25a9
There is a Heat patch posted (via Depends-On) that resolves the issue
that caused this to be reverted. This reverts the revert and we need to
make sure all the upgrades jobs pass before we merge this patch.
This reverts commit 69936229f4
.
Closes-Bug: #1699463
implements blueprint disable-deployments
Change-Id: Iedf680fddfbfc020d301bec8837a0cb98d481eb5
200 lines
5.9 KiB
YAML
200 lines
5.9 KiB
YAML
heat_template_version: pike
|
|
|
|
description: >
|
|
RHEL Registration and unregistration software deployments.
|
|
|
|
# Note extra parameters can be defined, then passed data via the
|
|
# environment parameter_defaults, without modifying the parent template
|
|
parameters:
|
|
server:
|
|
type: string
|
|
# To be defined via a local or global environment in parameter_defaults
|
|
rhel_reg_activation_key:
|
|
type: string
|
|
rhel_reg_auto_attach:
|
|
type: string
|
|
rhel_reg_base_url:
|
|
type: string
|
|
rhel_reg_environment:
|
|
type: string
|
|
rhel_reg_force:
|
|
type: string
|
|
rhel_reg_machine_name:
|
|
type: string
|
|
rhel_reg_org:
|
|
type: string
|
|
rhel_reg_password:
|
|
type: string
|
|
rhel_reg_pool_id:
|
|
type: string
|
|
rhel_reg_release:
|
|
type: string
|
|
rhel_reg_repos:
|
|
type: string
|
|
rhel_reg_sat_url:
|
|
type: string
|
|
rhel_reg_server_url:
|
|
type: string
|
|
rhel_reg_service_level:
|
|
type: string
|
|
rhel_reg_user:
|
|
type: string
|
|
rhel_reg_type:
|
|
type: string
|
|
rhel_reg_method:
|
|
type: string
|
|
rhel_reg_sat_repo:
|
|
type: string
|
|
rhel_reg_http_proxy_host:
|
|
type: string
|
|
rhel_reg_http_proxy_port:
|
|
type: string
|
|
rhel_reg_http_proxy_username:
|
|
type: string
|
|
rhel_reg_http_proxy_password:
|
|
type: string
|
|
UpdateOnRHELRegistration:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
When enabled, the system will perform a yum update after performing the
|
|
RHEL Registration process.
|
|
deployment_actions:
|
|
default: ['CREATE', 'UPDATE']
|
|
type: comma_delimited_list
|
|
description: >
|
|
List of stack actions that will trigger any deployments in this
|
|
templates. The actions will be an empty list of the server is in the
|
|
toplevel DeploymentServerBlacklist parameter's value.
|
|
|
|
conditions:
|
|
deployment_actions_empty:
|
|
equals:
|
|
- {get_param: deployment_actions}
|
|
- []
|
|
|
|
resources:
|
|
|
|
RHELRegistration:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
inputs:
|
|
- name: REG_ACTIVATION_KEY
|
|
- name: REG_AUTO_ATTACH
|
|
- name: REG_BASE_URL
|
|
- name: REG_ENVIRONMENT
|
|
- name: REG_FORCE
|
|
- name: REG_MACHINE_NAME
|
|
- name: REG_ORG
|
|
- name: REG_PASSWORD
|
|
- name: REG_POOL_ID
|
|
- name: REG_RELEASE
|
|
- name: REG_REPOS
|
|
- name: REG_SAT_URL
|
|
- name: REG_SERVER_URL
|
|
- name: REG_SERVICE_LEVEL
|
|
- name: REG_USER
|
|
- name: REG_TYPE
|
|
- name: REG_METHOD
|
|
- name: REG_SAT_REPO
|
|
- name: REG_HTTP_PROXY_HOST
|
|
- name: REG_HTTP_PROXY_PORT
|
|
- name: REG_HTTP_PROXY_USERNAME
|
|
- name: REG_HTTP_PROXY_PASSWORD
|
|
config: {get_file: scripts/rhel-registration}
|
|
|
|
RHELRegistrationDeployment:
|
|
type: OS::Heat::SoftwareDeployment
|
|
properties:
|
|
name: RHELRegistrationDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: RHELRegistration}
|
|
actions: ['CREATE'] # Only do this on CREATE
|
|
input_values:
|
|
REG_ACTIVATION_KEY: {get_param: rhel_reg_activation_key}
|
|
REG_AUTO_ATTACH: {get_param: rhel_reg_auto_attach}
|
|
REG_BASE_URL: {get_param: rhel_reg_base_url}
|
|
REG_ENVIRONMENT: {get_param: rhel_reg_environment}
|
|
REG_FORCE: {get_param: rhel_reg_force}
|
|
REG_MACHINE_NAME: {get_param: rhel_reg_machine_name}
|
|
REG_ORG: {get_param: rhel_reg_org}
|
|
REG_PASSWORD: {get_param: rhel_reg_password}
|
|
REG_POOL_ID: {get_param: rhel_reg_pool_id}
|
|
REG_RELEASE: {get_param: rhel_reg_release}
|
|
REG_REPOS: {get_param: rhel_reg_repos}
|
|
REG_SAT_URL: {get_param: rhel_reg_sat_url}
|
|
REG_SERVER_URL: {get_param: rhel_reg_server_url}
|
|
REG_SERVICE_LEVEL: {get_param: rhel_reg_service_level}
|
|
REG_USER: {get_param: rhel_reg_user}
|
|
REG_TYPE: {get_param: rhel_reg_type}
|
|
REG_METHOD: {get_param: rhel_reg_method}
|
|
REG_SAT_REPO: {get_param: rhel_reg_sat_repo}
|
|
REG_HTTP_PROXY_HOST: {get_param: rhel_reg_http_proxy_host}
|
|
REG_HTTP_PROXY_PORT: {get_param: rhel_reg_http_proxy_port}
|
|
REG_HTTP_PROXY_USERNAME: {get_param: rhel_reg_http_proxy_username}
|
|
REG_HTTP_PROXY_PASSWORD: {get_param: rhel_reg_http_proxy_password}
|
|
|
|
RHELUnregistration:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config: {get_file: scripts/rhel-unregistration}
|
|
inputs:
|
|
- name: REG_METHOD
|
|
|
|
RHELUnregistrationDeployment:
|
|
type: OS::Heat::SoftwareDeployment
|
|
properties:
|
|
name: RHELUnregistrationDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: RHELUnregistration}
|
|
actions:
|
|
if:
|
|
- deployment_actions_empty
|
|
- []
|
|
- ['DELETE'] # Only do this on DELETE
|
|
input_values:
|
|
REG_METHOD: {get_param: rhel_reg_method}
|
|
|
|
YumUpdateConfigurationAfterRHELRegistration:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config: |
|
|
#!/bin/bash
|
|
set -x
|
|
num_updates=$(yum list -q updates | wc -l)
|
|
if [ "$num_updates" -eq "0" ]; then
|
|
echo "No packages require updating"
|
|
exit 0
|
|
fi
|
|
full_command="yum -q -y update"
|
|
echo "Running: $full_command"
|
|
result=$($full_command)
|
|
return_code=$?
|
|
echo "$result"
|
|
echo "yum return code: $return_code"
|
|
exit $return_code
|
|
|
|
UpdateDeploymentAfterRHELRegistration:
|
|
type: OS::Heat::SoftwareDeployment
|
|
depends_on: RHELRegistrationDeployment
|
|
conditions:
|
|
update_requested: {get_param: UpdateOnRHELRegistration}
|
|
properties:
|
|
name: UpdateDeploymentAfterRHELRegistration
|
|
config: {get_resource: YumUpdateConfigurationAfterRHELRegistration}
|
|
server: {get_param: server}
|
|
actions:
|
|
if:
|
|
- deployment_actions_empty
|
|
- []
|
|
- ['CREATE'] # Only do this on CREATE
|
|
|
|
outputs:
|
|
deploy_stdout:
|
|
description: Deployment reference, used to trigger puppet apply on changes
|
|
value: {get_attr: [RHELRegistrationDeployment, deploy_stdout]}
|
|
|