diff --git a/environments/hyperconverged-ceph.yaml b/environments/hyperconverged-ceph.yaml index c55f9dac06..9b8726d49e 100644 --- a/environments/hyperconverged-ceph.yaml +++ b/environments/hyperconverged-ceph.yaml @@ -54,4 +54,5 @@ parameter_defaults: - OS::TripleO::Services::OVNController - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::Rhsm diff --git a/environments/rhsm.yaml b/environments/rhsm.yaml new file mode 100644 index 0000000000..6181bf2a8a --- /dev/null +++ b/environments/rhsm.yaml @@ -0,0 +1,35 @@ +# A Heat environment file that enables RHSM. + +resource_registry: + OS::TripleO::Services::Rhsm: ../extraconfig/services/rhsm.yaml + +parameter_defaults: +# RhsmVars: +# rhsub_repos: +# - rhel-7-server-rpms +# - rhel-7-server-extras-rpms +# - rhel-7-server-rh-common-rpms +# - rhel-ha-for-rhel-7-server-rpms +# - rhel-7-server-openstack-13-rpms +# rhn_activation_key: 'secrete-key' + + +# In some cases, you want to configure specific repos on some roles. +# Each role can have its own RHSM configuration. +# Example: +# ComputeHCIParameters: +# RhsmVars: +# rhsub_repos: +# - rhel-7-server-rpms +# - rhel-7-server-extras-rpms +# - rhel-7-server-rh-common-rpms +# - rhel-ha-for-rhel-7-server-rpms +# - rhel-7-server-openstack-13-rpms +# - rhel-7-server-rhceph-1.3-osd-rpms +# rhn_activation_key: 'anothersecrete-key' +# +# More about composable roles: +# https://docs.openstack.org/tripleo-docs/latest/install/advanced_deployment/role_specific_parameters.html +# +# More about ansible-role-redhat-subscription variables: +# https://github.com/openstack/ansible-role-redhat-subscription diff --git a/extraconfig/services/rhsm.yaml b/extraconfig/services/rhsm.yaml new file mode 100644 index 0000000000..ff9012fd11 --- /dev/null +++ b/extraconfig/services/rhsm.yaml @@ -0,0 +1,74 @@ +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 diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index a8a8be6a9d..b19c42830e 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -238,6 +238,7 @@ resource_registry: # Services that are disabled by default (use relevant environment files): OS::TripleO::Services::Fluentd: OS::Heat::None OS::TripleO::Services::Ipsec: OS::Heat::None + OS::TripleO::Services::Rhsm: OS::Heat::None OS::TripleO::Services::Collectd: OS::Heat::None OS::TripleO::LoggingConfiguration: puppet/services/logging/fluentd-config.yaml OS::TripleO::Services::ManilaApi: OS::Heat::None diff --git a/releasenotes/notes/rhsm-service-fbec46930264b355.yaml b/releasenotes/notes/rhsm-service-fbec46930264b355.yaml new file mode 100644 index 0000000000..09b9298857 --- /dev/null +++ b/releasenotes/notes/rhsm-service-fbec46930264b355.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Introduce a new service to configure RHSM with Ansible, + by calling ansible-role-redhat-subscription in host_prep_tasks. diff --git a/roles/BlockStorage.yaml b/roles/BlockStorage.yaml index ea6dbcfa2e..90fa438eb6 100644 --- a/roles/BlockStorage.yaml +++ b/roles/BlockStorage.yaml @@ -24,6 +24,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/CephAll.yaml b/roles/CephAll.yaml index 91a8a93ce2..df4c589937 100644 --- a/roles/CephAll.yaml +++ b/roles/CephAll.yaml @@ -28,6 +28,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/CephFile.yaml b/roles/CephFile.yaml index 533cd39c0d..8ee56d7343 100644 --- a/roles/CephFile.yaml +++ b/roles/CephFile.yaml @@ -24,6 +24,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/CephObject.yaml b/roles/CephObject.yaml index fd0fbdd7ef..3eea041b04 100644 --- a/roles/CephObject.yaml +++ b/roles/CephObject.yaml @@ -24,6 +24,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/CephStorage.yaml b/roles/CephStorage.yaml index adc9084714..a079feb06e 100644 --- a/roles/CephStorage.yaml +++ b/roles/CephStorage.yaml @@ -21,6 +21,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/Compute.yaml b/roles/Compute.yaml index 2a94ee7031..354e803952 100644 --- a/roles/Compute.yaml +++ b/roles/Compute.yaml @@ -48,6 +48,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/ComputeAlt.yaml b/roles/ComputeAlt.yaml index a901347fcd..60684b3380 100644 --- a/roles/ComputeAlt.yaml +++ b/roles/ComputeAlt.yaml @@ -36,6 +36,7 @@ - OS::TripleO::Services::NovaMigrationTargetAlt - OS::TripleO::Services::Ntp - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClientAlt - OS::TripleO::Services::SkydiveAgent diff --git a/roles/ComputeHCI.yaml b/roles/ComputeHCI.yaml index 300e9b28af..4333e555eb 100644 --- a/roles/ComputeHCI.yaml +++ b/roles/ComputeHCI.yaml @@ -39,6 +39,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/ComputeLiquidio.yaml b/roles/ComputeLiquidio.yaml index c4ee043381..7ad505202b 100644 --- a/roles/ComputeLiquidio.yaml +++ b/roles/ComputeLiquidio.yaml @@ -33,6 +33,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::LiquidioCompute - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Securetty - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd diff --git a/roles/ComputeOvsDpdk.yaml b/roles/ComputeOvsDpdk.yaml index 001224e4b8..b247addec2 100644 --- a/roles/ComputeOvsDpdk.yaml +++ b/roles/ComputeOvsDpdk.yaml @@ -37,6 +37,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/ComputeSriov.yaml b/roles/ComputeSriov.yaml index a4258095f7..9e8c115b6f 100644 --- a/roles/ComputeSriov.yaml +++ b/roles/ComputeSriov.yaml @@ -40,6 +40,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 734f6a1a70..f2b0616198 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -131,6 +131,7 @@ - OS::TripleO::Services::PankoApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index 7da839d5a2..b5bf3f50dc 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -93,6 +93,7 @@ - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::PankoApi - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index 2d25e803ec..64498c2b2b 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -126,6 +126,7 @@ - OS::TripleO::Services::PankoApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index de27b05558..df74da979c 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -113,6 +113,7 @@ - OS::TripleO::Services::PankoApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index f49b11b518..5b4a46949e 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -104,6 +104,7 @@ - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::PankoApi - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine diff --git a/roles/Database.yaml b/roles/Database.yaml index a5384474a1..fdd0a4d9d3 100644 --- a/roles/Database.yaml +++ b/roles/Database.yaml @@ -23,6 +23,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp diff --git a/roles/HciCephAll.yaml b/roles/HciCephAll.yaml index ebcbd94834..f2fc602c2c 100644 --- a/roles/HciCephAll.yaml +++ b/roles/HciCephAll.yaml @@ -45,6 +45,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/HciCephFile.yaml b/roles/HciCephFile.yaml index b0113341e2..efe75e6b86 100644 --- a/roles/HciCephFile.yaml +++ b/roles/HciCephFile.yaml @@ -41,6 +41,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/HciCephMon.yaml b/roles/HciCephMon.yaml index 806783ba56..3c9f0446ec 100644 --- a/roles/HciCephMon.yaml +++ b/roles/HciCephMon.yaml @@ -42,6 +42,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/HciCephObject.yaml b/roles/HciCephObject.yaml index 3795cf0393..4a98f650ff 100644 --- a/roles/HciCephObject.yaml +++ b/roles/HciCephObject.yaml @@ -41,6 +41,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/IronicConductor.yaml b/roles/IronicConductor.yaml index 83b6580eaf..dfc1f41f13 100644 --- a/roles/IronicConductor.yaml +++ b/roles/IronicConductor.yaml @@ -20,6 +20,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone diff --git a/roles/Messaging.yaml b/roles/Messaging.yaml index 455fe5faa7..6949a59624 100644 --- a/roles/Messaging.yaml +++ b/roles/Messaging.yaml @@ -21,6 +21,7 @@ - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::RabbitMQ + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone diff --git a/roles/Networker.yaml b/roles/Networker.yaml index fa324f93fe..1ee192b12b 100644 --- a/roles/Networker.yaml +++ b/roles/Networker.yaml @@ -31,6 +31,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::Snmp diff --git a/roles/Novacontrol.yaml b/roles/Novacontrol.yaml index c39dd20f3a..5b4119eaac 100644 --- a/roles/Novacontrol.yaml +++ b/roles/Novacontrol.yaml @@ -30,6 +30,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent diff --git a/roles/ObjectStorage.yaml b/roles/ObjectStorage.yaml index a515018442..41d9e602ef 100644 --- a/roles/ObjectStorage.yaml +++ b/roles/ObjectStorage.yaml @@ -29,6 +29,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml index ddd864bc81..973be1e751 100644 --- a/roles/Telemetry.yaml +++ b/roles/Telemetry.yaml @@ -29,6 +29,7 @@ - OS::TripleO::Services::PankoApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml index 19b8a9bc9b..36f4d97112 100644 --- a/roles/Undercloud.yaml +++ b/roles/Undercloud.yaml @@ -46,6 +46,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::RabbitMQ + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::SwiftStorage diff --git a/roles/UndercloudLight.yaml b/roles/UndercloudLight.yaml index 80468c706e..0c8a3560b9 100644 --- a/roles/UndercloudLight.yaml +++ b/roles/UndercloudLight.yaml @@ -31,6 +31,7 @@ - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronServer - OS::TripleO::Services::RabbitMQ + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::SwiftStorage diff --git a/roles_data.yaml b/roles_data.yaml index 329e77f77f..9e5f1cfa8c 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -134,6 +134,7 @@ - OS::TripleO::Services::PankoApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine @@ -204,6 +205,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient @@ -242,6 +244,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient @@ -282,6 +285,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient @@ -316,6 +320,7 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient diff --git a/roles_data_undercloud.yaml b/roles_data_undercloud.yaml index f068d9ab9c..058e7ca64c 100644 --- a/roles_data_undercloud.yaml +++ b/roles_data_undercloud.yaml @@ -49,6 +49,7 @@ - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::RabbitMQ + - OS::TripleO::Services::Rhsm - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::SwiftStorage