]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-cookbooks.git/commitdiff
keep track of which disks have been prepared (crowbar)
authorGreg Farnum <greg@inktank.com>
Wed, 8 Aug 2012 16:45:37 +0000 (09:45 -0700)
committerGreg Farnum <greg@inktank.com>
Tue, 14 Aug 2012 16:55:55 +0000 (09:55 -0700)
This way we can only prepare disks which aren't
already set up.

recipes/bootstrap_osd.rb

index c578329b597d9c977cf1cccf22df2e233a421ec5..ec1e3e34be29e8e41c60d73bee0a25d8c4db249b 100644 (file)
@@ -45,7 +45,12 @@ else
         do_trigger = false
         node["crowbar"]["disks"].each do |disk, data|
 
-          if node["crowbar"]["disks"][disk]["usage"] == "Storage"
+          already_prepared = false
+          if not node["crowbar_wall"].nil? and not node["crowbar_wall"]["ceph"].nil? and not node["crowbar_wall"]["ceph"][disk].nil? and not node["crowbar_wall"]["ceph"][disk]["prepared"].nil?
+            already_prepared = true unless node["crowbar_wall"]["ceph"][disk]["prepared"] == false
+          end
+
+          if node["crowbar"]["disks"][disk]["usage"] == "Storage" and not already_prepared
             puts "Disk: #{disk} should be used for ceph"
 
             system 'ceph-disk-prepare', \
@@ -54,7 +59,9 @@ else
 
             do_trigger = true
 
-            node["crowbar"]["disks"][disk]["usage"] = "ceph-osd"
+            node["crowbar_wall"]["ceph"] = {} unless node["crowbar_wall"]["ceph"]
+            node["crowbar_wall"]["ceph"][disk] = {} unless node["crowbar_wall"]["ceph"][disk]
+            node["crowbar_wall"]["ceph"][disk]["prepared"] = true
             node.save
           end
         end