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)
 | 
					    db.update_node_state(config, cspec_cluster, cspec_hostname, state)
 | 
				
			||||||
    node = db.get_node(config, cspec_cluster, name=cspec_hostname)
 | 
					    node = db.get_node(config, cspec_cluster, name=cspec_hostname)
 | 
				
			||||||
    logger.debug(node)
 | 
					    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)
 | 
					        cspec = git.load_cspec_yaml(config)
 | 
				
			||||||
        is_in_bootstrap_map = True if data["macaddr"] in cspec["bootstrap"] else False
 | 
					        is_in_bootstrap_map = True if data["macaddr"] in cspec["bootstrap"] else False
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            if is_in_bootstrap_map
 | 
					            if is_in_bootstrap_map:
 | 
				
			||||||
                cspec_cluster = cspec["bootstrap"][data["macaddr"]]["node"]["cluster"]
 | 
					                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
 | 
					                is_registered = True if data["macaddr"] in [x.bmc_macaddr for x in db.get_nodes_in_cluster(config, cspec_cluster)] else False
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                raise Exception()
 | 
					                is_registered = False
 | 
				
			||||||
        except Exception:
 | 
					        except Exception:
 | 
				
			||||||
            is_registered = False
 | 
					            is_registered = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -154,9 +154,7 @@ def host_checkin(config, data):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            hooks.run_hooks(config, cspec, cluster, ready_nodes)
 | 
					            hooks.run_hooks(config, cspec, cluster, ready_nodes)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            target_state = "completed"
 | 
					            host.set_completed(config, cspec, cluster)
 | 
				
			||||||
            for node in all_nodes:
 | 
					 | 
				
			||||||
                host.set_boot_state(config, cspec, data, target_state)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Hosts will now power down ready for real activation in production
 | 
					            # Hosts will now power down ready for real activation in production
 | 
				
			||||||
            sleep(60)
 | 
					            sleep(60)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user