diff options
author | Dan Prince <dprince@redhat.com> | 2015-04-10 18:52:14 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2015-04-21 09:14:02 -0400 |
commit | bf466bcd5189495be9783366440dbe2c3db1ef3d (patch) | |
tree | 45c72a7f0129e834bd85b4752d7812ee5120150b /puppet | |
parent | 5513b5e61c3c26b883d1ab7a9b356bb01d881101 (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.yaml | 6 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 5 |
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 { |