Forcing get_node_name to continue searching for a node name if the returned list of nodes doesn't include this one.
There was a race condition where the kubelet was restarting and we were querying the api server for this node.
This commit is contained in:
		| @@ -979,14 +979,11 @@ def get_node_name(): | ||||
|     while time.time() < deadline: | ||||
|         try: | ||||
|             raw = check_output(cmd) | ||||
|             break | ||||
|         except CalledProcessError: | ||||
|             hookenv.log('Failed to get node name for node %s.' | ||||
|                         ' Will retry.' % (gethostname())) | ||||
|             time.sleep(1) | ||||
|     else: | ||||
|         msg = 'Failed to get node name for node %s' % gethostname() | ||||
|         raise GetNodeNameFailed(msg) | ||||
|             continue | ||||
|  | ||||
|         result = json.loads(raw.decode('utf-8')) | ||||
|         if 'items' in result: | ||||
| @@ -1004,6 +1001,8 @@ def get_node_name(): | ||||
|  | ||||
|                         # if we didn't match, just bail to the next node | ||||
|                         break | ||||
|         time.sleep(1) | ||||
|  | ||||
|     msg = 'Failed to get node name for node %s' % gethostname() | ||||
|     raise GetNodeNameFailed(msg) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Mike Wilson
					Mike Wilson