Comments (11)
Can yo try with python 3.6+?
from knix.
Can yo try with python 3.6+?
I have upgrade my python3 from 3.5.2 to 3.6.10 but using python 3.6 seems to lead new issues as follows. Are there other things need to be corrected? Thanks!
$ python3 --version
Python 3.6.10
$ make helloworld
cd helloworld; PYTHONPATH=../../mfn_sdk python3 -m unittest discover -v
test_helloworld (test.HelloWorldTest) ... ERROR
test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description ... ERROR
test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description ... ERROR
======================================================================
ERROR: test_helloworld (test.HelloWorldTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 55, in test_helloworld
test = MFNTest(test_name="HelloWorld")
File "../mfn_test_utils.py", line 47, in __init__
self._settings = self._get_settings()
File "../mfn_test_utils.py", line 107, in _get_settings
settings.update(self._get_json_file("../settings.json"))
File "../mfn_test_utils.py", line 101, in _get_json_file
json_data = json.load(json_file)
File "/usr/lib/python3.6/json/__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 11 column 17 (char 265)
======================================================================
ERROR: test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 38, in test_helloworld_asl
test = MFNTest(test_name="Hello World ASL", workflow_filename="helloworld-asl.json")
File "../mfn_test_utils.py", line 47, in __init__
self._settings = self._get_settings()
File "../mfn_test_utils.py", line 107, in _get_settings
settings.update(self._get_json_file("../settings.json"))
File "../mfn_test_utils.py", line 101, in _get_json_file
json_data = json.load(json_file)
File "/usr/lib/python3.6/json/__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 11 column 17 (char 265)
======================================================================
ERROR: test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 47, in test_helloworld_wfd
test = MFNTest(test_name="Hello World MFn", workflow_filename="helloworld-wfd.json")
File "../mfn_test_utils.py", line 47, in __init__
self._settings = self._get_settings()
File "../mfn_test_utils.py", line 107, in _get_settings
settings.update(self._get_json_file("../settings.json"))
File "../mfn_test_utils.py", line 101, in _get_json_file
json_data = json.load(json_file)
File "/usr/lib/python3.6/json/__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 11 column 17 (char 265)
----------------------------------------------------------------------
Ran 3 tests in 0.001s
FAILED (errors=3)
make: *** [helloworld] Error 1
from knix.
Can you double check the file tests/settings.json?
It should be a valid JSON and with the correct url and proxy settings. For the username, it will be automatically created the first time you run the tests.
from knix.
Please also join the KNIX Slack workspace. You can find the invitation towards the end of the README file.
from knix.
Can you double check the file tests/settings.json?
It should be a valid JSON and with the correct url and proxy settings. For the username, it will be automatically created the first time you run the tests.
'tests/settings.json' seems not a valid JSON file. Its contents are as follows.
$ cat settings.env
MFN_URL=https://<hostname>
MFN_USER=<email>
MFN_PASSWORD=<pass>
MFN_USERNAME=<name>
HTTP_PROXY=http://<proxyhost>:<proxyport>
HTTPS_PROXY=http://<proxyhost>:<proxyport>
$ cat settings.json
{
"mfn_url": "<http://host:port>",
"mfn_user": "<email>",
"mfn_password": "<password>",
"mfn_name": "<full name>",
"proxies":
{
"http": "http://<proxyhost>:<port>",
"https": "http://<proxyhost>:<port>"
},
"timeout": <seconds>
}
How should I fill this file? I don't have a mfn account right now. Should I apply for a new account?
I tried to write the url and a random username in 'settings.json' but got new errors in the follow.
$ cat settings.json
{
"mfn_url": "http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn",
"mfn_user": "Haoyu Li",
"mfn_password": "123456",
"mfn_name": "Haoyu Li",
"timeout": 10
}
$ make helloworld
cd helloworld; PYTHONPATH=../../mfn_sdk python3 -m unittest discover -v
test_helloworld (test.HelloWorldTest) ... User: Haoyu Li
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 57644), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 34762), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description ... User: Haoyu Li
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 57670), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 34788), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description ... User: Haoyu Li
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 57696), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 34814), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
======================================================================
ERROR: test_helloworld (test.HelloWorldTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 55, in test_helloworld
test = MFNTest(test_name="HelloWorld")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}")
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
======================================================================
ERROR: test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 38, in test_helloworld_asl
test = MFNTest(test_name="Hello World ASL", workflow_filename="helloworld-asl.json")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}")
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
======================================================================
ERROR: test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 47, in test_helloworld_wfd
test = MFNTest(test_name="Hello World MFn", workflow_filename="helloworld-wfd.json")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}")
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
----------------------------------------------------------------------
Ran 3 tests in 0.106s
FAILED (errors=3)
make: *** [helloworld] Error 1
from knix.
This is your own installation, so no need to apply for an account.
Can you supply a user <mfn_user> with an email address rather than a string with a spaces (i.e., "mfn_user": "Haoyu Li", -> "mfn_user": "user@domain")?
I am trying to reproduce the issue.
from knix.
I've also tried only filling the 'mfn_url' and 'timeout' fields. Errors in this case are as follows.
$ cat settings.json
{
"mfn_url": "http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn",
"mfn_user": "<email>",
"mfn_password": "<password>",
"mfn_name": "<full name>",
"proxies":
{
"http": "http://<proxyhost>:<port>",
"https": "http://<proxyhost>:<port>"
},
"timeout": 10
}
$ make helloworld
cd helloworld; PYTHONPATH=../../mfn_sdk python3 -m unittest discover -v
test_helloworld (test.HelloWorldTest) ... User: <email>
ERROR
test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description ... User: <email>
ERROR
test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description ... User: <email>
ERROR
======================================================================
ERROR: test_helloworld (test.HelloWorldTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 412, in send
conn = self.get_connection(request.url, proxies)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 305, in get_connection
proxy_url = parse_url(proxy)
File "/home/howie/.local/lib/python3.6/site-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: http://<proxyhost>:<port>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 55, in test_helloworld
test = MFNTest(test_name="HelloWorld")
File "../mfn_test_utils.py", line 57, in __init__
self._client = MfnClient()
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 158, in __init__
epr = self._s.get(self.weburl+"/app/endpoint.js")
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 414, in send
raise InvalidURL(e, request=request)
requests.exceptions.InvalidURL: Failed to parse: http://<proxyhost>:<port>
======================================================================
ERROR: test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 412, in send
conn = self.get_connection(request.url, proxies)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 305, in get_connection
proxy_url = parse_url(proxy)
File "/home/howie/.local/lib/python3.6/site-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: http://<proxyhost>:<port>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 38, in test_helloworld_asl
test = MFNTest(test_name="Hello World ASL", workflow_filename="helloworld-asl.json")
File "../mfn_test_utils.py", line 57, in __init__
self._client = MfnClient()
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 158, in __init__
epr = self._s.get(self.weburl+"/app/endpoint.js")
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 414, in send
raise InvalidURL(e, request=request)
requests.exceptions.InvalidURL: Failed to parse: http://<proxyhost>:<port>
======================================================================
ERROR: test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 412, in send
conn = self.get_connection(request.url, proxies)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 305, in get_connection
proxy_url = parse_url(proxy)
File "/home/howie/.local/lib/python3.6/site-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: http://<proxyhost>:<port>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 47, in test_helloworld_wfd
test = MFNTest(test_name="Hello World MFn", workflow_filename="helloworld-wfd.json")
File "../mfn_test_utils.py", line 57, in __init__
self._client = MfnClient()
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 158, in __init__
epr = self._s.get(self.weburl+"/app/endpoint.js")
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/howie/.local/lib/python3.6/site-packages/requests/adapters.py", line 414, in send
raise InvalidURL(e, request=request)
requests.exceptions.InvalidURL: Failed to parse: http://<proxyhost>:<port>
----------------------------------------------------------------------
Ran 3 tests in 0.004s
FAILED (errors=3)
make: *** [helloworld] Error 1
from knix.
{
"mfn_url": "http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn",
"mfn_user": "test@knix",
"mfn_password": "test",
"mfn_name": "Test",
"proxies":
{
},
"timeout": 30
}
Please use the above as your settings file and try again.
On another note, can you access that URL via a web browser?
from knix.
It seems not working.
$ cat settings.json
{
"mfn_url": "http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn",
"mfn_user": "test@knix",
"mfn_password": "test",
"mfn_name": "Test",
"proxies":
{
},
"timeout": 30
}
$ make helloworld [47/1944]
cd helloworld; PYTHONPATH=../../mfn_sdk python3 -m unittest discover -v
test_helloworld (test.HelloWorldTest) ... User: test@knix
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 58170), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 35288), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description ... User: test@knix
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 58210), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 35328), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description ... User: test@knix
Workflow folder: ./
ERROR
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 58248), raddr=('192.16
8.10.91', 80)>
outcome.errors.clear()
/usr/lib/python3.6/unittest/case.py:633: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.10.91', 35366), raddr=('192.16
8.10.91', 8080)>
outcome.errors.clear()
======================================================================
ERROR: test_helloworld (test.HelloWorldTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 55, in test_helloworld
test = MFNTest(test_name="HelloWorld")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}") [0/1944]
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
======================================================================
ERROR: test_helloworld_asl (test.HelloWorldTest)
creates and executes the hello world workflow from an ASL description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 38, in test_helloworld_asl
test = MFNTest(test_name="Hello World ASL", workflow_filename="helloworld-asl.json")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}")
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
======================================================================
ERROR: test_helloworld_wfd (test.HelloWorldTest)
creates and executes the hello world workflow from a SAND workflow description
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/howie/knix/tests/helloworld/test.py", line 47, in test_helloworld_wfd
test = MFNTest(test_name="Hello World MFn", workflow_filename="helloworld-wfd.json")
File "../mfn_test_utils.py", line 94, in __init__
self.upload_workflow()
File "../mfn_test_utils.py", line 268, in upload_workflow
self.undeploy_workflow()
File "../mfn_test_utils.py", line 301, in undeploy_workflow
existing_workflows = self._client.workflows
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 369, in workflows
data = self.action('getWorkflows')
File "/home/howie/knix/mfn_sdk/mfn_sdk/mfnclient.py", line 271, in action
raise Exception(f"MicroFunctions Error for action {action}: {resp['data']['message']}")
Exception: MicroFunctions Error for action getWorkflows: Couldn't retrieve workflows and their status: Couldn't retrieve workflow status; no such workflow.
----------------------------------------------------------------------
Ran 3 tests in 0.185s
FAILED (errors=3)
make: *** [helloworld] Error 1
Because I'm deploying kNIX on a remote server, I cannot open a browser on it. Therefore I used 'wget' to download the web page 'http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn' and its contents are:
$ wget http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn
--2020-05-22 14:59:45-- http://lhy-ubuntu.ipads-lab.se.sjtu.edu.cn/
Resolving lhy-ubuntu.ipads-lab.se.sjtu.edu.cn (lhy-ubuntu.ipads-lab.se.sjtu.edu.cn)... 192.168.10.91
Connecting to lhy-ubuntu.ipads-lab.se.sjtu.edu.cn (lhy-ubuntu.ipads-lab.se.sjtu.edu.cn)|192.168.10.91|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8973 (8.8K) [text/html]
Saving to: ‘index.html’
index.html 100%[==============================================================================================================>] 8.76K --.-KB/s in 0s
2020-05-22 14:59:45 (103 MB/s) - ‘index.html’ saved [8973/8973]
$ cat index.html
<!--
Copyright 2020 The KNIX Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html>
<html lang="en" ng-app="MfnWebConsole">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>KNIX MicroFunctions</title>
<link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900&subset=latin,greek,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="lib/ionicons.css" >
<link rel="stylesheet" href="lib/angular-toastr.css" >
<link rel="stylesheet" href="lib/animate.css" >
<link rel="stylesheet" href="lib/bootstrap.css" >
<link rel="stylesheet" href="lib/bootstrap-select.css" >
<link rel="stylesheet" href="lib/bootstrap-switch.css" >
<link rel="stylesheet" href="lib/bootstrap-tagsinput.css" >
<link rel="stylesheet" href="lib/font-awesome.css" >
<link rel="stylesheet" href="lib/leaflet.css" >
<link rel="stylesheet" href="lib/angular-progress-button-styles.min.css" >
<link rel="stylesheet" href="lib/ion.rangeSlider.css" >
<link rel="stylesheet" href="lib/ion.rangeSlider.skinFlat.css" >
<link rel="stylesheet" href="lib/textAngular.css" >
<link rel="stylesheet" href="lib/xeditable.css" >
<link rel="stylesheet" href="lib/style.css" >
<link rel="stylesheet" href="lib/select.css" >
<link rel="stylesheet" href="lib/vis.min.css">
<link rel="stylesheet" href="app/main.css">
</head>
<body>
<div class="body-bg"></div>
<main ng-if="$pageFinishedLoading" ng-class="{ 'menu-collapsed': $baSidebarService.isMenuCollapsed() }">
<ba-sidebar></ba-sidebar>
<page-top></page-top>
<div class="al-main">
<div class="al-content">
<content-top></content-top>
<div ui-view autoscroll="true" autoscroll-body-top></div>
</div>
</div>
<footer class="al-footer clearfix">
<div class="al-footer-right"></div>
<div class="al-footer-main clearfix">
<div class="al-copy"></div>
</div>
</footer>
<back-top></back-top>
</main>
<div id="preloader" ng-show="!$pageFinishedLoading">
<div></div>
</div>
<script src="lib/jquery.js"></script>
<script src="lib/jquery-ui.js"></script>
<script src="lib/jquery.easing.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/angular-cookies.js"></script>
<script src="lib/angular-route.js"></script>
<script src="lib/jquery.slimscroll.js"></script>
<script src="lib/angular-slimscroll.js"></script>
<script src="lib/smart-table.js"></script>
<script src="lib/angular-toastr.tpls.js"></script>
<script src="lib/angular-touch.js"></script>
<script src="lib/sortable.js"></script>
<script src="lib/dropdown.js"></script>
<script src="lib/bootstrap-select.js"></script>
<script src="lib/bootstrap-switch.js"></script>
<script src="lib/bootstrap-tagsinput.js"></script>
<script src="lib/moment.js"></script>
<script src="lib/angular-progress-button-styles.min.js"></script>
<script src="lib/angular-ui-router.js"></script>
<script src="lib/eve.js"></script>
<script src="lib/raphael.min.js"></script>
<script src="lib/mocha.js"></script>
<script src="lib/ion.rangeSlider.js"></script>
<script src="lib/ui-bootstrap-tpls.js"></script>
<script src="lib/angular-animate.js"></script>
<script src="lib/rangy-core.js"></script>
<script src="lib/rangy-classapplier.js"></script>
<script src="lib/rangy-highlighter.js"></script>
<script src="lib/rangy-selectionsaverestore.js"></script>
<script src="lib/rangy-serializer.js"></script>
<script src="lib/rangy-textrange.js"></script>
<script src="lib/textAngular.js"></script>
<script src="lib/textAngular-sanitize.js"></script>
<script src="lib/textAngularSetup.js"></script>
<script src="lib/xeditable.js"></script>
<script src="lib/select.js"></script>
<script src="lib/clipboard.min.js"></script>
<script src="lib/ngclipboard.min.js"></script>
<script src="lib/jszip.min.js"></script>
<script src="lib/jszip-utils.min.js"></script>
<script src="lib/vis.min.js"></script>
<script src="lib/ajv.min.js"></script>
<script src="lib/showdown.min.js"></script>
<script src="lib/highlight.pack.js"></script>
<script src="app/pages/functions/functions.module.js"></script>
<script src="app/pages/workflows/workflows.module.js"></script>
<script src="app/pages/docs/docs.module.js"></script>
<script src="app/pages/storage/storage.module.js"></script>
<script src="app/pages/pages.module.js"></script>
<script src="app/theme/theme.module.js"></script>
<script src="app/pages/dashboard/dashboard.module.js"></script>
<script src="app/theme/components/components.module.js"></script>
<script src="app/theme/inputs/inputs.module.js"></script>
<script src="app/endpoint.js"></script>
<script src="app/app.js"></script>
<script src="app/theme/theme.config.js"></script>
<script src="app/theme/theme.configProvider.js"></script>
<script src="app/theme/theme.constants.js"></script>
<script src="app/theme/theme.run.js"></script>
<script src="app/theme/theme.service.js"></script>
<script src="app/pages/functions/FunctionTableCtrl.js"></script>
<script src="app/pages/functions/CodeEditorCtrl.js"></script>
<script src="app/pages/workflows/WorkflowEditorCtrl.js"></script>
<script src="app/pages/workflows/ExecutionCtrl.js"></script>
<script src="app/pages/workflows/WorkflowTableCtrl.js"></script>
<script src="app/pages/workflows/WorkflowImportCtrl.js"></script>
<script src="app/pages/storage/StorageTableCtrl.js"></script>
<script src="app/pages/dashboard/DashboardCtrl.js"></script>
<script src="app/pages/storage/UploadObjectCtrl.js"></script>
<script src="app/theme/components/toastrLibConfig.js"></script>
<script src="app/theme/directives/animatedChange.js"></script>
<script src="app/theme/directives/autoExpand.js"></script>
<script src="app/theme/directives/autoFocus.js"></script>
<script src="app/theme/directives/includeWithScope.js"></script>
<script src="app/theme/directives/ionSlider.js"></script>
<script src="app/theme/directives/ngFileSelect.js"></script>
<script src="app/theme/directives/scrollPosition.js"></script>
<script src="app/theme/directives/trackWidth.js"></script>
<script src="app/theme/directives/zoomIn.js"></script>
<script src="app/theme/services/baProgressModal.js"></script>
<script src="app/theme/services/baUtil.js"></script>
<script src="app/theme/services/fileReader.js"></script>
<script src="app/theme/services/preloader.js"></script>
<script src="app/theme/components/backTop/backTop.directive.js"></script>
<script src="app/theme/components/baPanel/baPanel.directive.js"></script>
<script src="app/theme/components/baPanel/baPanel.service.js"></script>
<script src="app/theme/components/baPanel/baPanelBlur.directive.js"></script>
<script src="app/theme/components/baPanel/baPanelBlurHelper.service.js"></script>
<script src="app/theme/components/baPanel/baPanelSelf.directive.js"></script>
<script src="app/theme/components/baSidebar/baSidebar.directive.js"></script>
<script src="app/theme/components/baSidebar/baSidebar.service.js"></script>
<script src="app/theme/components/baSidebar/BaSidebarCtrl.js"></script>
<script src="app/theme/components/baSidebar/baSidebarHelpers.directive.js"></script>
<script src="app/theme/components/baWizard/baWizard.directive.js"></script>
<script src="app/theme/components/baWizard/baWizardCtrl.js"></script>
<script src="app/theme/components/baWizard/baWizardStep.directive.js"></script>
<script src="app/theme/components/contentTop/contentTop.directive.js"></script>
<script src="app/theme/components/msgCenter/msgCenter.directive.js"></script>
<script src="app/theme/components/msgCenter/MsgCenterCtrl.js"></script>
<script src="app/theme/components/pageTop/pageTop.directive.js"></script>
<script src="app/theme/components/progressBarRound/progressBarRound.directive.js"></script>
<script src="app/theme/components/widgets/widgets.directive.js"></script>
<script src="app/theme/inputs/baSwitcher/baSwitcher.js"></script>
<script src="app/theme/components/backTop/lib/jquery.backTop.min.js"></script>
<script src="lib/ace/ace-builds/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="lib/ace/ace-builds/src-min-noconflict/ext-language_tools.js" type="text/javascript" charset="utf-8"></script>
<script src="lib/ui-ace/ui-ace.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
from knix.
I think I now see that there is a bug: for new users, there is no value for "_list_workflows" entry. As a result, getWorkflows in the management service fails and immediately returns, so that the rest of the test case cannot proceed.
Steps to reproduce:
- open a test.py in a test case inside tests/
- modify the line with MFNTest() to include another parameter: new_user=True
- run the test
from knix.
Merged into develop branch. Will shortly go into another release.
from knix.
Related Issues (20)
- CentOS support for ansible deployments HOT 2
- Caching of downloaded function dependencies
- Shutting down sandboxes may hang HOT 5
- Upgrading KNIX breaks the datalayer HOT 1
- workflow logs not available due to elasticsearch sharding problem HOT 1
- test asl_Map hangs with maxconcurrency values != 0 HOT 3
- allow user-supplied data be included in the trigger from TriggersFrontend
- bare metal installation fails due to missing dependencies HOT 22
- error when deploy the knix on a host machine HOT 5
- Does it mean I deploy successful? HOT 1
- error when workflow.excute. requests.exceptions.HTTPError: 405 Client Error: Not Allowed for url: http://XXXX:32777 HOT 10
- knix can not support parallel states. HOT 6
- Error when executing java function with maven dependency of Gson HOT 1
- error[E0658]: use of unstable library feature 'renamed_spin_loop' HOT 9
- 'ansible.vars.hostvars.HostVarsVars object' has no attribute 'ansible_ssh_host' HOT 7
- update riak build scripts to use a newer Ubuntu image HOT 3
- Triggers API object update for Java (storage, message queues, timers) HOT 5
- Recovery manager
- KNIX GPU monitoring/accounting capabilities
- Execution log entries get disordered HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knix.