)]}'
{"id":"openstack%2Fmistral~221816","triplet_id":"openstack%2Fmistral~master~Ia88ce390298d54afc1ee72ebfb67de9056d9f444","project":"openstack/mistral","branch":"master","topic":"get_task_spec","hashtags":[],"change_id":"Ia88ce390298d54afc1ee72ebfb67de9056d9f444","subject":"Refactor get_task_spec using mechanism of polymorphic DSL entities","status":"MERGED","created":"2015-09-09 15:04:55.000000000","updated":"2015-09-15 11:04:57.000000000","submitted":"2015-09-15 11:04:56.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"18efa9b08b23db58ab0cfe39b89fb81a18b3d640","_number":221816,"virtual_id_number":221816,"owner":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2015-09-15 11:04:56.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},{"value":0,"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},{"value":0,"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2015-09-15 10:58:02.000000000","_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},{"value":2,"date":"2015-09-15 10:53:32.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},{"value":0,"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2015-09-15 10:58:02.000000000","_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},{"value":0,"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},{"value":0,"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-09-15 10:53:32.000000000","updated_by":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"reviewer":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"state":"REVIEWER"},{"updated":"2015-09-15 10:58:02.000000000","updated_by":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"reviewer":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"state":"REVIEWER"},{"updated":"2015-09-15 11:04:56.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"f2472e96f0b1350830c837990352f7025aeb731e","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2015-09-09 15:04:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4b8c75de69d8999e30f0d747d7230c938c806eca","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-09-09 15:38:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-mistral-pep8 http://logs.openstack.org/16/221816/1/check/gate-mistral-pep8/2bc5f8b/ : SUCCESS in 1m 28s\n- gate-mistral-docs http://docs-draft.openstack.org/16/221816/1/check/gate-mistral-docs/b5ddd08//doc/build/html/ : SUCCESS in 2m 09s\n- gate-mistral-python27 http://logs.openstack.org/16/221816/1/check/gate-mistral-python27/32b473d/ : SUCCESS in 6m 55s\n- gate-mistral-python34 http://logs.openstack.org/16/221816/1/check/gate-mistral-python34/29b0f7b/ : FAILURE in 3m 22s (non-voting)\n- gate-rally-dsvm-mistral-task http://logs.openstack.org/16/221816/1/check/gate-rally-dsvm-mistral-task/51a9608/ : SUCCESS in 23m 39s (non-voting)\n- gate-mistral-devstack-dsvm http://logs.openstack.org/16/221816/1/check/gate-mistral-devstack-dsvm/4e1f5dd/ : SUCCESS in 28m 28s (non-voting)\n- gate-mistral-tox-unit-postgresql http://logs.openstack.org/16/221816/1/check/gate-mistral-tox-unit-postgresql/1c27e20/ : FAILURE in 4m 20s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"cd3876d5f3c1d113d69a5bb6263b142fb65d3848","author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"date":"2015-09-11 09:50:55.000000000","message":"Patch Set 1: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"895af93a5ad357a6f21a27b70977abecb44ce98d","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2015-09-13 09:04:02.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a63e30181487ad639dc9014993aed3701544f224","author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"date":"2015-09-14 08:40:44.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"0ba69a4d37e25afd577d2c5c82020a8228b1222b","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2015-09-15 07:24:13.000000000","message":"Patch Set 1:\n\nHi, Renat,\n\nI agree with you that we can initialize self._tasks in specific WorkflowSpec, without using polymorphic mechanism or using subclasses iteration.\n\nHowerver, we still have to inject workflow type to tasks anyway, please refer to https://github.com/openstack/mistral/blob/master/mistral/workbook/v2/tasks.py#L86, and come back to see my changes here, although I modified somethings in serveral places, some of them are really improvement rather than changes for using polymorphic mechanism, I\u0027ll explain them in commit message:\n\n* First, I changed the way of getting task spec using polymorphic mechanism, which is the motivation of this patch.\n\n* Then, I move the type injection in TaskSpec to WorkflowSpec, the \u0027type\u0027 param is already there when TaskSpec initializing, and we could also continue use that for polymorphic mechanism of TaskSpec, and the subclasses iteration mechanism can also be removed as well.\n\n* When I was doing things before, I found there is a chance to improve the schema validation for TaskSpec, so I did it, which is in fact has no relationship with this patch.","accounts_in_message":[],"_revision_number":1},{"id":"a50b0c684fa923c35d4c097772201c09769a3e8f","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2015-09-15 07:30:39.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"b2f5cbc7e0f40344800a322aa1b7fd7b3e5c6667","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-09-15 08:00:10.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-mistral-pep8 http://logs.openstack.org/16/221816/2/check/gate-mistral-pep8/fcdcdc4/ : SUCCESS in 1m 52s\n- gate-mistral-docs http://docs-draft.openstack.org/16/221816/2/check/gate-mistral-docs/812fd4d//doc/build/html/ : SUCCESS in 2m 18s\n- gate-mistral-python27 http://logs.openstack.org/16/221816/2/check/gate-mistral-python27/3c45822/ : SUCCESS in 7m 39s\n- gate-mistral-python34 http://logs.openstack.org/16/221816/2/check/gate-mistral-python34/ff9cae8/ : FAILURE in 3m 35s (non-voting)\n- gate-rally-dsvm-mistral-task http://logs.openstack.org/16/221816/2/check/gate-rally-dsvm-mistral-task/d9a2796/ : FAILURE in 20m 43s (non-voting)\n- gate-mistral-devstack-dsvm http://logs.openstack.org/16/221816/2/check/gate-mistral-devstack-dsvm/35167b5/ : FAILURE in 27m 11s (non-voting)\n- gate-mistral-tox-unit-postgresql http://logs.openstack.org/16/221816/2/check/gate-mistral-tox-unit-postgresql/bdf925f/ : FAILURE in 4m 38s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"103a7861c3b70a64f6407327e0d2c8efc3e5c63d","author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"date":"2015-09-15 10:53:32.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)\n\nLingxian,\n\nEverything\u0027s ok. I\u0027m taking my words back. See my comment.","accounts_in_message":[],"_revision_number":2},{"id":"ca70f2b6bc54a5fa3b704ec7e80e1db10d93579e","author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"date":"2015-09-15 10:58:02.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"f17c47e77055d799cc4dd7c6199d999ca0ce138e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-09-15 10:58:07.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"f33a325f42a036d10688e18a0e2f1474171d42a3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-09-15 11:04:56.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-mistral-docs http://docs-draft.openstack.org/16/221816/2/gate/gate-mistral-docs/bff1090//doc/build/html/ : SUCCESS in 1m 57s\n- gate-mistral-pep8 http://logs.openstack.org/16/221816/2/gate/gate-mistral-pep8/4a42a8f/ : SUCCESS in 2m 47s\n- gate-mistral-python27 http://logs.openstack.org/16/221816/2/gate/gate-mistral-python27/6a2d311/ : SUCCESS in 5m 57s","accounts_in_message":[],"_revision_number":2},{"id":"77699f44cc131a02dddc3ba96ab89b634022b20d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-09-15 11:04:57.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"7a12e30d072210ba5b8f9b3bdde2a601e56e7bee","revisions":{"a22c34c1b6f349584288e922ea66766e16467011":{"kind":"REWORK","_number":1,"created":"2015-09-09 15:04:55.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/16/221816/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/mistral","ref":"refs/changes/16/221816/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/mistral refs/changes/16/221816/1"}}},"commit":{"parents":[{"commit":"f450651551cacf128c4800ebbc19e1f85ee11394","subject":"Merge \"Raising exception if there aren\u0027t start tasks in direct workflow\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/f450651551cacf128c4800ebbc19e1f85ee11394"}]}],"author":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2015-09-09 14:55:06.000000000","tz":480},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2015-09-09 14:55:06.000000000","tz":480},"subject":"Refactor get_task_spec using mechanism of polymorphic DSL entities","message":"Refactor get_task_spec using mechanism of polymorphic DSL entities\n\n* Use instantiate_spec function for task spec initializaion, no matter the\n  task belongs to direct or reverse workflow.\n\n* Replace the code logic of prohibition of co-existance between action and\n  workflow in task spec with jsonschema restriction.\n\nChange-Id: Ia88ce390298d54afc1ee72ebfb67de9056d9f444\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/a22c34c1b6f349584288e922ea66766e16467011"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/a22c34c1b6f349584288e922ea66766e16467011"}]},"branch":"refs/heads/master"},"7a12e30d072210ba5b8f9b3bdde2a601e56e7bee":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":2,"created":"2015-09-15 07:30:39.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/16/221816/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/mistral","ref":"refs/changes/16/221816/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/mistral refs/changes/16/221816/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/mistral refs/changes/16/221816/2"}}},"commit":{"parents":[{"commit":"ffe6524573b646296c9e36e8ddf3766bb78f4ef8","subject":"Merge \"Switch to devstack plugin\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/ffe6524573b646296c9e36e8ddf3766bb78f4ef8"}]}],"author":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2015-09-09 14:55:06.000000000","tz":480},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2015-09-15 07:29:05.000000000","tz":480},"subject":"Refactor get_task_spec using mechanism of polymorphic DSL entities","message":"Refactor get_task_spec using mechanism of polymorphic DSL entities\n\n* Changing the way of getting task spec using polymorphic mechanism,\nwhich is the motivation of this patch.\n\n* Moving the type injection in TaskSpec to WorkflowSpec, the \u0027type\u0027\nparam is already there when TaskSpec initializing, and we could also\ncontinue to use that for polymorphic mechanism of TaskSpec, and the\nsubclasses iteration mechanism can also be removed as well.\n\n* Improving the schema validation for TaskSpec, replace the code logic\nof prohibition of co-existance between action and workflow in task spec\nwith jsonschema restriction.\n\nChange-Id: Ia88ce390298d54afc1ee72ebfb67de9056d9f444\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/7a12e30d072210ba5b8f9b3bdde2a601e56e7bee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/7a12e30d072210ba5b8f9b3bdde2a601e56e7bee"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
