)]}'
{"id":"openstack%2Fironic-python-agent~300548","triplet_id":"openstack%2Fironic-python-agent~master~I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66","project":"openstack/ironic-python-agent","branch":"master","topic":"bug/1564954","hashtags":[],"change_id":"I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66","subject":"Wait for the interfaces to get IP addresses before inspection","status":"MERGED","created":"2016-04-01 15:13:00.000000000","updated":"2016-04-14 15:12:36.000000000","submitted":"2016-04-06 17:29:36.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":13,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ab84de0fec89e077282a23626312dc81003e8837","_number":300548,"virtual_id_number":300548,"owner":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2016-04-06 17:29:36.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},{"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},{"value":0,"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"value":0,"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},{"value":2,"date":"2016-04-05 18:12:53.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":"2016-04-06 11:41:01.000000000","_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},{"value":2,"date":"2016-04-06 17:02:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":1,"date":"2016-04-05 20:02:16.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},{"value":1,"date":"2016-04-06 10:26:00.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"value":0,"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},{"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":1,"date":"2016-04-06 17:02:01.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},{"value":0,"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"value":0,"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},{"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},{"value":0,"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"value":0,"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_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":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-04-04 14:23:09.000000000","updated_by":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"reviewer":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"state":"REVIEWER"},{"updated":"2016-04-04 17:25:19.000000000","updated_by":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"reviewer":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"state":"REVIEWER"},{"updated":"2016-04-05 13:16:12.000000000","updated_by":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"reviewer":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"state":"REVIEWER"},{"updated":"2016-04-05 18:12:53.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":"2016-04-05 20:02:16.000000000","updated_by":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"reviewer":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"state":"REVIEWER"},{"updated":"2016-04-06 10:26:00.000000000","updated_by":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"reviewer":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"state":"REVIEWER"},{"updated":"2016-04-06 11:41:01.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":"2016-04-06 17:02:01.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2016-04-06 17:29:36.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"5981af70fdda3ef9f99e5b8ca5f7e2b8b058494a","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-01 15:13:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a0472317b55bd99fa409436fc4eba959220e0027","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-01 16:05:28.000000000","message":"Patch Set 1: Workflow-1\n\nforgot a release note","accounts_in_message":[],"_revision_number":1},{"id":"35b57efc28778e6750b9297be4afb1c60089ddb3","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-01 16:09:06.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"83a13e741d25a70feafc00cad5f1d5d768ce07d8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-01 17:45:24.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/48/300548/2/check/gate-ironic-python-agent-docs/0cd99b6//doc/build/html/ : SUCCESS in 1m 40s\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/48/300548/2/check/gate-ironic-python-agent-pep8/702423c/ : SUCCESS in 3m 47s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/48/300548/2/check/gate-ironic-python-agent-python27/66ae015/ : SUCCESS in 3m 08s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/48/300548/2/check/gate-ironic-python-agent-python34/af249e8/ : SUCCESS in 3m 32s\n- gate-ironic-python-agent-releasenotes http://docs-draft.openstack.org/48/300548/2/check/gate-ironic-python-agent-releasenotes/b4e52fe//releasenotes/build/html/ : SUCCESS in 4m 39s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/48/300548/2/check/gate-tempest-dsvm-ironic-agent_ssh-src/1ccda76/ : SUCCESS in 25m 19s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/48/300548/2/check/gate-tempest-dsvm-ironic-pxe_ipa-src/ad054d8/ : SUCCESS in 49m 45s\n- gate-ironic-inspector-dsvm-ipa-src-nv http://logs.openstack.org/48/300548/2/check/gate-ironic-inspector-dsvm-ipa-src-nv/e03b4b1/ : SUCCESS in 46m 56s (non-voting)\n- gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv http://logs.openstack.org/48/300548/2/check/gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv/7b69cbf/ : SUCCESS in 48m 23s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"ecad9f23544fb53d53bc11cbeeb639cf348d80d5","author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"date":"2016-04-04 12:57:05.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"691872a4d1680073200808fe6e2922d1f4ba44ea","author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"date":"2016-04-04 13:07:04.000000000","message":"Patch Set 2:\n\nI wonder if we should make the timeout for this customisable?","accounts_in_message":[],"_revision_number":2},{"id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2016-04-04 13:18:19.000000000","message":"Patch Set 2: Code-Review-1\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"20a1d5b11d89ccf5d719dc9feb92c7f5c691aa8c","author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"date":"2016-04-04 17:25:19.000000000","message":"Patch Set 2:\n\n(1 comment)\n\nThanks Dmitry for the patch. I have a minor comment.","accounts_in_message":[],"_revision_number":2},{"id":"907a66351cafe7e5271d574d59b4d0f52cb93f56","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 12:22:28.000000000","message":"Patch Set 2: Workflow-1\n\nI think I\u0027ll rework it to be more generic","accounts_in_message":[],"_revision_number":2},{"id":"8887fd7d79d14d9c5ef4247546b10e7d69b2d04e","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 13:05:04.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"4c46cb0caf0dac23ffa07bd6eddda51aa756b203","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2016-04-05 13:09:09.000000000","message":"Patch Set 3: Code-Review+2\n\n(2 comments)\n\nSeems fine to me, I like the dispatch so that folks can override the behavior","accounts_in_message":[],"_revision_number":3},{"id":"be17ae360c2db014a258d527c09c5022b0733cf8","author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"date":"2016-04-05 13:11:23.000000000","message":"Patch Set 3: Code-Review-1\n\nIs there any timeout already defined in dhcp-all-interfaces? Maybe we should use the same value?\n\nMy typical use case would include DHCP on only one interface (out of 2), so I guess I would always pay that 60 seconds delay?","accounts_in_message":[],"_revision_number":3},{"id":"d82050c54e4ad63181c81149e5301ba3019f5bfe","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 13:11:54.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"8a094d87a03c9869643caeb863d615f06521a01d","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2016-04-05 13:13:09.000000000","message":"Patch Set 5: Published edit on patch set 4","accounts_in_message":[],"_revision_number":5},{"id":"ba4022e4248b52db0d52003997038f102d243aa6","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 13:13:54.000000000","message":"Patch Set 4:\n\n\u003e My typical use case would include DHCP on only one interface (out of 2), so I guess I would always pay that 60 seconds delay?\n\nHow does this code know which interface is *that* one? How does this code know if some introspection rules require all IP addresses to be present?\n\nSo yeah, that\u0027s inevitable trade-off.","accounts_in_message":[],"_revision_number":4},{"id":"1f091c983c5251104c88599c1125ab9b36f87946","author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"date":"2016-04-05 13:15:50.000000000","message":"Patch Set 5: Code-Review+1\n\nYeah, I agree there is no way to see which interface should have a lease.","accounts_in_message":[],"_revision_number":5},{"id":"cac5c9d516587370bd088a76b9c5f8274349a674","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2016-04-05 13:16:12.000000000","message":"Patch Set 3:\n\n(1 comment)\n\nA nice thing to have indeed!","accounts_in_message":[],"_revision_number":3},{"id":"f9e524d2d3a57fa083d5bd70998bf4676d267e6c","author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"date":"2016-04-05 13:17:37.000000000","message":"Patch Set 3:\n\nBased on Milan\u0027s idea, maybe we should wait for an IP only on interfaces that are up?","accounts_in_message":[],"_revision_number":3},{"id":"249e7dee6e119ae5a803a87c3297da79f221e9a3","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 13:17:41.000000000","message":"Patch Set 5: Workflow-1\n\nwe are thinking about more tweaks to this patch","accounts_in_message":[],"_revision_number":5},{"id":"809f72f1b0bfea3648512a7e749ee9e3ea16126e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-05 13:52:12.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/48/300548/5/check/gate-ironic-python-agent-docs/530c944//doc/build/html/ : SUCCESS in 1m 44s\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/48/300548/5/check/gate-ironic-python-agent-pep8/8293e31/ : SUCCESS in 1m 37s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/48/300548/5/check/gate-ironic-python-agent-python27/afa6f7f/ : SUCCESS in 1m 37s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/48/300548/5/check/gate-ironic-python-agent-python34/31f2f3c/ : SUCCESS in 3m 35s\n- gate-ironic-python-agent-releasenotes http://docs-draft.openstack.org/48/300548/5/check/gate-ironic-python-agent-releasenotes/6a7ed01//releasenotes/build/html/ : SUCCESS in 2m 15s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/48/300548/5/check/gate-tempest-dsvm-ironic-agent_ssh-src/e7f4591/ : SUCCESS in 37m 41s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/48/300548/5/check/gate-tempest-dsvm-ironic-pxe_ipa-src/ff04682/ : SUCCESS in 27m 32s\n- gate-ironic-inspector-dsvm-ipa-src-nv http://logs.openstack.org/48/300548/5/check/gate-ironic-inspector-dsvm-ipa-src-nv/fe4a5bb/ : SUCCESS in 36m 21s (non-voting)\n- gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv http://logs.openstack.org/48/300548/5/check/gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv/8a305ed/ : SUCCESS in 29m 30s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"e41ba9a2a7881b40f1c157aa18b9ff60e18589cc","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 16:04:14.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"b7683b67761930f9fbe1e285153ac66d8c1f53ef","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":"2016-04-05 16:13:18.000000000","message":"Patch Set 6: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"bf0b22f6e799bd2868a0bb60122fe1de38280a2c","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-05 18:07:51.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"6fe6f52c25e351fd895aa0f934b5f04d9089a487","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":"2016-04-05 18:12:53.000000000","message":"Patch Set 7: Code-Review+2","accounts_in_message":[],"_revision_number":7},{"id":"9d82afdc404502920d396218f1c217e45d5e2690","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-05 18:56:18.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/48/300548/7/check/gate-ironic-python-agent-docs/9d0a8c0//doc/build/html/ : SUCCESS in 4m 31s\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/48/300548/7/check/gate-ironic-python-agent-pep8/d4b6919/ : SUCCESS in 3m 35s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/48/300548/7/check/gate-ironic-python-agent-python27/c48a248/ : SUCCESS in 1m 43s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/48/300548/7/check/gate-ironic-python-agent-python34/60ba192/ : SUCCESS in 1m 58s\n- gate-ironic-python-agent-releasenotes http://docs-draft.openstack.org/48/300548/7/check/gate-ironic-python-agent-releasenotes/65c7461//releasenotes/build/html/ : SUCCESS in 4m 10s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/48/300548/7/check/gate-tempest-dsvm-ironic-agent_ssh-src/80b6a5c/ : SUCCESS in 28m 11s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/48/300548/7/check/gate-tempest-dsvm-ironic-pxe_ipa-src/a622bc7/ : SUCCESS in 27m 17s\n- gate-ironic-inspector-dsvm-ipa-src-nv http://logs.openstack.org/48/300548/7/check/gate-ironic-inspector-dsvm-ipa-src-nv/ec1b269/ : SUCCESS in 43m 19s (non-voting)\n- gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv http://logs.openstack.org/48/300548/7/check/gate-tempest-dsvm-ironic-pxe_ipa-tinyipa-nv/9e9aab9/ : SUCCESS in 38m 55s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"72d5d46e7832aea051132f1b4d91ed2c70e3451d","author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"date":"2016-04-05 20:02:16.000000000","message":"Patch Set 7: Code-Review+1","accounts_in_message":[],"_revision_number":7},{"id":"dd31e4da472e63c69fbc71787892bf8fef59fe3b","author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"date":"2016-04-06 10:26:00.000000000","message":"Patch Set 7: Code-Review+1","accounts_in_message":[],"_revision_number":7},{"id":"16ec9aca5eb9a45a36ae6f458d51ad888291412e","author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"date":"2016-04-06 11:41:01.000000000","message":"Patch Set 7: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"c46453392f8e06a1634bea167f91c476ce6e1da1","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2016-04-06 17:02:01.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1\n\n(1 comment)\n\nI do agree with JayF\u0027s comment from revision 6 regarding putting the wait in at a more generic location, but as it stands I think this is fine.","accounts_in_message":[],"_revision_number":7},{"id":"f08548a0f1f729caa253fe7de502555cfeacb4fa","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-06 17:02:12.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":7},{"id":"a42626be87f6fb9ab672afa446cc712f43d58a4a","date":"2016-04-06 17:29:36.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":7},{"id":"7a450f28bfb0705fe72b06af48a47386b835dfdc","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-06 17:29:36.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/48/300548/7/gate/gate-ironic-python-agent-docs/dc2592c//doc/build/html/ : SUCCESS in 1m 58s\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/48/300548/7/gate/gate-ironic-python-agent-pep8/54754d7/ : SUCCESS in 1m 36s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/48/300548/7/gate/gate-ironic-python-agent-python27/79d4208/ : SUCCESS in 2m 14s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/48/300548/7/gate/gate-ironic-python-agent-python34/f12b6d9/ : SUCCESS in 1m 59s\n- gate-ironic-python-agent-releasenotes http://docs-draft.openstack.org/48/300548/7/gate/gate-ironic-python-agent-releasenotes/3a0e483//releasenotes/build/html/ : SUCCESS in 2m 55s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/48/300548/7/gate/gate-tempest-dsvm-ironic-agent_ssh-src/29546c8/ : SUCCESS in 26m 28s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/48/300548/7/gate/gate-tempest-dsvm-ironic-pxe_ipa-src/f1b8fb1/ : SUCCESS in 26m 26s","accounts_in_message":[],"_revision_number":7},{"id":"34583d7e609727258f44d2d3703d3f8356d1e27b","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2016-04-14 15:12:36.000000000","message":"Patch Set 7: Cherry Picked\n\nThis patchset was cherry picked to branch stable/mitaka as commit 3fba1ee8db0aa0b1519ef2135e602268488570f4","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"3deb25a3cec7955c5e38d83af74add58478f884c","revisions":{"e323a7ca7e57fcf2ef9a1d0550d9e056a4b59f8b":{"kind":"REWORK","_number":1,"created":"2016-04-01 15:13:00.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/1"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 15:09:48.000000000","tz":120},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a loop in the inspection code waiting for all interfaces\nto receive IP addresses with a short (60 seconds) timeout. After the loop\ninspection proceedes in any case, so the worst downside is making inspection\n60 seconds longer.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e323a7ca7e57fcf2ef9a1d0550d9e056a4b59f8b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e323a7ca7e57fcf2ef9a1d0550d9e056a4b59f8b"}]},"branch":"refs/heads/master"},"15fa634e6787fbe1dec433f5fd8039e7419188a8":{"kind":"REWORK","_number":2,"created":"2016-04-01 16:09:06.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/2"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 16:08:45.000000000","tz":120},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a loop in the inspection code waiting for all interfaces\nto receive IP addresses with a short (60 seconds) timeout. After the loop\ninspection proceedes in any case, so the worst downside is making inspection\n60 seconds longer.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/15fa634e6787fbe1dec433f5fd8039e7419188a8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/15fa634e6787fbe1dec433f5fd8039e7419188a8"}]},"branch":"refs/heads/master"},"a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a":{"kind":"REWORK","_number":3,"created":"2016-04-05 13:05:04.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/3"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-05 13:04:10.000000000","tz":120},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a new hardware manager call wait_for_ip_addresses with\nthe default implementation in the base HardwareManager class. It waits for all\ninterfaces to get their IP addresses up for a short (60 seconds by default)\ntimeout. This call is used in the inspection code before getting the whole\ninventory. After the wait inspection proceedes in any case, so the worst downside\nis making inspection 60 seconds longer.\n\nIn the future the same code might be used to avoid failing and retrying during\nlookup, but that\u0027s our of scope for this patch.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a"}]},"branch":"refs/heads/master"},"0765e04b4295e575d25005b2d60d42c1595c058c":{"kind":"REWORK","_number":4,"created":"2016-04-05 13:11:54.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/4"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-05 13:11:16.000000000","tz":120},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a new hardware manager call wait_for_ip_addresses with\nthe default implementation in the base HardwareManager class. It waits for all\ninterfaces to get their IP addresses up for a short (60 seconds by default)\ntimeout. This call is used in the inspection code before getting the whole\ninventory. After the wait inspection proceedes in any case, so the worst downside\nis making inspection 60 seconds longer.\n\nIn the future the same code might be used to avoid failing and retrying during\nlookup, but that\u0027s our of scope for this patch.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/0765e04b4295e575d25005b2d60d42c1595c058c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/0765e04b4295e575d25005b2d60d42c1595c058c"}]},"branch":"refs/heads/master"},"f4c6af1a0c5f4fcd8037bd955db7040205020889":{"kind":"REWORK","_number":5,"created":"2016-04-05 13:13:09.000000000","uploader":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"ref":"refs/changes/48/300548/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/5"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","date":"2016-04-05 13:13:05.000000000","tz":0},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a new hardware manager call wait_for_ip_addresses with\nthe default implementation in the base HardwareManager class. It waits for all\ninterfaces to get their IP addresses up for a short (60 seconds by default)\ntimeout. This call is used in the inspection code before getting the whole\ninventory. After the wait inspection proceedes in any case, so the worst downside\nis making inspection 60 seconds longer.\n\nIn the future the same code might be used to avoid failing and retrying during\nlookup, but that\u0027s our of scope for this patch.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/f4c6af1a0c5f4fcd8037bd955db7040205020889"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/f4c6af1a0c5f4fcd8037bd955db7040205020889"}]},"branch":"refs/heads/master"},"01353d565188b4d5d1c07f5e8be7cf5d1a93bfee":{"kind":"REWORK","_number":6,"created":"2016-04-05 16:04:14.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/6"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-05 16:04:00.000000000","tz":120},"subject":"[WIP] Wait for the interfaces to get IP addresses before inspection","message":"[WIP] Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change introduces a new hardware manager call wait_for_ip_addresses with\nthe default implementation in the base HardwareManager class. It waits for all\ninterfaces to get their IP addresses up for a short (60 seconds by default)\ntimeout. This call is used in the inspection code before getting the whole\ninventory. After the wait inspection proceedes in any case, so the worst downside\nis making inspection 60 seconds longer.\n\nTo avoid waiting for NIC\u0027s that are not even connected, this change extends the\nNetworkInterface class with \u0027has_carrier\u0027 field.\n\nIn the future the same code might be used to avoid failing and retrying during\nlookup, but that\u0027s our of scope for this patch.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/01353d565188b4d5d1c07f5e8be7cf5d1a93bfee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/01353d565188b4d5d1c07f5e8be7cf5d1a93bfee"}]},"branch":"refs/heads/master"},"3deb25a3cec7955c5e38d83af74add58478f884c":{"kind":"REWORK","_number":7,"created":"2016-04-05 18:07:51.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/48/300548/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/48/300548/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/48/300548/7"}}},"commit":{"parents":[{"commit":"3cf5369cb6285fe32c310fba7c712c690feb4ea4","subject":"Add docstrings to all functions in Agent standby extension","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3cf5369cb6285fe32c310fba7c712c690feb4ea4"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-01 14:36:01.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@redhat.com","date":"2016-04-05 18:03:33.000000000","tz":120},"subject":"Wait for the interfaces to get IP addresses before inspection","message":"Wait for the interfaces to get IP addresses before inspection\n\nIn the DIB build the DHCP code (provided by the dhcp-all-interfaces element)\nraces with the service starting IPA. It does not matter for deployment itself,\nas we\u0027re waiting for the route to the Ironic API to appear. However, for\ninspection it may result in reporting back all NIC\u0027s without IP addresses.\nInspection fails in this case.\n\nThis change makes inspection wait for *all* NIC\u0027s to get their IP addresses up\nto a small timeout. The timeout is 60 seconds by default and can be changed\nvia the new ipa-inspection-dhcp-wait-timeout kernel option (0 to not wait).\n\nAfter the wait inspection proceedes in any case, so the worst downside\nis making inspection 60 seconds longer.\n\nTo avoid waiting for NIC\u0027s that are not even connected, this change extends the\nNetworkInterface class with \u0027has_carrier\u0027 field.\n\nCloses-Bug: #1564954\nChange-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3deb25a3cec7955c5e38d83af74add58478f884c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/3deb25a3cec7955c5e38d83af74add58478f884c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
