)]}'
{"id":"openstack%2Fironic-python-agent~117529","triplet_id":"openstack%2Fironic-python-agent~master~Iff0f495bc8d9c731892feb0f4759a7f10ee76328","project":"openstack/ironic-python-agent","branch":"master","topic":"bug/1314148","hashtags":[],"change_id":"Iff0f495bc8d9c731892feb0f4759a7f10ee76328","subject":"Enhance decorators in agent and automate creation of command_map","status":"MERGED","created":"2014-08-28 15:03:46.000000000","updated":"2014-09-12 17:56:31.000000000","submitted":"2014-09-12 17:56:31.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7b481aa4b098b01e19ad55a71a63e3a32f4dba4f","_number":117529,"virtual_id_number":117529,"owner":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2014-09-12 17:56:30.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"date":"2014-09-11 14:28:32.000000000","_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"value":0,"date":"2014-09-11 09:14:49.000000000","_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},{"value":0,"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"}],"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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"recommended":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2014-09-12 12:58:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},{"value":2,"date":"2014-09-12 17:44:48.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":2,"date":"2014-09-11 14:30:05.000000000","_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"value":0,"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},{"value":2,"date":"2014-09-12 17:40:45.000000000","_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},{"value":1,"date":"2014-09-12 17:44:48.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"value":0,"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},{"value":0,"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"value":0,"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},{"value":0,"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-09-11 14:28:32.000000000","updated_by":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"reviewer":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"state":"REVIEWER"},{"updated":"2014-09-12 12:58:53.000000000","updated_by":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"reviewer":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"state":"REVIEWER"},{"updated":"2014-09-12 17:40:45.000000000","updated_by":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"reviewer":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"state":"REVIEWER"},{"updated":"2014-09-12 17:44:48.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"state":"REVIEWER"},{"updated":"2014-09-12 17:56:30.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"ee3e576a1f08b1a176b31a2481d245592c797e7b","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-08-28 15:03:46.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1d1ebd3ec987a10916d1805f433292e885669b80","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2014-08-28 16:16:07.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nJust a nit inline. Not important to fix unless you have to push another patchset.","accounts_in_message":[],"_revision_number":1},{"id":"81890bccda0c746d029f90661d90af5ae52bef2f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-28 20:27:54.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-pep8/274fb5e : FAILURE in 1m 19s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python26/68e766a : SUCCESS in 1m 36s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python27/e680f1c : SUCCESS in 31s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-buildimage-coreos/f6b9ff2 : FAILURE in 6m 18s","accounts_in_message":[],"_revision_number":1},{"id":"848b6e2a3d0a3abc9342a25f4abdcade07e860bf","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-08-29 12:44:27.000000000","message":"Patch Set 1:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":1},{"id":"7e1379d1edec0924564cf8c3ffd70857449d59f4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-29 13:00:23.000000000","message":"Patch Set 1:\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-pep8/4299bb6 : FAILURE in 1m 12s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python26/2ebc4ee : SUCCESS in 37s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python27/49bd71b : SUCCESS in 1m 14s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-buildimage-coreos/872b56e : SUCCESS in 8m 08s","accounts_in_message":[],"_revision_number":1},{"id":"76bed300239116e7b98261c87d94c06cd2e7dae6","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-08-29 14:37:14.000000000","message":"Patch Set 1:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":1},{"id":"4814eea85badf0eae3ba892b9fe00a40fa3e2713","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-29 15:08:33.000000000","message":"Patch Set 1:\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-pep8/75e0aad : FAILURE in 32s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python26/c264fef : SUCCESS in 40s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-python27/a204fbe : SUCCESS in 1m 13s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/1/check/gate-ironic-python-agent-buildimage-coreos/093a4ae : SUCCESS in 5m 48s","accounts_in_message":[],"_revision_number":1},{"id":"dfcf9695f67c8bde96a6067b4149243d1a6e1b07","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2014-08-29 16:22:56.000000000","message":"Patch Set 1:\n\n2014-08-29 15:03:12.174 | pep8 runtests: PYTHONHASHSEED\u003d\u00271552958523\u0027\n\nIs PYTHONHASHSEED\u003d impacting IPA test runs? The pep8 failure looks particularly strange.","accounts_in_message":[],"_revision_number":1},{"id":"f06b4a68b8998fd8784b578655dcff3d877ba8f3","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-08-29 17:30:28.000000000","message":"Patch Set 1: Code-Review-1\n\nWe explicitly implemented this a different way before, but I don\u0027t remember why. It was likely to have flexibility with how methods were mapped to command names, or maybe someone just hated func.__name__.\n\nIf we\u0027re going to depend on the function name matching the command name, I\u0027m wondering if we should have a follow-up patch that uses getattr() rather than command_map.\n\nI think I\u0027m okay with this patch; I\u0027d like to hear from others - especially Russell, I think he may have been the one that didn\u0027t like requiring the command name and method name to match.\n\n-1\u0027ing for now due to pep8. Szymon mentioned to me this morning that there\u0027s a bug with the version of hacking we\u0027re using... Upgrading it results in a whole bunch of errors. Need to decide how to resolve this best.","accounts_in_message":[],"_revision_number":1},{"id":"551b86d8cc92b1c346696de16f4aab72bac726f9","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-08-29 22:39:47.000000000","message":"Patch Set 1: Code-Review-2\n\nSpoke with Russell on IRC; although it may be bad practice, the reason we rely on this behavior is to separate the API from the implementation. For example, we should be able to rename an internal function without changing the external API.\n\nSo I\u0027m closing this and marking the bug as invalid, we can discuss further on IRC if you\u0027d like.","accounts_in_message":[],"_revision_number":1},{"id":"86eb5c0b161cfdb792a90e2a821e88764a3c15ac","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-03 14:27:48.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"4fe27d5382650bc8db7155f7fefaddf70af12623","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-03 14:35:50.000000000","message":"Patch Set 2: -Code-Review\n\nRemoving -2, this may be viable","accounts_in_message":[],"_revision_number":2},{"id":"bd852924dc839ef4e7ff9800d09d4a8e566c3ad9","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-03 15:11:39.000000000","message":"Patch Set 2:\n\nNote: could use something like this to remove duplication between command_map and decorator arguments: http://paste.openstack.org/show/105253/\n\nNot sure if I love it, having command_map is nice because all API methods are listed in one location. But that\u0027s what docs are for, right?","accounts_in_message":[],"_revision_number":2},{"id":"a6b83be6238f2af092560098802dbf2b8790e450","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-03 15:36:14.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/2/check/gate-ironic-python-agent-pep8/36aaf90 : FAILURE in 48s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/2/check/gate-ironic-python-agent-python26/cb184c9 : SUCCESS in 1m 46s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/2/check/gate-ironic-python-agent-python27/cee1568 : SUCCESS in 28s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/2/check/gate-ironic-python-agent-buildimage-coreos/23b521d : SUCCESS in 3m 30s","accounts_in_message":[],"_revision_number":2},{"id":"04da91f26130b272746e1d0587969e26ea08c9a2","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-04 14:30:12.000000000","message":"Patch Set 2:\n\nLess dirty way to create command_map: http://paste.openstack.org/show/105820/","accounts_in_message":[],"_revision_number":2},{"id":"7b4c4e2fa15ad7642ae72fbbd636b52477e6e8f4","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-04 14:48:35.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7002e0898d7baee8d03f81e41cbd40ccb716a7c3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-04 15:27:26.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/3/check/gate-ironic-python-agent-pep8/df9f72a : FAILURE in 55s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/3/check/gate-ironic-python-agent-python26/7f87d47 : SUCCESS in 58s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/3/check/gate-ironic-python-agent-python27/8fed5a6 : SUCCESS in 1m 04s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/3/check/gate-ironic-python-agent-buildimage-coreos/e7fa127 : SUCCESS in 4m 06s","accounts_in_message":[],"_revision_number":3},{"id":"0de6f08b9501181076a2f200764e0f0a20405baa","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-08 09:56:43.000000000","message":"Patch Set 3:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":3},{"id":"0a436da66069567bc5d636a51ede8764b2fecb40","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-08 10:07:14.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"91f8375368a183033376a33a4499f94c6634e4c5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-08 10:26:46.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded.\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/4/check/gate-ironic-python-agent-pep8/9f5c1db : SUCCESS in 1m 17s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/4/check/gate-ironic-python-agent-python26/786dd97 : SUCCESS in 54s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/4/check/gate-ironic-python-agent-python27/379ef79 : SUCCESS in 1m 27s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/4/check/gate-ironic-python-agent-buildimage-coreos/f7378cc : SUCCESS in 6m 03s","accounts_in_message":[],"_revision_number":4},{"id":"be4423d240e8eb27aa5f171328c48ff60eaacb64","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-09 00:29:11.000000000","message":"Patch Set 4: Code-Review-1\n\n(2 comments)\n\nThis is hacky, I like.\n\nA couple things inline; I\u0027d also love to see something test that command_map is built properly, with a fake extension or something.","accounts_in_message":[],"_revision_number":4},{"id":"d25626ddf1e572a8cdfec716442ee458502ad31a","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-09 10:36:48.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"7c29c2347da807a47f34285b68e7a20557938696","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-09 10:40:35.000000000","message":"Patch Set 4:\n\n(2 comments)\n\nAdded tests and made changes as requested.","accounts_in_message":[],"_revision_number":4},{"id":"322b8527d79e08075e90e8696c64294645b26b16","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-09 10:55:02.000000000","message":"Patch Set 5: Verified-1\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/5/check/gate-ironic-python-agent-pep8/e5434b8 : SUCCESS in 29s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/5/check/gate-ironic-python-agent-python26/b3b11c7 : FAILURE in 42s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/5/check/gate-ironic-python-agent-python27/cc0e1eb : SUCCESS in 30s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/5/check/gate-ironic-python-agent-buildimage-coreos/4df58e0 : SUCCESS in 2m 23s","accounts_in_message":[],"_revision_number":5},{"id":"c2bf6baf5c6f038621d40741e0e10051cb745148","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-09 11:36:00.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"5d8bff571f55c79de2d55eb9f82c4b20c603941b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-09 11:42:10.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded.\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/6/check/gate-ironic-python-agent-pep8/6532552 : SUCCESS in 55s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/6/check/gate-ironic-python-agent-python26/be18f2d : SUCCESS in 39s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/6/check/gate-ironic-python-agent-python27/0c1d693 : SUCCESS in 1m 04s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/6/check/gate-ironic-python-agent-buildimage-coreos/44bdf7a : SUCCESS in 4m 31s","accounts_in_message":[],"_revision_number":6},{"id":"738202de323cf8d14ce75a2ce0c6363b874e41aa","author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"date":"2014-09-10 15:31:24.000000000","message":"Patch Set 6: Code-Review+1","accounts_in_message":[],"_revision_number":6},{"id":"c2fae0af0441ca04634f2205b134b58ee4117ad1","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-10 17:15:57.000000000","message":"Patch Set 6: Code-Review-1\n\n(1 comment)\n\nI think the tests could be cleaned up a bit, comment inline.","accounts_in_message":[],"_revision_number":6},{"id":"cfc79c416432350d0d2128cf7ad850ac0b0dc882","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-10 17:34:23.000000000","message":"Patch Set 6:\n\nI\u0027m also still curious how useful this actually is. I know changing function signatures is \"wrong\", but I don\u0027t see an issue right now with it, and it\u0027s definitely not the hackiest thing in Ironic right now.","accounts_in_message":[],"_revision_number":6},{"id":"61bc44d7c5d4d46e05729e3eb647d93493d23d54","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-10 17:34:49.000000000","message":"Patch Set 6:\n\nTo clarify, the code before was much simpler to understand - I think that\u0027s a bigger win over doing things the \"right\" way.","accounts_in_message":[],"_revision_number":6},{"id":"bd4a6f42279c07d57c6d4bc8c8739ef7178f0d00","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-11 08:49:14.000000000","message":"Patch Set 6:\n\n(1 comment)\n\nMade tests simpler and easier to understand","accounts_in_message":[],"_revision_number":6},{"id":"0b0290598007b04d89678f0f53e65057d665716e","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-11 08:49:47.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"2b9f512836dfa7dc33339d1b6d6f3300d9a34fce","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-11 09:03:56.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded.\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/7/check/gate-ironic-python-agent-pep8/58adf7c : SUCCESS in 47s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/7/check/gate-ironic-python-agent-python26/1dcfe8f : SUCCESS in 57s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/7/check/gate-ironic-python-agent-python27/3ebf1a3 : SUCCESS in 46s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/7/check/gate-ironic-python-agent-buildimage-coreos/65d365a : SUCCESS in 5m 10s","accounts_in_message":[],"_revision_number":7},{"id":"b6ffa0b3718e44890d97bfafed71f71422c4848b","author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"date":"2014-09-11 09:14:49.000000000","message":"Patch Set 7:\n\nRegarding simplicity and usefulness, please look at http://paste.openstack.org/show/110043/ and compare","accounts_in_message":[],"_revision_number":7},{"id":"f2b9fcd1c2541a99727420b20940a696048234e7","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-11 14:28:32.000000000","message":"Patch Set 7:\n\nRight, I understand that, but I\u0027m talking about simplicity of the internals...","accounts_in_message":[],"_revision_number":7},{"id":"74784e161eb363575e8aa301398d5ce326b9af61","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2014-09-11 14:30:05.000000000","message":"Patch Set 7: Code-Review+2\n\nThat said, I\u0027m okay with this. Thanks for doing this, Szymon :)","accounts_in_message":[],"_revision_number":7},{"id":"ed48a4c6ef1099da1fa607c882db6dedd90459a1","author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"date":"2014-09-12 12:58:53.000000000","message":"Patch Set 7: Code-Review+1","accounts_in_message":[],"_revision_number":7},{"id":"f6b9688956e4bba1c1b423eed6f632dce23c707f","author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"date":"2014-09-12 17:40:45.000000000","message":"Patch Set 7: Code-Review+2\n\nI really like this change. Thanks!","accounts_in_message":[],"_revision_number":7},{"id":"ef7ffa315536a43e64daa8c1ba004da57f6e7db5","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2014-09-12 17:44:48.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"3352e08d16f82cbded1a11b28579c4a0fa17f676","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-12 17:44:59.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":7},{"id":"b4db14add6f2bbc74846009343d81bc56d129230","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-12 17:56:30.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded.\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/29/117529/7/gate/gate-ironic-python-agent-pep8/503838e : SUCCESS in 39s\n- gate-ironic-python-agent-python26 http://logs.openstack.org/29/117529/7/gate/gate-ironic-python-agent-python26/5fcb2ad : SUCCESS in 1m 01s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/29/117529/7/gate/gate-ironic-python-agent-python27/1ce7919 : SUCCESS in 46s\n- gate-ironic-python-agent-buildimage-coreos http://logs.openstack.org/29/117529/7/gate/gate-ironic-python-agent-buildimage-coreos/787a6ed : SUCCESS in 4m 13s","accounts_in_message":[],"_revision_number":7},{"id":"f76e571c1dcf5757ba856615545f64345d07661a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-09-12 17:56:31.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"324f037eb02b240d612e58e27e97503a8e490681","revisions":{"0801f48f4b2bcf5b471b5c12117cf7501b8cbfee":{"kind":"REWORK","_number":1,"created":"2014-08-28 15:03:46.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/1"}}},"commit":{"parents":[{"commit":"b6d1130510cbf9d33574e52e3fda5fde0ebcc212","subject":"Clean up image build script","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6d1130510cbf9d33574e52e3fda5fde0ebcc212"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-08-28 14:45:06.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-08-28 14:45:06.000000000","tz":120},"subject":"Remove unnecessary argument injection in agent sync and async decorators.","message":"Remove unnecessary argument injection in agent sync and async decorators.\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is removed from decorated function in\nboth decorators and func.__name__ is used as an argument for\nAsyncCommandResult instead. Every call of decorated functions is fixed,\nBaseAgentExtension.execute is updated to not send this extra argument.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: #1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/0801f48f4b2bcf5b471b5c12117cf7501b8cbfee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/0801f48f4b2bcf5b471b5c12117cf7501b8cbfee"}]},"branch":"refs/heads/master"},"6b1da37275d9cd7e0518d7170d2de69398d27051":{"kind":"REWORK","_number":2,"created":"2014-09-03 14:27:48.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/2"}}},"commit":{"parents":[{"commit":"b6d1130510cbf9d33574e52e3fda5fde0ebcc212","subject":"Clean up image build script","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6d1130510cbf9d33574e52e3fda5fde0ebcc212"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-03 14:26:47.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-03 14:26:47.000000000","tz":120},"subject":"Remove unnecessary argument injection in agent sync and async decorators.","message":"Remove unnecessary argument injection in agent sync and async decorators.\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6b1da37275d9cd7e0518d7170d2de69398d27051"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6b1da37275d9cd7e0518d7170d2de69398d27051"}]},"branch":"refs/heads/master"},"fdd0f37e38d68b402cbfe8911166a5c46d69e4da":{"kind":"REWORK","_number":3,"created":"2014-09-04 14:48:35.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/3"}}},"commit":{"parents":[{"commit":"b6d1130510cbf9d33574e52e3fda5fde0ebcc212","subject":"Clean up image build script","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6d1130510cbf9d33574e52e3fda5fde0ebcc212"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-04 14:48:09.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-04 14:48:09.000000000","tz":120},"subject":"Enhance decorators in agent and automate creation of command_map.","message":"Enhance decorators in agent and automate creation of command_map.\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument. BaseAgentExtension.__init__ automatically generates command_map\nfrom decorated methods.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/fdd0f37e38d68b402cbfe8911166a5c46d69e4da"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/fdd0f37e38d68b402cbfe8911166a5c46d69e4da"}]},"branch":"refs/heads/master"},"feaf948cbcf44fbe0677660bb235f3d14c187b3c":{"kind":"REWORK","_number":4,"created":"2014-09-08 10:07:14.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/4"}}},"commit":{"parents":[{"commit":"6026919ef3d5ca352a4a4ebff06efbb84183f75e","subject":"Merge \"Add vmedia boot support in IPA\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6026919ef3d5ca352a4a4ebff06efbb84183f75e"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-08 10:05:24.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-08 10:05:24.000000000","tz":120},"subject":"Enhance decorators in agent and automate creation of command_map","message":"Enhance decorators in agent and automate creation of command_map\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument. BaseAgentExtension.__init__ automatically generates command_map\nfrom decorated methods.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/feaf948cbcf44fbe0677660bb235f3d14c187b3c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/feaf948cbcf44fbe0677660bb235f3d14c187b3c"}]},"branch":"refs/heads/master"},"7c6f985512cffdcb646f8d91af643c88004ec03a":{"kind":"REWORK","_number":5,"created":"2014-09-09 10:36:48.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/5"}}},"commit":{"parents":[{"commit":"6026919ef3d5ca352a4a4ebff06efbb84183f75e","subject":"Merge \"Add vmedia boot support in IPA\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6026919ef3d5ca352a4a4ebff06efbb84183f75e"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-09 10:36:22.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-09 10:36:22.000000000","tz":120},"subject":"Enhance decorators in agent and automate creation of command_map","message":"Enhance decorators in agent and automate creation of command_map\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument. BaseAgentExtension.__init__ automatically generates command_map\nfrom decorated methods.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7c6f985512cffdcb646f8d91af643c88004ec03a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7c6f985512cffdcb646f8d91af643c88004ec03a"}]},"branch":"refs/heads/master"},"a1178b3ea5e304cf34acdfd30d234a8976dad3b6":{"kind":"REWORK","_number":6,"created":"2014-09-09 11:36:00.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/6"}}},"commit":{"parents":[{"commit":"6026919ef3d5ca352a4a4ebff06efbb84183f75e","subject":"Merge \"Add vmedia boot support in IPA\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6026919ef3d5ca352a4a4ebff06efbb84183f75e"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-09 11:35:41.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-09 11:35:41.000000000","tz":120},"subject":"Enhance decorators in agent and automate creation of command_map","message":"Enhance decorators in agent and automate creation of command_map\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument. BaseAgentExtension.__init__ automatically generates command_map\nfrom decorated methods.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a1178b3ea5e304cf34acdfd30d234a8976dad3b6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a1178b3ea5e304cf34acdfd30d234a8976dad3b6"}]},"branch":"refs/heads/master"},"324f037eb02b240d612e58e27e97503a8e490681":{"kind":"REWORK","_number":7,"created":"2014-09-11 08:49:47.000000000","uploader":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"ref":"refs/changes/29/117529/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/117529/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/117529/7"}}},"commit":{"parents":[{"commit":"6026919ef3d5ca352a4a4ebff06efbb84183f75e","subject":"Merge \"Add vmedia boot support in IPA\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/6026919ef3d5ca352a4a4ebff06efbb84183f75e"}]}],"author":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-11 08:49:33.000000000","tz":120},"committer":{"name":"Szymon Wroblewski","email":"szymon.wroblewski@intel.com","date":"2014-09-11 08:49:33.000000000","tz":120},"subject":"Enhance decorators in agent and automate creation of command_map","message":"Enhance decorators in agent and automate creation of command_map\n\nsync_command and async_command in ironic_python_agent/extensions/base.py\nare implemented so that they change decorated method signature,\nwhich is really bad practice. Example:\n\n@sync_command\ndef orig_method(self, **kw):\n...\n\nsync_command decorator returns lambda which has one additional\nargument \u0027command_name\u0027\n\ndef sync_command(func):\n    def decorated(self, command_name, **kw):\n         ...\n         func(self, **kw)\n         ...\n    return decorated\n\nAdditional parameter \u0027command_name\u0027 is moved from decorated function to\ndecorator signature in both decorators. Every call of decorated functions\nis fixed, BaseAgentExtension.execute is updated to not send this extra\nargument. BaseAgentExtension.__init__ automatically generates command_map\nfrom decorated methods.\n\nChange-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328\nCloses-Bug: 1314148\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/324f037eb02b240d612e58e27e97503a8e490681"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/324f037eb02b240d612e58e27e97503a8e490681"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
