equal spread or VCPU oversubscription.
"""
+
import simplejson
import sys
nodes = data["nodes"]
request = data["request"]
req_type = request["type"]
+ offline_nodes = [name for name in nodes if nodes[name]["offline"]]
+ drained_nodes = [name for name in nodes if nodes[name]["offline"]]
if req_type == "allocate":
- forbidden_nodes = []
+ forbidden_nodes = offline_nodes + drained_nodes
inst_data = request
elif req_type == "relocate":
idict = data["instances"][request["name"]]
- forbidden_nodes = idict["nodes"]
+ forbidden_nodes = idict["nodes"] + offline_nodes + drained_nodes
inst_data = idict
inst_data["disk_space_total"] = request["disk_space_total"]
else:
result_nodes.append(new_selection)
result = {
- "success": True,
- "info": "Allocation successful",
- "nodes": result_nodes,
- }
+ "success": True,
+ "info": "Allocation successful",
+ "nodes": result_nodes,
+ }
print simplejson.dumps(result, indent=2)
return 0
+
if __name__ == "__main__":
sys.exit(main())