Add kernel service
authorEmilien Macchi <emilien@redhat.com>
Mon, 4 Jul 2016 19:04:18 +0000 (15:04 -0400)
committerEmilien Macchi <emilien@redhat.com>
Tue, 5 Jul 2016 12:20:56 +0000 (12:20 +0000)
Add a new service that will load and configure kernel modules.

Depends-On: If4f1047ff8c193a14b821d8b826f637872cf62bd
Change-Id: I8f771712595d0f4826858b855985f65d3621c3f1

overcloud-resource-registry-puppet.yaml
overcloud.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/kernel.yaml [new file with mode: 0644]

index 1ef3660..b4dc57a 100644 (file)
@@ -140,6 +140,7 @@ resource_registry:
   OS::TripleO::Services::HeatEngine: puppet/services/heat-engine.yaml
   OS::TripleO::Services::IronicApi: puppet/services/ironic-api.yaml
   OS::TripleO::Services::IronicConductor: puppet/services/ironic-conductor.yaml
+  OS::TripleO::Services::Kernel: puppet/services/kernel.yaml
   OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
   OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
   OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
index 46fbef6..7e0bf33 100644 (file)
@@ -504,6 +504,7 @@ parameters:
       - OS::TripleO::Services::CinderApi
       - OS::TripleO::Services::CinderScheduler
       - OS::TripleO::Services::CinderVolume
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Keystone
       - OS::TripleO::Services::GlanceApi
       - OS::TripleO::Services::GlanceRegistry
@@ -547,6 +548,7 @@ parameters:
       - OS::TripleO::Services::Snmp
       - OS::TripleO::Services::NovaCompute
       - OS::TripleO::Services::NovaLibvirt
+      - OS::TripleO::Services::Kernel
     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.
@@ -578,6 +580,7 @@ parameters:
   BlockStorageServices:
     default:
       - OS::TripleO::Services::CinderVolume
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::Timezone
     description: A list of service resources (configured in the Heat
@@ -610,6 +613,7 @@ parameters:
     default: {}
   ObjectStorageServices:
     default:
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::SwiftStorage
       - OS::TripleO::Services::Snmp
@@ -647,6 +651,7 @@ parameters:
   CephStorageServices:
     default:
       - OS::TripleO::Services::CephOSD
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::Timezone
     description: A list of service resources (configured in the Heat
index af6b096..152694d 100644 (file)
 include ::tripleo::packages
 include ::tripleo::firewall
 
-if hiera('step') >= 1 {
-
-  create_resources(kmod::load, hiera('kernel_modules'), {})
-  create_resources(sysctl::value, hiera('sysctl_settings'), {})
-  Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-
-}
-
 if hiera('step') >= 4 {
   hiera_include('ceph_classes')
 }
index b8e267f..b25d62f 100644 (file)
 include ::tripleo::packages
 include ::tripleo::firewall
 
-create_resources(kmod::load, hiera('kernel_modules'), { })
-create_resources(sysctl::value, hiera('sysctl_settings'), { })
-Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-
 if hiera('step') >= 4 {
 
   # When utilising images for deployment, we need to reset the iSCSI initiator name to make it unique
index 72c31a3..357e9bf 100644 (file)
@@ -18,14 +18,6 @@ include ::tripleo::firewall
 
 $enable_load_balancer = hiera('enable_load_balancer', true)
 
-if hiera('step') >= 1 {
-
-  create_resources(kmod::load, hiera('kernel_modules'), {})
-  create_resources(sysctl::value, hiera('sysctl_settings'), {})
-  Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-
-}
-
 if hiera('step') >= 2 {
 
   # MongoDB
index 7205002..25d07c4 100644 (file)
@@ -53,10 +53,6 @@ $non_pcmk_start = hiera('step') >= 5
 
 if hiera('step') >= 1 {
 
-  create_resources(kmod::load, hiera('kernel_modules'), {})
-  create_resources(sysctl::value, hiera('sysctl_settings'), {})
-  Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-
   $pacemaker_cluster_members = downcase(regsubst(hiera('controller_node_names'), ',', ' ', 'G'))
   $corosync_ipv6 = str2bool(hiera('corosync_ipv6', false))
   if $corosync_ipv6 {
index 418c56e..1f04c58 100644 (file)
 include ::tripleo::packages
 include ::tripleo::firewall
 
-if hiera('step') >= 1 {
-  create_resources(kmod::load, hiera('kernel_modules'), {})
-  create_resources(sysctl::value, hiera('sysctl_settings'), {})
-  Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-}
-
 if hiera('step') >= 4 {
   hiera_include('object_classes')
 }
index 7fc27d6..789f470 100644 (file)
 include ::tripleo::packages
 include ::tripleo::firewall
 
-if hiera('step') >= 1 {
-
-  create_resources(kmod::load, hiera('kernel_modules'), {})
-  create_resources(sysctl::value, hiera('sysctl_settings'), {})
-  Exec <| tag == 'kmod::load' |>  -> Sysctl <| |>
-
-}
-
 if hiera('step') >= 4 {
 
   include ::cinder
diff --git a/puppet/services/kernel.yaml b/puppet/services/kernel.yaml
new file mode 100644 (file)
index 0000000..b429c5e
--- /dev/null
@@ -0,0 +1,18 @@
+heat_template_version: 2016-04-08
+
+description: >
+  Load kernel modules with kmod and configure kernel options with sysctl.
+
+parameters:
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+
+outputs:
+  role_data:
+    description: Role data for the Kernel modules
+    value:
+      step_config: |
+        include ::tripleo::profile::base::kernel