Fix completion for all nodes
This commit is contained in:
		| @@ -84,3 +84,16 @@ def set_boot_state(config, cspec, data, state): | ||||
|     db.update_node_state(config, cspec_cluster, cspec_hostname, state) | ||||
|     node = db.get_node(config, cspec_cluster, name=cspec_hostname) | ||||
|     logger.debug(node) | ||||
|  | ||||
|  | ||||
| def set_completed(config, cspec, cluster): | ||||
|     nodes = list() | ||||
|     for bmc_macaddr in cspec["bootstrap"]: | ||||
|         if cspec["bootstrap"][bmc_macaddr]["node"]["cluster"] == cluster: | ||||
|             nodes.append(cspec["bootstrap"][bmc_macaddr]) | ||||
|     for node in nodes: | ||||
|         cspec_cluster = node["node"]["cluster"] | ||||
|         cspec_hostname = node["node"]["hostname"] | ||||
|         db.update_node_state(config, cspec_cluster, cspec_hostname, "completed") | ||||
|         node = db.get_node(config, cspec_cluster, name=cspec_hostname) | ||||
|         logger.debug(node) | ||||
|   | ||||
| @@ -51,11 +51,11 @@ def dnsmasq_checkin(config, data): | ||||
|         cspec = git.load_cspec_yaml(config) | ||||
|         is_in_bootstrap_map = True if data["macaddr"] in cspec["bootstrap"] else False | ||||
|         try: | ||||
|             if is_in_bootstrap_map | ||||
|             if is_in_bootstrap_map: | ||||
|                 cspec_cluster = cspec["bootstrap"][data["macaddr"]]["node"]["cluster"] | ||||
|                 is_registered = True if data["macaddr"] in [x.bmc_macaddr for x in db.get_nodes_in_cluster(config, cspec_cluster)] else False | ||||
|             else: | ||||
|                 raise Exception() | ||||
|                 is_registered = False | ||||
|         except Exception: | ||||
|             is_registered = False | ||||
|  | ||||
| @@ -154,9 +154,7 @@ def host_checkin(config, data): | ||||
|  | ||||
|             hooks.run_hooks(config, cspec, cluster, ready_nodes) | ||||
|  | ||||
|             target_state = "completed" | ||||
|             for node in all_nodes: | ||||
|                 host.set_boot_state(config, cspec, data, target_state) | ||||
|             host.set_completed(config, cspec, cluster) | ||||
|  | ||||
|             # Hosts will now power down ready for real activation in production | ||||
|             sleep(60) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user