File tree 1 file changed +11
-7
lines changed
crowbar_framework/app/models
1 file changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -39,10 +39,7 @@ def initialize(node, role = nil)
39
39
raise Crowbar ::Error ::NotFound . new
40
40
end
41
41
end
42
- unless node . run_list . run_list_items . include? ( "role[#{ @role . name } ]" )
43
- node . run_list . run_list_items << "role[#{ @role . name } ]"
44
- node . save
45
- end
42
+ Node . ensure_node_role ( node , @role . name )
46
43
# deep clone of @role.default_attributes, used when saving node
47
44
@attrs_last_saved = @role . default_attributes . deep_dup
48
45
@node = node
@@ -1705,13 +1702,20 @@ def create_new_role(new_name, machine)
1705
1702
role . default_attributes [ "crowbar" ] [ "network" ] = { }
1706
1703
role . save
1707
1704
1708
- # This run_list call is to add the crowbar tracking role to the node. (SAFE)
1709
- machine . run_list . run_list_items << "role[#{ role . name } ]"
1710
- machine . save
1705
+ Node . ensure_node_role ( machine , role . name )
1711
1706
1712
1707
role
1713
1708
end
1714
1709
1710
+ def ensure_node_role ( node , role_name = nil )
1711
+ role_name = make_role_name ( node . name ) if role_name . nil?
1712
+ return if node . run_list . run_list_items . include? ( "role[#{ role_name } ]" )
1713
+
1714
+ # This run_list call is to add the crowbar tracking role to the node. (SAFE)
1715
+ node . run_list . run_list_items << "role[#{ role_name } ]"
1716
+ node . save
1717
+ end
1718
+
1715
1719
def create_new ( new_name )
1716
1720
machine = Chef ::Node . new
1717
1721
machine . name "#{ new_name } "
You can’t perform that action at this time.
0 commit comments