6a6872f390
Background: extraconfig/pre_deploy/rhel-registration interface has been maintained for some time now but it's missing some features and the code overlaps with ongoing efforts to convert everything to Ansible. Plan: Consume ansible-role-redhat-subscription from TripleO, so all the logics goes into the Ansible role, and not in TripleO anymore. The single parameter exposed to TripleO is RhsmVars and any Ansible parameter can be given to make the role working. The parameter can be overriden per roles, so we can think at specific cases were some Director roles would have specific RHSM configs. Once we have feature parity between what is done and what was here before, we'll deprecate the old interface. Testing: Because RHSM can't be tested on CentOS, this code was manually tested on RHEL against the public subscription portal. Also, we verified that generated Ansible playbooks were correct and called the role with the right parameters. Documentation: We'll work on documentation during the following weeks and explain how to switch from the previous interface to the new one, and also document new uses requested by our users. Change-Id: I8610e4f1f8478f2dcbe3afc319981df914ce1780
75 lines
2.1 KiB
YAML
75 lines
2.1 KiB
YAML
heat_template_version: queens
|
|
|
|
description: Configure Red Hat Subscription Management.
|
|
|
|
parameters:
|
|
RoleNetIpMap:
|
|
default: {}
|
|
type: json
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
RhsmVars:
|
|
default: {}
|
|
description: Hash of ansible-role-redhat-subscription variables
|
|
used to configure RHSM.
|
|
# The parameters contains sensible data like activation key or password.
|
|
hidden: true
|
|
tags:
|
|
- role_specific
|
|
type: json
|
|
|
|
resources:
|
|
# Merging role-specific parameters (RoleParameters) with the default parameters.
|
|
# RoleParameters will have the precedence over the default parameters.
|
|
RoleParametersValue:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
map_replace:
|
|
- map_replace:
|
|
- vars: RhsmVars
|
|
- values: {get_param: [RoleParameters]}
|
|
- values:
|
|
vars: {get_param: RhsmVars}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the RHSM service.
|
|
value:
|
|
service_name: rhsm
|
|
config_settings:
|
|
tripleo::rhsm::firewall_rules: {}
|
|
upgrade_tasks: []
|
|
step_config: ''
|
|
host_prep_tasks:
|
|
- name: Red Hat Subscription Management configuration
|
|
vars: {get_attr: [RoleParametersValue, value, vars]}
|
|
block:
|
|
- include_role:
|
|
name: redhat-subscription
|