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
This commit is contained in:
Dan Prince 2016-08-15 15:11:38 -04:00
parent 0b2829480a
commit 0df577c6f0
14 changed files with 31 additions and 36 deletions

View File

@ -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

View File

@ -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.

View File

@ -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}

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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

View File

@ -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]}]}