aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-04-10 18:52:14 -0400
committerDan Prince <dprince@redhat.com>2015-04-21 09:14:02 -0400
commitbf466bcd5189495be9783366440dbe2c3db1ef3d (patch)
tree45c72a7f0129e834bd85b4752d7812ee5120150b /puppet
parent5513b5e61c3c26b883d1ab7a9b356bb01d881101 (diff)
Add option to enable ceph storage on controller
This patch adds a new ControllerEnableCephStorage option which can be used to install and configure Ceph storage (OSD) on the controller node. The default is to have this disabled by default (this is probably a more production like setting). The motivation for this change is to help facilitate CI jobs which actually use Ceph. Right now we have an issue where once the Heat stack finishes Ceph is configured and ready, but Cinder volume (required by our CI devtest_overcloud.sh test) may or may not have had enough time to recognize the amount of storage on the remote Ceph storage nodes. Waiting another periodic cycle for Cinder volume to recognize the actual amount of storage on the remote OSD nodes would work but there isn't a good way to do this ATM. The right solution here is probably to implement Heat breakpoints in our CI. As we haven't quite landed that change, another option is to simply make the controller node also be a Ceph storage node. Since this runs as "step 2" within the controller it ensures that the OSD will be available and thus Cinder volume will register the correct amount of storage on startup. Enabling this feature also matches what we do with Swift storage on the Controller (although we should provide an option to actually disable this as well). Change-Id: Ic47d028591edbaab83a52d7f38283d7805b63042
Diffstat (limited to 'puppet')
-rw-r--r--puppet/controller-puppet.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp5
2 files changed, 11 insertions, 0 deletions
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index a23a1db3..e9b33e74 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -72,6 +72,10 @@ parameters:
description: If enabled services will be monitored by Pacemaker; it
will manage VIPs as well, in place of Keepalived.
type: boolean
+ EnableCephStorage:
+ default: false
+ description: Whether to deploy Ceph Storage (OSD) on the Controller
+ type: boolean
ExtraConfig:
default: {}
description: |
@@ -521,6 +525,7 @@ resources:
- ':5000/v2.0/'
enable_galera: {get_param: EnableGalera}
enable_pacemaker: {get_param: EnablePacemaker}
+ enable_ceph_storage: {get_param: EnableCephStorage}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_cluster_name:
@@ -732,6 +737,7 @@ resources:
# MySQL
admin_password: {get_input: admin_password}
enable_galera: {get_input: enable_galera}
+ enable_ceph_storage: {get_input: enable_ceph_storage}
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
mysql::server::root_password: {get_input: mysql_root_password}
mysql_cluster_name: {get_input: mysql_cluster_name}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 8a8c0eb8..caf9fcf5 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -206,6 +206,11 @@ if hiera('step') >= 2 {
include ::ceph::profile::mon
}
+ if str2bool(hiera('enable_ceph_storage', 'false')) {
+ include ::ceph::profile::client
+ include ::ceph::profile::osd
+ }
+
} #END STEP 2
if hiera('step') >= 3 {