Skip to content

Commit 0c6d6bf

Browse files
Merge pull request #95 from jsuchome/no-cluster-member
Do not allow ceph-mon and ceph-osd deployment to cluster members.
2 parents ed2925f + c01b316 commit 0c6d6bf

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

crowbar_framework/app/models/ceph_service.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,11 @@ def create_proposal
120120

121121
osd_nodes = select_nodes_for_role(nodes, "ceph-osd", "storage")
122122
if osd_nodes.size < 2
123-
osd_nodes_controller = select_nodes_for_role(nodes, "ceph-osd", "controller")
124123
osd_nodes_all = select_nodes_for_role(nodes, "ceph-osd")
125124
# avoid controllers if possible (ceph should not be used with openstack roles)
126-
osd_nodes_no_controller = osd_nodes_all - osd_nodes_controller
125+
osd_nodes_no_controller = osd_nodes_all.reject do |n|
126+
n.intended_role == "controller" || n.roles.include?("pacemaker-cluster-member")
127+
end
127128
osd_nodes = [osd_nodes, osd_nodes_no_controller, osd_nodes_all].flatten.uniq(&:name)
128129
osd_nodes = osd_nodes.take(2)
129130
end
@@ -132,14 +133,14 @@ def create_proposal
132133

133134
if mon_nodes.size < 3
134135
mon_nodes_more = select_nodes_for_role(nodes, "ceph-mon").reject do |n|
135-
n.intended_role == "controller"
136+
n.intended_role == "controller" || n.roles.include?("pacemaker-cluster-member")
136137
end
137138
mon_nodes = [mon_nodes, mon_nodes_more].flatten.uniq(&:name)
138139
end
139140
mon_nodes = mon_nodes.take(mon_nodes.length > 2 ? 3 : 1)
140141

141142
mds_node = select_nodes_for_role(nodes, "ceph-mds").reject do |n|
142-
n.intended_role == "controller" or osd_nodes.include? n
143+
n.intended_role == "controller" or osd_nodes.include? n or n.roles.include?("pacemaker-cluster-member")
143144
end.first
144145
if mds_node.nil?
145146
mds_node = select_nodes_for_role(nodes, "ceph-mds", "controller").first

0 commit comments

Comments
 (0)