summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Shubin <james@shubin.ca>2014-03-11 18:25:21 -0400
committerJames Shubin <james@shubin.ca>2014-03-16 22:39:08 -0400
commite367d108216a0b97c9fd201317fd2e6390845d66 (patch)
tree41020c941ec3a639a35011e1645b4a169d569d38
parente69ea498ff43b4a3b185f8746ef2d5a2094a0b69 (diff)
downloadpuppet-gluster-e367d108216a0b97c9fd201317fd2e6390845d66.tar.gz
puppet-gluster-e367d108216a0b97c9fd201317fd2e6390845d66.tar.xz
puppet-gluster-e367d108216a0b97c9fd201317fd2e6390845d66.zip
Plug in volume layout and setgroups into vagrant.
This makes it easier to test and try out these features!
-rw-r--r--vagrant/gluster/Vagrantfile20
-rw-r--r--vagrant/gluster/puppet/manifests/site.pp2
2 files changed, 22 insertions, 0 deletions
diff --git a/vagrant/gluster/Vagrantfile b/vagrant/gluster/Vagrantfile
index 0b1c641..00e58f7 100644
--- a/vagrant/gluster/Vagrantfile
+++ b/vagrant/gluster/Vagrantfile
@@ -63,6 +63,8 @@ version = '' # default gluster version (empty string means latest!)
firewall = false # default firewall enabled (FIXME: default to true when keepalived bug is fixed)
replica = 1 # default replica count
clients = 1 # default number of gluster clients to build
+layout = '' # default brick layout
+setgroup = '' # default setgroup value
cachier = false # default cachier usage
#
@@ -79,6 +81,8 @@ if File.exist?(f)
firewall = settings[:firewall]
replica = settings[:replica]
clients = settings[:clients]
+ layout = settings[:layout]
+ setgroup = settings[:setgroup]
cachier = settings[:cachier]
end
@@ -122,6 +126,18 @@ while skip < ARGV.length
clients = v.to_i # set gluster client count
+ elsif ARGV[skip].start_with?(arg='--gluster-layout=')
+ v = ARGV.delete_at(skip).dup
+ v.slice! arg
+
+ layout = v.to_s # set gluster brick layout
+
+ elsif ARGV[skip].start_with?(arg='--gluster-setgroup=')
+ v = ARGV.delete_at(skip).dup
+ v.slice! arg
+
+ setgroup = v.to_s # set gluster setgroup
+
elsif ARGV[skip].start_with?(arg='--gluster-cachier=')
v = ARGV.delete_at(skip).dup
v.slice! arg
@@ -145,6 +161,8 @@ settings = {
:firewall => firewall,
:replica => replica,
:clients => clients,
+ :layout => layout,
+ :setgroup => setgroup,
:cachier => cachier
}
File.open(f, 'w') do |file|
@@ -400,6 +418,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
puppet.facter = {
'vagrant' => '1',
'vagrant_gluster_replica' => replica.to_s,
+ 'vagrant_gluster_layout' => layout,
+ 'vagrant_gluster_setgroup' => setgroup,
'vagrant_gluster_vip' => vip_ip,
'vagrant_gluster_vip_fqdn' => "#{vip_hostname}.#{domain}",
'vagrant_gluster_firewall' => firewall ? 'true' : 'false',
diff --git a/vagrant/gluster/puppet/manifests/site.pp b/vagrant/gluster/puppet/manifests/site.pp
index 7e6d53d..6a7a7c4 100644
--- a/vagrant/gluster/puppet/manifests/site.pp
+++ b/vagrant/gluster/puppet/manifests/site.pp
@@ -53,9 +53,11 @@ node /^annex\d+$/ inherits default { # annex{1,2,..N}
class { '::gluster::simple':
volume => 'puppet',
replica => "${::vagrant_gluster_replica}",
+ layout => "${::vagrant_gluster_layout}",
vip => "${::vagrant_gluster_vip}", # from vagrant
version => "${::vagrant_gluster_version}",
vrrp => true,
+ setgroup => "${::vagrant_gluster_setgroup}",
shorewall => "${::vagrant_gluster_firewall}" ? {
'false' => false,
default => true,