From 0df577c6f0acc672b53d470e4cfedb1d7d9c53d1 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Mon, 15 Aug 2016 15:11:38 -0400 Subject: Add tripleo-packages composable service This creates a new service to help manage the puppet-tripleo class that enables and disables package installation features. NOTE: we can't move the upgrade setting into the new composable service yet due to coupling with the UpgradeDeployment resources. Change-Id: If35cf6a6f023e12ae8ebbc2d9929d244eb3ffa3a --- overcloud-resource-registry-puppet.yaml | 1 + overcloud.yaml | 5 +++++ puppet/ceph-storage.yaml | 6 ------ puppet/cinder-storage.yaml | 6 ------ puppet/compute.yaml | 6 ------ puppet/controller.yaml | 6 ------ puppet/manifests/overcloud_cephstorage.pp | 1 - puppet/manifests/overcloud_compute.pp | 1 - puppet/manifests/overcloud_controller.pp | 1 - puppet/manifests/overcloud_controller_pacemaker.pp | 1 - puppet/manifests/overcloud_object.pp | 1 - puppet/manifests/overcloud_volume.pp | 1 - puppet/services/tripleo-packages.yaml | 25 ++++++++++++++++++++++ puppet/swift-storage.yaml | 6 ------ 14 files changed, 31 insertions(+), 36 deletions(-) create mode 100644 puppet/services/tripleo-packages.yaml diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 14db6494..10d4b25d 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -211,6 +211,7 @@ resource_registry: OS::TripleO::Services::IronicApi: OS::Heat::None OS::TripleO::Services::IronicConductor: OS::Heat::None OS::TripleO::Services::NovaIronic: OS::Heat::None + OS::TripleO::Services::TripleoPackages: puppet/services/tripleo-packages.yaml parameter_defaults: EnablePackageInstall: false diff --git a/overcloud.yaml b/overcloud.yaml index 4e79349e..e8734851 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -170,6 +170,7 @@ parameters: - OS::TripleO::Services::IronicApi - OS::TripleO::Services::IronicConductor - OS::TripleO::Services::NovaIronic + - OS::TripleO::Services::TripleoPackages description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the Controllers. @@ -190,6 +191,7 @@ parameters: - OS::TripleO::Services::ComputeCeilometerAgent - OS::TripleO::Services::ComputeNeutronL3Agent - OS::TripleO::Services::ComputeNeutronMetadataAgent + - OS::TripleO::Services::TripleoPackages description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the Compute Nodes. @@ -212,6 +214,7 @@ parameters: - OS::TripleO::Services::Ntp - OS::TripleO::Services::Timezone - OS::TripleO::Services::Snmp + - OS::TripleO::Services::TripleoPackages description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the BlockStorage nodes. @@ -235,6 +238,7 @@ parameters: - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoPackages description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the ObjectStorage nodes. @@ -258,6 +262,7 @@ parameters: - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoPackages description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the CephStorage nodes. diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml index 659f2a67..de5a9c39 100644 --- a/puppet/ceph-storage.yaml +++ b/puppet/ceph-storage.yaml @@ -22,10 +22,6 @@ parameters: default: default constraints: - custom_constraint: nova.keypair - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation via Puppet - type: boolean ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -234,7 +230,6 @@ resources: config: {get_resource: CephStorageConfig} server: {get_resource: CephStorage} input_values: - enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} ceph_cluster_network: get_attr: @@ -286,7 +281,6 @@ resources: mapped_data: {get_param: ExtraConfig} ceph: mapped_data: - tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} ceph::profile::params::cluster_network: {get_input: ceph_cluster_network} ceph::profile::params::public_network: {get_input: ceph_public_network} diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml index 30609f3d..9bf00761 100644 --- a/puppet/cinder-storage.yaml +++ b/puppet/cinder-storage.yaml @@ -38,10 +38,6 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation via Puppet - type: boolean UpdateIdentifier: default: '' type: string @@ -250,7 +246,6 @@ resources: template: "NETWORK_uri" params: NETWORK: {get_param: [ServiceNetMap, CinderIscsiNetwork]} - enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} # Map heat metadata into hiera datafiles @@ -288,7 +283,6 @@ resources: mapped_data: # Cinder tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_ip_address: {get_input: cinder_iscsi_ip_address} - tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} diff --git a/puppet/compute.yaml b/puppet/compute.yaml index bd2eee18..c6dc94d6 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -57,10 +57,6 @@ parameters: NovaPublicIP: type: string default: '' # Has to be here because of the ignored empty value bug - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation via Puppet - type: boolean ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -297,7 +293,6 @@ resources: nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address} neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} - tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} NovaComputeDeployment: @@ -312,7 +307,6 @@ resources: nova_api_host: {get_param: NovaApiHost} nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]} neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} - enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} # Resource for site-specific injection of root certificate diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 801b99ba..c38057d9 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -254,10 +254,6 @@ parameters: MysqlVirtualIP: type: string default: '' - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation via Puppet - type: boolean ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -537,7 +533,6 @@ resources: control_virtual_interface: {get_param: ControlVirtualInterface} public_virtual_interface: {get_param: PublicVirtualInterface} swift_hash_suffix: {get_param: SwiftHashSuffix} - enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} @@ -782,7 +777,6 @@ resources: tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user} tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password} tripleo::haproxy::redis_password: {get_input: redis_password} - tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} # Hook for site-specific additional pre-deployment config, e.g extra hieradata diff --git a/puppet/manifests/overcloud_cephstorage.pp b/puppet/manifests/overcloud_cephstorage.pp index df83496f..39b7aca2 100644 --- a/puppet/manifests/overcloud_cephstorage.pp +++ b/puppet/manifests/overcloud_cephstorage.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index 19ec575a..b8f75c9c 100644 --- a/puppet/manifests/overcloud_compute.pp +++ b/puppet/manifests/overcloud_compute.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 30e7c8d9..6290cac3 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index a782207e..ea6130c2 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/manifests/overcloud_object.pp b/puppet/manifests/overcloud_object.pp index 18e90d1f..428ba0f2 100644 --- a/puppet/manifests/overcloud_object.pp +++ b/puppet/manifests/overcloud_object.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp index f6787719..821474dc 100644 --- a/puppet/manifests/overcloud_volume.pp +++ b/puppet/manifests/overcloud_volume.pp @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -include ::tripleo::packages include ::tripleo::firewall if hiera('step') >= 4 { diff --git a/puppet/services/tripleo-packages.yaml b/puppet/services/tripleo-packages.yaml new file mode 100644 index 00000000..b02a0a8e --- /dev/null +++ b/puppet/services/tripleo-packages.yaml @@ -0,0 +1,25 @@ +heat_template_version: 2016-04-08 + +description: > + TripleO Package installation settings + +parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation via Puppet + type: boolean + +outputs: + role_data: + description: Role data for the TripleO package settings + value: + service_name: tripleo_packages + config_settings: + tripleo::packages::enable_install: {get_param: EnablePackageInstall} + step_config: | + include ::tripleo::packages diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index e55199c2..dc28ee76 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -29,10 +29,6 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation via Puppet - type: boolean UpdateIdentifier: default: '' type: string @@ -270,7 +266,6 @@ resources: swift::storage::all::storage_local_net_ip: {get_input: swift_management_network} snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} - tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} @@ -286,7 +281,6 @@ resources: snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} swift_hash_suffix: {get_param: HashSuffix} - enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} -- cgit 1.2.3-korg