commit
2875d725ad
@ -27,8 +27,7 @@ class DrydockConfig(object):
|
||||
|
||||
node_driver = {
|
||||
'maasdriver': {
|
||||
'api_key': 'UTBfxGL69XWjaffQek:NuKZSYGuBs6ZpYC6B9:byvXBgY8CsW5VQKxGdQjvJXtjXwr5G4U',
|
||||
'api_url': 'http://10.23.19.16:30773/MAAS/api/2.0/',
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -117,7 +117,8 @@ class DrydockRequestContext(object):
|
||||
self.log_level = 'ERROR'
|
||||
self.user = None
|
||||
self.roles = ['anyone']
|
||||
self.req_id = str(uuid.uuid4())
|
||||
self.request_id = str(uuid.uuid4())
|
||||
|
||||
self.external_marker = None
|
||||
|
||||
def set_log_level(self, level):
|
||||
|
@ -3,6 +3,7 @@
|
||||
This is the external facing API service to control the rest
|
||||
of Drydock and query Drydock-managed data.
|
||||
|
||||
|
||||
## v1.0 Endpoints ##
|
||||
|
||||
### /api/v1.0/tasks ###
|
||||
@ -11,6 +12,7 @@ POST - Create a new orchestration task and submit it for execution
|
||||
GET - Get status of a task
|
||||
DELETE - Cancel execution of a task if permitted
|
||||
|
||||
|
||||
### /api/v1.0/designs ###
|
||||
|
||||
POST - Create a new site design so design parts can be added
|
||||
|
@ -110,6 +110,7 @@ class MaasNodeDriver(NodeDriver):
|
||||
site_design = self.orchestrator.get_effective_site(design_id)
|
||||
|
||||
if task.action == hd_fields.OrchestratorAction.CreateNetworkTemplate:
|
||||
|
||||
self.orchestrator.task_field_update(task.get_id(), status=hd_fields.TaskStatus.Running)
|
||||
|
||||
subtask = self.orchestrator.create_task(task_model.DriverTask,
|
||||
@ -126,6 +127,7 @@ class MaasNodeDriver(NodeDriver):
|
||||
|
||||
# TODO Figure out coherent system for putting all the timeouts in
|
||||
# the config
|
||||
|
||||
runner.join(timeout=120)
|
||||
|
||||
if runner.is_alive():
|
||||
@ -133,6 +135,7 @@ class MaasNodeDriver(NodeDriver):
|
||||
'retry': False,
|
||||
'detail': 'MaaS Network creation timed-out'
|
||||
}
|
||||
|
||||
self.logger.warn("Thread for task %s timed out after 120s" % (subtask.get_id()))
|
||||
self.orchestrator.task_field_update(task.get_id(),
|
||||
status=hd_fields.TaskStatus.Complete,
|
||||
@ -140,12 +143,14 @@ class MaasNodeDriver(NodeDriver):
|
||||
result_detail=result)
|
||||
else:
|
||||
subtask = self.state_manager.get_task(subtask.get_id())
|
||||
|
||||
self.logger.info("Thread for task %s completed - result %s" % (subtask.get_id(), subtask.get_result()))
|
||||
self.orchestrator.task_field_update(task.get_id(),
|
||||
status=hd_fields.TaskStatus.Complete,
|
||||
result=subtask.get_result())
|
||||
|
||||
return
|
||||
|
||||
elif task.action == hd_fields.OrchestratorAction.IdentifyNode:
|
||||
self.orchestrator.task_field_update(task.get_id(),
|
||||
status=hd_fields.TaskStatus.Running)
|
||||
@ -219,6 +224,7 @@ class MaasTaskRunner(drivers.DriverTaskRunner):
|
||||
super(MaasTaskRunner, self).__init__(**kwargs)
|
||||
|
||||
self.driver_config = config
|
||||
|
||||
self.logger = logging.getLogger('drydock.nodedriver.maasdriver')
|
||||
|
||||
def execute_task(self):
|
||||
@ -441,7 +447,3 @@ class MaasTaskRunner(drivers.DriverTaskRunner):
|
||||
result=result,
|
||||
result_detail=result_detail)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -145,7 +145,6 @@ class ResourceBase(object):
|
||||
return i
|
||||
|
||||
|
||||
|
||||
class ResourceCollectionBase(object):
|
||||
"""
|
||||
A collection of MaaS resources.
|
||||
@ -169,6 +168,7 @@ class ResourceCollectionBase(object):
|
||||
Parse URL for placeholders and replace them with current
|
||||
instance values
|
||||
"""
|
||||
|
||||
pattern = '\{([a-z_]+)\}'
|
||||
regex = re.compile(pattern)
|
||||
start = 0
|
||||
|
@ -171,7 +171,6 @@ class PyghmiTaskRunner(drivers.DriverTaskRunner):
|
||||
raise errors.DriverError("Runner node does not match " \
|
||||
"task node scope")
|
||||
|
||||
|
||||
ipmi_network = self.node.oob_network
|
||||
ipmi_address = self.node.get_network_address(ipmi_network)
|
||||
|
||||
|
@ -69,9 +69,7 @@ class YamlIngester(IngesterPlugin):
|
||||
"""
|
||||
def parse_docs(self, yaml_string):
|
||||
models = []
|
||||
|
||||
self.logger.debug("yamlingester:parse_docs - Parsing YAML string \n%s" % (yaml_string))
|
||||
|
||||
try:
|
||||
parsed_data = yaml.load_all(yaml_string)
|
||||
except yaml.YAMLError as err:
|
||||
|
@ -33,7 +33,6 @@ class Orchestrator(object):
|
||||
self.enabled_drivers = {}
|
||||
|
||||
self.state_manager = state_manager
|
||||
|
||||
self.logger = logging.getLogger('drydock.orchestrator')
|
||||
|
||||
if enabled_drivers is not None:
|
||||
@ -173,7 +172,6 @@ class Orchestrator(object):
|
||||
elif task.action == hd_fields.OrchestratorAction.VerifyNode:
|
||||
self.task_field_update(task_id,
|
||||
status=hd_fields.TaskStatus.Running)
|
||||
|
||||
oob_driver = self.enabled_drivers['oob']
|
||||
|
||||
if oob_driver is None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user