Comments (4)
@valayDave a fix has been proposed in #17
from argo-python-dsl.
Could you provide a reproducer? Tried with Python 3.7.5 and I am not hitting this issue.
from argo-python-dsl.
I am running running below script and getting similar error.
from argo.workflows.dsl import Workflow
from argo.workflows.dsl.tasks import *
from argo.workflows.dsl.templates import *
from argo.workflows.client import V1alpha1Api
from argo.workflows.config import load_kube_config
namespace = "argo"
v1alpha1 = V1alpha1Api()
class DagDiamond(Workflow):
@task
@parameter(name="message", value="A")
def A(self, message: V1alpha1Parameter) -> V1alpha1Template:
return self.echo(message=message)
@task
@parameter(name="message", value="B")
@dependencies(["A"])
def B(self, message: V1alpha1Parameter) -> V1alpha1Template:
return self.echo(message=message)
@task
@parameter(name="message", value="C")
@dependencies(["A"])
def C(self, message: V1alpha1Parameter) -> V1alpha1Template:
return self.echo(message=message)
@task
@parameter(name="message", value="D")
@dependencies(["B", "C"])
def D(self, message: V1alpha1Parameter) -> V1alpha1Template:
return self.echo(message=message)
@template
@inputs.parameter(name="message")
def echo(self, message: V1alpha1Parameter) -> V1Container:
container = V1Container(
image="alpine:3.7",
name="echo",
command=["echo", "{{inputs.parameters.message}}"],
)
return container
print(DagDiamond())
load_kube_config()
v1alpha1.create_namespaced_workflow(namespace, DagDiamond())
wfs = v1alpha1.list_namespaced_workflows(namespace=namespace)
ERROR
{'api_version': 'argoproj.io/v1alpha1',
'kind': 'Workflow',
'metadata': {'generate_name': 'dag-diamond-', 'name': 'dag-diamond'},
'spec': {'entrypoint': 'main',
'templates': [{'dag': {'tasks': [{'arguments': {'parameters': [{'name': 'message',
'value': 'A'}]},
'name': 'A',
'template': 'echo'},
{'arguments': {'parameters': [{'name': 'message',
'value': 'B'}]},
'dependencies': ['A'],
'name': 'B',
'template': 'echo'},
{'arguments': {'parameters': [{'name': 'message',
'value': 'C'}]},
'dependencies': ['A'],
'name': 'C',
'template': 'echo'},
{'arguments': {'parameters': [{'name': 'message', 'value': 'D'}]},
'dependencies': ['B', 'C'],
'name': 'D',
'template': 'echo'}]},
'name': 'main'},
{'container': {'command': ['echo',
'{{inputs.parameters.message}}'],
'image': 'alpine:3.7',
'name': 'echo'},
'inputs': {'parameters': [{'name': 'message'}]},
'name': 'echo'}]},
'status': {}}
Traceback (most recent call last):
File "tests_workflow.py", line 52, in <module>
v1alpha1.create_namespaced_workflow(namespace, DagDiamond())
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 233, in __init__
self.compile()
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 376, in compile
self.spec: V1alpha1WorkflowSpec = _compile(self.spec)
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 371, in _compile
value: Any = _compile(getattr(obj, attr))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 368, in _compile
return list(map(_compile, obj))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 371, in _compile
value: Any = _compile(getattr(obj, attr))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 371, in _compile
value: Any = _compile(getattr(obj, attr))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 368, in _compile
return list(map(_compile, obj))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 371, in _compile
value: Any = _compile(getattr(obj, attr))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 371, in _compile
value: Any = _compile(getattr(obj, attr))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 368, in _compile
return list(map(_compile, obj))
File "/Users/valaydave/Documents/Code-Workspace/ASU-Projects/CSE598-ML-Data-Systems/ML-Systems-Project/kubernetes-testing/.env/lib/python3.7/site-packages/argo/workflows/dsl/_workflow.py", line 343, in _compile
if obj.model is not None:
AttributeError: 'parameter' object has no attribute 'model'
SPECS
OS : Macos
Python 3.7.6
pip install argo-workflows
pip install git+git://github.com/CermakM/argo-python-dsl
What can be the problem ?
from argo-python-dsl.
Thanks for the reproducer @valayDave! I will investigate further 👍
from argo-python-dsl.
Related Issues (20)
- Host as part of Argo Labs HOT 10
- Development plan and contribution HOT 3
- Dynamic Template & Task generation
- how to use V1Volume, V1Toleration etc? HOT 3
- workflow.from_url is not taking `url` HOT 1
- Missing kind and other metadata HOT 3
- [Discussion] Dynamic task generation HOT 2
- new install from master - as require the full body posted on submit HOT 6
- Would you consider integration with the component format of Kubeflow Pipelines?
- how to set pod-metadata HOT 2
- how to use with_param decorator HOT 2
- submit failed, prompt "argo.workflows.client.rest.ApiException: (400)" HOT 6
- Nested DAGs HOT 1
- Functional API? HOT 3
- Argo Python SDK -> to Argo Python DSL
- Documentation comparing to Kubeflow Pipelines Python SDK
- cannot import name 'models' from 'argo.workflows' HOT 8
- Workflow metadata name parsed from class name prevents generated name from working HOT 2
- AttributeError: 'NoneType' object has no attribute 'parameters' from Workflow.submit() HOT 11
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 argo-python-dsl.