Skip to content

Commit dfc7cd7

Browse files
committed
fixing bug on addWorkflow
1 parent 89e8d24 commit dfc7cd7

File tree

6 files changed

+20
-29
lines changed

6 files changed

+20
-29
lines changed

ManagementService/python/addWorkflow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def handle(value, sapi):
4141
wf["endpoints"] = []
4242
wf["gpu_usage"] = None
4343
if "gpu_usage" in workflow:
44-
wf["gpu_usage"] = workflow["gpu_usage"]
44+
wf["gpu_usage"] = str(workflow["gpu_usage"])
4545

4646
wf["id"] = hashlib.md5(str(uuid.uuid4()).encode()).hexdigest()
4747

deploy/helm/microfunctions/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ nginx:
141141
# Please use --set nginx.managementService to specify the FQDN that the service will get from your Knative setup
142142
# _helpers.tpl would default it to wf-mfn1-management.knix.example.com
143143
#managementService: wf-mfn1-management.knix.example.com
144+
managementService: wf-mfn-management.default.192.168.1.162.xip.io:30336
144145
frontendImagePath: "/microfn/frontend"
145146
frontendImageTag: "latest"
146147
imagePath: "/microfn/nginx"

mfn_sdk/mfn_sdk/mfnclient.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ def action(self,action,data=None):
266266
r.raise_for_status()
267267
log.debug("%s: %s <- %s", self.user, action, r.text[:256]+(r.text[256:] and '...'))
268268
resp = r.json()
269-
print(str(resp))
269+
#print(str(resp))
270270
if resp.get('status','') != 'success':
271271
if resp.get('has_error',False):
272272
raise Exception(f"MicroFunctions Error for action {action}: {resp['error_type']}")
@@ -450,7 +450,7 @@ def _get_state_names_and_resource(self, desired_state_type, wf_dict):
450450
return state_list
451451

452452

453-
def add_workflow(self,name,filename=None, gpu_usage=None):
453+
def add_workflow(self,name,filename=None, gpu_usage="None"):
454454
""" add a workflow
455455
456456
returns an existing workflow if the name exists, registers a new workflow name if it doesn't exist

mfn_sdk/mfn_sdk/workflow.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def modified(self):
104104
def status(self):
105105
data = self.client.action('getWorkflows',{'workflow':{'id':self.id}})
106106
self._status = data['workflow']['status']
107+
#self._status == "undeployed"
107108
if self._status == "deployed":
108109
self._endpoints = data['workflow']['endpoints']
109110
else:
@@ -141,7 +142,7 @@ def json(self):
141142
def json(self,json):
142143
if json != self.json:
143144
self._json = json
144-
print ("uploaded workflow JOSN"+ str( json))
145+
#print ("uploaded workflow JSON"+ str( json))
145146
self.client.action('uploadWorkflowJSON',{'workflow':{'id':self.id,'json':base64.b64encode(self._json.encode()).decode()}})
146147

147148

tests/asl_DLIB/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ def test_dlib(self):
3434

3535
testtuplelist =[(inp1, res1)]
3636

37-
test = MFNTest(test_name = "Dlib_Test", num_gpu = 1)
37+
test = MFNTest(test_name = "Dlib_Test", gpu_usage = "1")
3838
test.exec_tests(testtuplelist)
3939

tests/mfn_test_utils.py

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class MfnAppTextFormat():
4343
mfntestfailed = MfnAppTextFormat.STYLE_BOLD + MfnAppTextFormat.COLOR_RED + 'FAILED' + MfnAppTextFormat.END + MfnAppTextFormat.END
4444

4545
class MFNTest():
46-
def __init__(self, test_name=None, timeout=None, workflow_filename=None, new_user=False, delete_user=False, num_gpu=None):
46+
def __init__(self, test_name=None, timeout=None, workflow_filename=None, new_user=False, delete_user=False, gpu_usage=None):
4747

4848
self._settings = self._get_settings()
4949

@@ -84,17 +84,9 @@ def __init__(self, test_name=None, timeout=None, workflow_filename=None, new_use
8484
if timeout is not None:
8585
self._settings["timeout"] = timeout
8686

87-
"""
88-
else:
89-
#self._gpu_usage = None
90-
#self._workflow_description['num_gpu'] = self._settings["num_gpu"]
91-
#print("Workflow_description:" + str(self._workflow_description))
92-
93-
self.gpu_usage = 0 # hardcoded for now
94-
if num_gpu is not None:
95-
self._settings["num_gpu"] = num_gpu
96-
self._gpu_usage = self._settings["num_gpu"]
97-
"""
87+
if gpu_usage is not None:
88+
self._settings["gpu_usage"] = gpu_usage
89+
#self._gpu_usage = self._settings["num_gpu"]
9890

9991
self._log_clear_timestamp = int(time.time() * 1000.0 * 1000.0)
10092

@@ -105,7 +97,7 @@ def __init__(self, test_name=None, timeout=None, workflow_filename=None, new_use
10597
self._workflow_resources = []
10698

10799
self.upload_workflow()
108-
self.deploy_workflow()
100+
self.deploy_workflow() # gpu usage
109101

110102
def _get_json_file(self, filename):
111103
json_data = {}
@@ -127,7 +119,7 @@ def _get_settings(self):
127119

128120
# Defaults
129121
settings.setdefault("timeout", 60)
130-
settings.setdefault("num_gpu", 0)
122+
settings.setdefault("gpu_usage", "None")
131123

132124
return settings
133125

@@ -204,7 +196,7 @@ def _get_resource_info_map(self, workflow_description=None, resource_info_map=No
204196
resource_info["resource_req_filename"] = "requirements/" + resource_ref + "_requirements.txt"
205197
resource_info["resource_env_filename"] = "environment_variables/" + resource_ref + "_environment_variables.txt"
206198
resource_info_map[resource_ref] = resource_info
207-
resource_info_map[resource_ref]['num_gpu'] = self._settings['num_gpu']
199+
#resource_info_map[resource_ref]['num_gpu'] = self._settings['num_gpu']
208200
#resource_info_map['num_gpu'] = self._settings['num_gpu']
209201
#print("resource_info_map: " + json.dumps(resource_info_map))
210202

@@ -220,7 +212,7 @@ def _get_resource_info_map(self, workflow_description=None, resource_info_map=No
220212
resource_info["resource_req_filename"] = "requirements/" + resource_name + "_requirements.txt"
221213
resource_info["resource_env_filename"] = "environment_variables/" + resource_name + "_environment_variables.txt"
222214
resource_info_map[resource_name] = resource_info
223-
resource_info_map[resource_name]['num_gpu'] = self._settings['num_gpu']
215+
#resource_info_map[resource_name]['num_gpu'] = self._settings['num_gpu']
224216
#resource_info_map['num_gpu'] = self._settings['num_gpu']
225217
#print("resource_info_map: " + json.dumps(resource_info_map))
226218

@@ -318,16 +310,13 @@ def get_deployment_error(self):
318310

319311
def deploy_workflow(self):
320312
try:
321-
wf = self._client.add_workflow(self._workflow_name)
313+
gpu_usage=self._settings["gpu_usage"]
314+
wf = self._client.add_workflow(self._workflow_name, None, gpu_usage)
315+
#print ("retuned from add_workflow: " + str(wf))
322316
wf.json = json.dumps(self._workflow_description)
323-
#print (wf.json)
324-
#wf._use_gpu=self._settings["num_gpu"]
325-
wf._gpu_usage = "teststringgpu" # _use_gpu=self._settings["num_gpu"]
326-
wf.deploy(self._settings["timeout"]) #, num_gpu=self._settings['num_gpu'])
317+
wf.deploy(self._settings["timeout"])
327318
self._workflow = wf
328-
#print ("WF: " + str(wf._use_gpu))
329-
#print ("WF1: " + str(wf.gpu_usage))
330-
#wf.gpu_usage = "teststring"
319+
print ("transformed wf with gpu usage" + str(wf.gpu_usage))
331320
if self._workflow.status != "failed":
332321
print("MFN workflow " + self._workflow_name + " deployed.")
333322
else:

0 commit comments

Comments
 (0)