Make uncloud host running
This commit is contained in:
		
					parent
					
						
							
								9662e02eb7
							
						
					
				
			
			
				commit
				
					
						e775570884
					
				
			
		
					 2 changed files with 19 additions and 5 deletions
				
			
		| 
						 | 
					@ -590,11 +590,10 @@ def main(debug=False, port=None):
 | 
				
			||||||
    #         json.dumps(data),
 | 
					    #         json.dumps(data),
 | 
				
			||||||
    #     )
 | 
					    #     )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if port:
 | 
					 | 
				
			||||||
        app_port = port
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        app.run(host="::", debug=False)
 | 
					        app.run(host="::",
 | 
				
			||||||
 | 
					                port=port,
 | 
				
			||||||
 | 
					                debug=debug)
 | 
				
			||||||
    except OSError as e:
 | 
					    except OSError as e:
 | 
				
			||||||
        raise UncloudException("Failed to start Flask: {}".format(e))
 | 
					        raise UncloudException("Failed to start Flask: {}".format(e))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
import argparse
 | 
					import argparse
 | 
				
			||||||
import multiprocessing as mp
 | 
					import multiprocessing as mp
 | 
				
			||||||
import time
 | 
					import time
 | 
				
			||||||
 | 
					from uuid import uuid4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from uncloud.common.request import RequestEntry, RequestType
 | 
					from uncloud.common.request import RequestEntry, RequestType
 | 
				
			||||||
from uncloud.shared import shared
 | 
					from uncloud.shared import shared
 | 
				
			||||||
| 
						 | 
					@ -42,7 +43,21 @@ def maintenance(host):
 | 
				
			||||||
def main(hostname):
 | 
					def main(hostname):
 | 
				
			||||||
    host_pool = shared.host_pool
 | 
					    host_pool = shared.host_pool
 | 
				
			||||||
    host = next(filter(lambda h: h.hostname == hostname, host_pool.hosts), None)
 | 
					    host = next(filter(lambda h: h.hostname == hostname, host_pool.hosts), None)
 | 
				
			||||||
    assert host is not None, "No such host with name = {}".format(hostname)
 | 
					
 | 
				
			||||||
 | 
					    # Does not yet exist, create it
 | 
				
			||||||
 | 
					    if not host:
 | 
				
			||||||
 | 
					        host_key = join_path(
 | 
				
			||||||
 | 
					            settings["etcd"]["host_prefix"], uuid4().hex
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        host_entry = {
 | 
				
			||||||
 | 
					            "specs": "",
 | 
				
			||||||
 | 
					            "hostname": hostname,
 | 
				
			||||||
 | 
					            "status": "DEAD",
 | 
				
			||||||
 | 
					            "last_heartbeat": "",
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        shared.etcd_client.put(
 | 
				
			||||||
 | 
					            host_key, host_entry, value_in_json=True
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        heartbeat_updating_process = mp.Process(target=update_heartbeat, args=(hostname,))
 | 
					        heartbeat_updating_process = mp.Process(target=update_heartbeat, args=(hostname,))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue