Puppet / Compute: allow to run Ephemeral only storage with RBD
authorEmilien Macchi <emilien@redhat.com>
Wed, 15 Jul 2015 17:30:18 +0000 (13:30 -0400)
committerEmilien Macchi <emilien@redhat.com>
Tue, 13 Oct 2015 02:29:01 +0000 (22:29 -0400)
This patch allows the case where we're not running Ceph to host Persistent
storage (volumes) but just to host Ephemeral storage (VMs).

Before we were only allowing Ephemeral storage on Ceph when also
Persistent storage was using Ceph.

Change-Id: I03b775326e4424de413452f4453d4d88de0083bc

os-apply-config/compute.yaml
overcloud-without-mergepy.yaml
puppet/compute.yaml
puppet/manifests/overcloud_compute.pp

index 88d4cb2..ab8f846 100644 (file)
@@ -29,6 +29,10 @@ parameters:
     default: false
     description: Whether to enable or not the NFS backend for Cinder
     type: boolean
+  CinderEnableRbdBackend:
+    default: false
+    description: Whether to enable or not the Rbd backend for Cinder
+    type: boolean
   Debug:
     default: ''
     description: Set to True to enable debugging on all services.
index 654c242..cb47843 100644 (file)
@@ -58,6 +58,10 @@ parameters:
     default: true
     description: Whether to enable or not the Iscsi backend for Cinder
     type: boolean
+  CinderEnableRbdBackend:
+    default: false
+    description: Whether to enable or not the Rbd backend for Cinder
+    type: boolean
   CloudName:
     default: ''
     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
@@ -269,10 +273,6 @@ parameters:
     description: The keystone auth secret.
     type: string
     hidden: true
-  CinderEnableRbdBackend:
-    default: false
-    description: Whether to enable or not the Rbd backend for Cinder
-    type: boolean
   CinderLVMLoopDeviceSize:
     default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
@@ -876,6 +876,7 @@ resources:
           CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
           CeilometerPassword: {get_param: CeilometerPassword}
           CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
+          CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
           Debug: {get_param: Debug}
           ExtraConfig: {get_param: ExtraConfig}
           Flavor: {get_param: OvercloudComputeFlavor}
index bdee93d..32cb0e2 100644 (file)
@@ -29,6 +29,10 @@ parameters:
     default: false
     description: Whether to enable or not the NFS backend for Cinder
     type: boolean
+  CinderEnableRbdBackend:
+    default: false
+    description: Whether to enable or not the Rbd backend for Cinder
+    type: boolean
   Debug:
     default: ''
     description: Set to True to enable debugging on all services.
@@ -384,6 +388,7 @@ resources:
                 nova_api_host: {get_input: nova_api_host}
                 nova::compute::vncproxy_host: {get_input: nova_public_ip}
                 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
+                rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
                 nova_password: {get_input: nova_password}
                 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
                 ceilometer::debug: {get_input: debug}
@@ -447,6 +452,7 @@ resources:
         nova_api_host: {get_param: NovaApiHost}
         nova_password: {get_param: NovaPassword}
         nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
+        cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
         nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
index a0ef701..2150bab 100644 (file)
@@ -43,8 +43,9 @@ nova_config {
   'DEFAULT/linuxnet_interface_driver': value => 'nova.network.linux_net.LinuxOVSInterfaceDriver';
 }
 
-$nova_enable_rbd_backend = hiera('nova::compute::rbd::ephemeral_storage', false)
-if $nova_enable_rbd_backend {
+$rbd_ephemeral_storage = hiera('nova::compute::rbd::ephemeral_storage', false)
+$rbd_persistent_storage = hiera('rbd_persistent_storage', false)
+if $rbd_ephemeral_storage or $rbd_persistent_storage {
   include ::ceph::profile::client
 
   $client_keys = hiera('ceph::profile::params::client_keys')