Add tripleo-packages composable service
authorDan Prince <dprince@redhat.com>
Mon, 15 Aug 2016 19:11:38 +0000 (15:11 -0400)
committerDan Prince <dprince@redhat.com>
Wed, 17 Aug 2016 12:25:37 +0000 (08:25 -0400)
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

14 files changed:
overcloud-resource-registry-puppet.yaml
overcloud.yaml
puppet/ceph-storage.yaml
puppet/cinder-storage.yaml
puppet/compute.yaml
puppet/controller.yaml
puppet/manifests/overcloud_cephstorage.pp
puppet/manifests/overcloud_compute.pp
puppet/manifests/overcloud_controller.pp
puppet/manifests/overcloud_controller_pacemaker.pp
puppet/manifests/overcloud_object.pp
puppet/manifests/overcloud_volume.pp
puppet/services/tripleo-packages.yaml [new file with mode: 0644]
puppet/swift-storage.yaml

index 14db649..10d4b25 100644 (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
index 4e79349..e873485 100644 (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.
index 659f2a6..de5a9c3 100644 (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}
index 30609f3..9bf0076 100644 (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}
index bd2eee1..c6dc94d 100644 (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
index 801b99b..c38057d 100644 (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
index df83496..39b7aca 100644 (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 {
index 19ec575..b8f75c9 100644 (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 {
index 30e7c8d..6290cac 100644 (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 {
index a782207..ea6130c 100644 (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 {
index 18e90d1..428ba0f 100644 (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 {
index f678771..821474d 100644 (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 {
diff --git a/puppet/services/tripleo-packages.yaml b/puppet/services/tripleo-packages.yaml
new file mode 100644 (file)
index 0000000..b02a0a8
--- /dev/null
@@ -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
index e55199c..dc28ee7 100644 (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]}]}