summaryrefslogtreecommitdiffstats
path: root/puppet/hieradata
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-01-08 10:10:41 -0500
committerDan Prince <dprince@redhat.com>2015-01-27 09:07:19 -0500
commit65d64b6a52366f36955e5e48a29f4ef0ca2ff973 (patch)
tree0059d33a652b588da7d5a9efa82120890ac2b375 /puppet/hieradata
parent2698bb457309108dbf5821fe3976a64509c692e5 (diff)
Puppet: Swift Overcloud Proxy/Storage support
This patch adds support for a Swift proxy and storage node on the controller. The implementation is fairly straightforward with the exception of building the ring. I've followed an upstream TripleO model here where we build the actual ring on each node (rather than build once and rsync). This works because Heat will always know all the devices ahead of time. In the future when we have Heat breakpoints it might be possible to consider optimizing this by generating the ring once and then rsyncing to all the nodes. The ringbuilder logic is executed as a seperate Heat software deployment. On the controller the ring is executed in between the base service (mysql/rabbit) and OpenStack service steps. This is to ensure the ring exists before the Swift proxy is started. Having the ringbuilder.pp logic as a separate software config should allow us to reuse it for the Storage node role. It should also be noted that swift.zones support is added here but we are missing an upstream Heat template change in order for it to be wired in properly. See: I0e0f5189da1575f2e1ed7fba4bbbe13a8fbf6221 Likewise we need to properly wire in SwiftRingBuild as well. See: I01311ec3ca265b151f8740bf7dc57cdf0cf0df6f The underlying puppet ringbuilder code is already wired to support this change when it lands. As is this works today and will provide a working Overcloud Swift-proxy/storage node config. Will follow this up with a related Swift storage node patch which should allow puppet to be used for configuration on the storage nodes as well... Change-Id: Id1272f796e2507a7357309e8cd6a51ad9e0160af
Diffstat (limited to 'puppet/hieradata')
-rw-r--r--puppet/hieradata/common.yaml1
-rw-r--r--puppet/hieradata/controller.yaml17
-rw-r--r--puppet/hieradata/object.yaml11
3 files changed, 29 insertions, 0 deletions
diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml
index 884be6af..76cde950 100644
--- a/puppet/hieradata/common.yaml
+++ b/puppet/hieradata/common.yaml
@@ -1 +1,2 @@
# Common Hiera data gets applied to all nodes
+ssh::server::storeconfigs_enabled: false
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 874d383b..99783a54 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -18,6 +18,23 @@ glance::registry::keystone_tenant: 'service'
neutron::server::auth_tenant: 'service'
neutron::agents::metadata::auth_tenant: 'service'
cinder::api::keystone_tenant: 'service'
+swift::proxy::authtoken::admin_tenant_name: 'service'
+
+#swift
+swift::proxy::pipeline:
+ - 'catch_errors'
+ - 'healthcheck'
+ - 'cache'
+ - 'ratelimit'
+ - 'tempurl'
+ - 'formpost'
+ - 'staticweb'
+ - 'authtoken'
+ - 'keystone'
+ - 'proxy-logging'
+ - 'proxy-server'
+
+swift::proxy::account_autocreate: true
# glance
glance::api::pipeline: 'keystone'
diff --git a/puppet/hieradata/object.yaml b/puppet/hieradata/object.yaml
new file mode 100644
index 00000000..759a7ba9
--- /dev/null
+++ b/puppet/hieradata/object.yaml
@@ -0,0 +1,11 @@
+# Hiera data for swift storage nodes
+swift::storage::all::object_pipeline:
+ - healthcheck
+ - recon
+ - object-server
+swift::storage::all::container_pipeline:
+ - healthcheck
+ - container-server
+swift::storage::all::account_pipeline:
+ - healthcheck
+ - account-server