From 24ba5d1b95c4466cb1d2f25574f26ec6d20b5f6e Mon Sep 17 00:00:00 2001 From: AlexandreNo Date: Tue, 14 Oct 2014 17:17:11 +0200 Subject: [PATCH] Ensure consistency of monitors cluster. --- manifests/add_mon.pp | 18 ++++++++++++++++++ manifests/conf/mon.pp | 6 ++++++ manifests/mon.pp | 5 +++++ 3 files changed, 29 insertions(+) create mode 100644 manifests/add_mon.pp diff --git a/manifests/add_mon.pp b/manifests/add_mon.pp new file mode 100644 index 0000000..9c18fbf --- /dev/null +++ b/manifests/add_mon.pp @@ -0,0 +1,18 @@ +# Add new mon in a cluster +# +define ceph::add_mon ( + $mon_id, + $mon_addr, + $mon_port, + $local_mon_port, + $local_mon_addr, +) { + + # TODO improve with a unless statement + exec { "ceph-add-mon-${mon_id}": + command => "ceph -m ${local_mon_addr}:${local_mon_port} mon add ${mon_id} ${mon_addr}:${mon_port}", + #unless => something, + require => Exec['ceph-mon-mkfs'], + } + +} diff --git a/manifests/conf/mon.pp b/manifests/conf/mon.pp index db79cb5..cbfc79c 100644 --- a/manifests/conf/mon.pp +++ b/manifests/conf/mon.pp @@ -13,4 +13,10 @@ content => template('ceph/ceph.conf-mon.erb'), } + @@ceph::add_mon { "cluster-${name}": + mon_id => $name, + mon_addr => $mon_addr, + mon_port => $mon_port, + } + } diff --git a/manifests/mon.pp b/manifests/mon.pp index 6877a79..1720455 100644 --- a/manifests/mon.pp +++ b/manifests/mon.pp @@ -99,5 +99,10 @@ onlyif => "ceph --admin-daemon /var/run/ceph/ceph-mon.${name}.asok \ mon_status|egrep -v '\"state\": \"(leader|peon)\"'", } + + Ceph::Add_mon <<| |>> { + local_mon_port => $mon_port, + local_mon_addr => $mon_addr, + } }