)]}'
{"id":"openstack%2Fironic-python-agent~738532","triplet_id":"openstack%2Fironic-python-agent~stable%2Ftrain~I7214fc9dbd903789c9e39ee809f05454aeb5a240","project":"openstack/ironic-python-agent","branch":"stable/train","topic":"738532","hashtags":[],"change_id":"I7214fc9dbd903789c9e39ee809f05454aeb5a240","subject":"Add timeout operations to try and prevent hang on read()","status":"MERGED","created":"2020-06-29 22:52:30.000000000","updated":"2020-07-02 16:56:06.000000000","submitted":"2020-07-02 12:12:35.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"738532-1593691955806-5d897941","meta_rev_id":"397c1503e5a36581ba74d5e8bb66f89cca7756ae","_number":738532,"virtual_id_number":738532,"owner":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-07-02 12:12:35.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"date":"2020-07-02 16:56:06.000000000","post_submit":true,"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"value":2,"date":"2020-07-02 08:06:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"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":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},{"value":1,"date":"2020-07-02 10:22:32.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-07-02 08:06:47.000000000","updated_by":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"reviewer":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"state":"REVIEWER"},{"updated":"2020-07-02 10:22:32.000000000","updated_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"reviewer":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"state":"REVIEWER"},{"updated":"2020-07-02 12:12:35.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2020-07-02 16:56:06.000000000","updated_by":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"reviewer":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"2e96be29398fc28c18cd2e0e67ac726a542ee9cd","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2020-06-29 22:52:30.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7e97154eb714cc6411c47e1a9951e971dcd5045c","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-06-29 23:54:10.000000000","message":"Patch Set 1:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tripleo-ci-centos-7-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/8f5db29d1fe94eeb8f4f3f85f269d652 : FAILURE in 23m 59s\n- tripleo-rhel-8-buildimage-overcloud-full-train https://review.rdoproject.org/zuul/build/dde3c83b8ee74281b3c27de92f21baf9 : RETRY_LIMIT in 6m 34s\n- tripleo-rhel-8-buildimage-ironic-python-agent-train https://review.rdoproject.org/zuul/build/f9f5c4016e1f400c925c283b1a6dae68 : RETRY_LIMIT in 5m 42s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e15439ae29635b0638d780c90e65cd27a7aa4ade","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 00:53:54.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f4b309f0baef4199b2025e71eee15c5e : SUCCESS in 7m 15s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/d5487ce7142643658b2f6c361f5ac925 : FAILURE in 4m 47s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/27fd678ccd254575aed6d36893a987bc : SUCCESS in 5m 15s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d770e53e373c49a9be0561abaa20a039 : SUCCESS in 5m 16s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/76ddaed103b24a8589754fae69465dc8 : SUCCESS in 5m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ec2807d075b1481dab45082fb8b8f713 : SUCCESS in 6m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/411a944841dc4b8485d8c1be903d6c29 : SUCCESS in 3m 37s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/2513bb1935364bcfa6a5dad93801b415 : SUCCESS in 45m 45s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/d7c3b7f427b14306bf99e7a06b05c94e : SUCCESS in 1h 02m 29s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/7d88131611804656bf5325601f9374ff : SUCCESS in 45m 27s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/c7df1e08365a48bfae95b2d55035446d : SUCCESS in 45m 22s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/c962aeb3cbc04d6ab532018942b9074d : SUCCESS in 51m 11s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/043b24b113e045d9a1d472bd501e6cb0 : SUCCESS in 16m 30s (non-voting)\n- ironic-python-agent-check-image-dib-centos7 https://zuul.opendev.org/t/openstack/build/0694923f4242430a9c87d25606978102 : SUCCESS in 10m 56s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/044b632bf5d0414394293431328446ae : SUCCESS in 1h 37m 16s (non-voting)\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/6b46ddb6945d4f6e89d96ca61af247da : RETRY_LIMIT in 29m 39s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/ed0e48f4365243f0bcd10238cad5eded : FAILURE in 33m 01s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/2e6c2934e7bd469783b3fba1a0bee20f : SUCCESS in 6m 16s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9fda51b7207e453eb597f07a8e0718c4 : SUCCESS in 6m 33s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/b3981598283947d7999b46e706f46465 : SUCCESS in 6m 36s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"fefd02d884c1f214385b02204ffe27de18170b0a","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2020-06-30 07:08:52.000000000","message":"Patch Set 1:\n\nwe need to import mock directly again to make the tests work :/","accounts_in_message":[],"_revision_number":1},{"id":"d27ffb4ad584d674dc1a3e93455802bfbc8f13f2","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-06-30 08:29:11.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1bd76727f1f2a93fe22e74a3b7e0eb48aea3cf28","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-06-30 08:30:10.000000000","message":"Patch Set 2: Published edit on patch set 1.","accounts_in_message":[],"_revision_number":2},{"id":"6de80baec1eb890ead7882403c556ce69dd49f48","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-06-30 08:30:22.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"3d360c1ba32b74e3d9921b584d48a16b706c8eaf","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-06-30 08:42:23.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"2faf37ea98bd10ee738eeb7f420d82b5649841d5","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-06-30 08:55:08.000000000","message":"Patch Set 2:\n\nWill need more work for Python 2 + adding https://review.opendev.org/#/c/738566/","accounts_in_message":[],"_revision_number":2},{"id":"2fcd9681bd7c2b020285a5db954eb211b3ccdee7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 10:49:39.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0bde69c01c1a4522a0b620f18c410f8f : SUCCESS in 7m 02s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/120cdf0e19184ba9bb3a66c29fc2c863 : FAILURE in 7m 45s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/16ab014d63d64060bf00a06dc376cb4b : SUCCESS in 6m 38s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/a380898cff2e46a4906f1e9aaabffb42 : SUCCESS in 7m 22s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/21c7d7cb56ec442b845c2b79269b27c7 : SUCCESS in 6m 57s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8b6e14b5d40242459578d002f3a895c3 : SUCCESS in 6m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/81e5d1ffea4f4f7bab94b576f18d985d : SUCCESS in 6m 22s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/b7fbec82c46f49eda6f00f83c3edaa5b : SUCCESS in 1h 07m 41s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/49f003913c8b4872bb02526096452ca9 : SUCCESS in 1h 06m 58s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/3903d2526aae43479cb2b9399592deaa : SUCCESS in 1h 10m 58s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/b8404388c4564e0ab45eb9848ac4cebf : SUCCESS in 1h 05m 10s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/2cfb0b5083a44865893dddd390a5aa3c : SUCCESS in 1h 21m 42s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/88c7a939928a47fdbccb0b90deac750d : SUCCESS in 18m 11s (non-voting)\n- ironic-python-agent-check-image-dib-centos7 https://zuul.opendev.org/t/openstack/build/ebf4a10da8e941f1925063d5063a541d : SUCCESS in 11m 50s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/64f5e4087cb5420ca07d07ca65b9cbff : FAILURE in 1h 58m 21s (non-voting)\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/b7006d18138d423e8dcd31f3e6a93160 : RETRY_LIMIT in 40m 57s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/e3c2b8e0523647698c7f86a82931ecad : FAILURE in 39m 49s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/30ec06531ca94a08a08483217b2cd954 : SUCCESS in 5m 43s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/44e3abc41a38435b915a4ff7a86fc993 : FAILURE in 7m 25s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/81c462ae4db84886b810041a8a3406a0 : SUCCESS in 5m 09s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"aef3d7160c674fadde91b17cdf8d8f430cac5092","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-06-30 12:23:46.000000000","message":"Patch Set 2:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tripleo-ci-centos-7-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/None : NODE_FAILURE in 0s\n- tripleo-rhel-8-buildimage-overcloud-full-train https://review.rdoproject.org/zuul/build/4332f33eafc345f6ab532e33d5888474 : RETRY_LIMIT in 5m 17s\n- tripleo-rhel-8-buildimage-ironic-python-agent-train https://review.rdoproject.org/zuul/build/None : NODE_FAILURE in 0s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"0e690f7007adb85f1be5d2e9859e88dac1fcf91d","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-01 08:35:45.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"70c7c4aa47fd392fcbc5eb3739e7d6bb05aa86df","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-01 11:07:35.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e95a2ae2d37441a6931a468191b089e2 : SUCCESS in 4m 15s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f538b46a009b40cbb7665ba50e738c99 : SUCCESS in 5m 41s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d314525c0e034c969ad5e2080b907f09 : SUCCESS in 5m 38s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/dd753cc72f974d44acd7eec83a55cee1 : SUCCESS in 6m 44s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3d26e97c1f98477a9f5d1a2cf3a4fbba : SUCCESS in 5m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5855dbe2861b4c57893258f6730f8881 : SUCCESS in 7m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0b72bee3a5924938b5f1c4e2415553cd : SUCCESS in 4m 39s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/45130ea0e3014d0689df1b7eb9f8dd6b : SUCCESS in 49m 37s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/fdfb9fc93bf24eeab2bc979cd95f624b : SUCCESS in 1h 10m 03s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/b71151a7ecdc4621b887b04fe4ce5df1 : SUCCESS in 1h 07m 13s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/fffdb3639c034935af7f63be679516a6 : FAILURE in 45m 35s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/3fe403b1010349aa87861e8079a52bd5 : SUCCESS in 1h 26m 43s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/218c1824e0ac410e8ea1a996d95d162b : SUCCESS in 19m 05s (non-voting)\n- ironic-python-agent-check-image-dib-centos7 https://zuul.opendev.org/t/openstack/build/ba4d036820c3439f9ef7466f5961e15b : SUCCESS in 9m 10s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/960a45e2ddf24855a1d8673054788c2e : SUCCESS in 1h 59m 09s (non-voting)\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/02cf86b7a3b448daa98bdbb2410d8adc : RETRY_LIMIT in 44m 00s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/a936462172024c0a89fa2437007a2b08 : FAILURE in 34m 02s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5d07f972c31e45a1bfe42afcda321034 : SUCCESS in 5m 25s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8fb1ef723f6449a986327ac976ba835a : FAILURE in 7m 10s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/52a1aefb6e704ff9ae8876bf47c20afc : SUCCESS in 4m 33s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a64219c469493a1d333073766b04422f22b8ff70","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-07-01 11:39:07.000000000","message":"Patch Set 3:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tripleo-ci-centos-7-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/63a39e4ccec94ac298d716b78e0bea6e : SUCCESS in 2h 39m 54s\n- tripleo-rhel-8-buildimage-overcloud-full-train https://review.rdoproject.org/zuul/build/b7dda6ef94ad4673baef4a2ac8fe8d0f : RETRY_LIMIT in 5m 05s\n- tripleo-rhel-8-buildimage-ironic-python-agent-train https://review.rdoproject.org/zuul/build/d433874b44e9446dac6413e36dcede30 : RETRY_LIMIT in 5m 30s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"008342ee0e903402a3ede7577374e7ffe552d75f","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2020-07-01 18:46:29.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"891edc1c2334844fb442390c65a2d7c1082afc9c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-01 20:54:01.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a6f90842470147608064ca54fe25b138 : SUCCESS in 5m 02s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/25df3866d81d4db09b1c97772d831e10 : SUCCESS in 5m 22s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/0ee387670a5e4aa593a6c69bf6d8814a : SUCCESS in 5m 14s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/51389a9e0196467dbe3c8607c883a19f : SUCCESS in 5m 27s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9a662931ed844740ba84c00b35ff8c55 : SUCCESS in 5m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/13940a7a91ab4cf899d2a80babcc34fb : SUCCESS in 6m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a874aee76b0d4b7393cb18bf71338d26 : SUCCESS in 3m 57s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/6fd01baa2bd14b8b8c32118b8e33f2a8 : SUCCESS in 1h 07m 38s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/d51de403bcb44c09b3a7d964b0b9e7f9 : SUCCESS in 1h 00m 39s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/198ec58f210041449c5cdaf235f9f120 : SUCCESS in 1h 03m 17s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/6159440fb936474785fb7eb46b6a54c0 : SUCCESS in 1h 04m 06s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/4716d6713af8462db7c72cc0f9eed2df : SUCCESS in 1h 22m 25s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/2f694925dce7429dbea7ac466fda4aff : SUCCESS in 16m 11s (non-voting)\n- ironic-python-agent-check-image-dib-centos7 https://zuul.opendev.org/t/openstack/build/98d09e0bd24e44ed88bcee42176e55fb : SUCCESS in 11m 25s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/c725264d96f04316b84e9132f186f04d : SUCCESS in 1h 42m 00s (non-voting)\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/c11ced12f15a4fe7b8162887901eb3e3 : RETRY_LIMIT in 41m 32s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/f27dd0fee73f42f08cf5a609533b2254 : FAILURE in 37m 51s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/b8da1a071fb94c53a0f6f4ecb5d3741d : SUCCESS in 5m 16s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/46c0a546e66040f2a9878059889c0a2b : FAILURE in 6m 12s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/ac348fce320e46f59836d9b8e7a808e9 : SUCCESS in 3m 53s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"6761b338e3b0e4af05b2ceb392e0098e7a42923d","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-07-01 21:25:44.000000000","message":"Patch Set 4:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tripleo-ci-centos-7-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/60fe8902003c40c090c661f23231eeee : SUCCESS in 2h 38m 22s\n- tripleo-rhel-8-buildimage-overcloud-full-train https://review.rdoproject.org/zuul/build/7814cb8c96bf432da22d80d3a3dcc231 : RETRY_LIMIT in 5m 23s\n- tripleo-rhel-8-buildimage-ironic-python-agent-train https://review.rdoproject.org/zuul/build/9563190ac0fd48129c854eea5d424e7b : RETRY_LIMIT in 5m 16s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"f4a4e7384cd7f8e58d21f157f9741579115e823e","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 07:49:05.000000000","message":"Patch Set 4: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"0a2842df613d28965c8c601d10ae88756d0a2f0e","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 07:50:39.000000000","message":"Patch Set 5: Published edit on patch set 4.","accounts_in_message":[],"_revision_number":5},{"id":"846ad55d30cd82334b4d3df52fa103e073b64e57","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 07:50:53.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"5b8486947b77b3a5b263a9d08e777246113cf343","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 07:54:54.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"cfd7fe1b480290ede545dc69ee54a433614709ba","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 07:55:32.000000000","message":"Patch Set 6:\n\nI\u0027ve incorporated the remaining bits from https://review.opendev.org/#/c/738759/","accounts_in_message":[],"_revision_number":6},{"id":"a086d0b2bf92ce4004f50c01d86146f9bb518448","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2020-07-02 08:06:47.000000000","message":"Patch Set 6: Code-Review+2\n\nI ran the tests locally and it looks good now","accounts_in_message":[],"_revision_number":6},{"id":"f30a877283bd489bb5fd4472b33a84310af19426","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-02 10:14:54.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/181b44716c274ce99017d24be3d6a110 : SUCCESS in 5m 49s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/b644f802e4054263abdb4db996a77b2e : SUCCESS in 5m 24s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/8bba32f6cf474d73b6b96563a48a9db9 : SUCCESS in 7m 54s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/27336f9a1bd349ef9b963c16cbccd5b4 : SUCCESS in 5m 58s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ee04956d43c04465867084bd42666eb6 : SUCCESS in 5m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/86b14d7f3dcb4659adda9da2797f9faa : SUCCESS in 7m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/87759251430144eb801efb14182b1f51 : SUCCESS in 7m 04s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/6acac6a335fa452f8232844edd65e44f : SUCCESS in 1h 02m 49s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/3216be36a3f446599e5a4248f33457b9 : SUCCESS in 1h 02m 05s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/034ef9bfe77341b7a74f5b5b93077cfa : SUCCESS in 1h 13m 22s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/df57050534c347ebb370e4a43ae660c4 : SUCCESS in 1h 39m 04s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/73c2839765c948f194293af349133bb6 : SUCCESS in 1h 14m 15s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/fa160024710746bc8f34080dda3f9afc : SUCCESS in 17m 22s (non-voting)\n- ironic-python-agent-check-image-dib-centos7 https://zuul.opendev.org/t/openstack/build/03148798d52b413495b034cc31ada5ea : SUCCESS in 12m 04s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/6e6ace2dd87b44539d3a36e18d12a2b0 : SUCCESS in 2h 16m 31s (non-voting)\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/e7d4943c35094f49aa9c4ef33f5df3ec : RETRY_LIMIT in 39m 14s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/ce9e0addacf84613b79f138cf7ffeb1b : FAILURE in 38m 24s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/0038d624a75b4a0d91b14e1d6fe3c8d8 : SUCCESS in 6m 57s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3b214cbcb8dc4b0fbbded3d1eb651f82 : SUCCESS in 7m 10s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/466762c4cf8a4c329fa2e27028292687 : SUCCESS in 6m 06s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"4977982fa31b7823c85a587636cd99b3e59d373a","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-07-02 10:22:32.000000000","message":"Patch Set 6: Workflow+1","accounts_in_message":[],"_revision_number":6},{"id":"ca6665d9d28a6dfafdbc4d1d1b3414aa22aef9a6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-02 10:22:46.000000000","message":"Patch Set 6: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":6},{"id":"4bfe5a575dd7ea3331bdb9e2612ca6a9afabf46f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-02 12:12:35.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":6},{"id":"7caf98981370dc15e8f1fe28ce31abd6dac40fbe","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-02 12:12:35.000000000","message":"Patch Set 6: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2ecf3f9536484f6483c43bf4aa91928f : SUCCESS in 4m 31s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/aa80195bd1e048bdbc60739ab13f998f : SUCCESS in 6m 10s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/31d0003a86dc4c8f82a80689039c2187 : SUCCESS in 7m 24s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/a1490a2a1a384cb68a33f69e62741e9f : SUCCESS in 5m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/422ffb450e7d4beeafbed790e4c207e1 : SUCCESS in 13m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/19a0cdf8ff1f445795963edd820647e1 : SUCCESS in 5m 37s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/3e1449f2839540488d2d3939dd783a49 : SUCCESS in 1h 09m 09s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/5f5d9ea5caa24e76a09dc0bc1d888197 : SUCCESS in 1h 05m 19s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/f27ac8eb31ca40d289ab6e356bbd82e2 : SUCCESS in 49m 52s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/b2d2f6ef734049c58ab7f82b8761112d : SUCCESS in 58m 38s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/86f8c428bd6840489531e1042ea09d3f : SUCCESS in 1h 11m 48s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b732b9a6f8b34b6fb3ce69a1d081210d : SUCCESS in 7m 57s","accounts_in_message":[],"_revision_number":6},{"id":"16b62514cc9abfeda0017f33824a7aee7ebd104e","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-02 12:17:44.000000000","message":"Patch Set 6:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/405fceea2a804fa7bf06a059ea605fe6 : SUCCESS in 1m 30s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c3372d0b1a1b4d37a1175585e9b84fae : SUCCESS in 1m 33s","accounts_in_message":[],"_revision_number":6},{"id":"b39dc16d229255555b0e11cec3d3b5d6b54c91bf","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-07-02 16:56:06.000000000","message":"Patch Set 6:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tripleo-ci-centos-7-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/9e89747c088942f0b500fc828aab7be1 : SUCCESS in 2h 43m 57s\n- tripleo-rhel-8-buildimage-overcloud-full-train https://review.rdoproject.org/zuul/build/ee89abb06e7546bd978d8448efdb494c : RETRY_LIMIT in 5m 15s\n- tripleo-rhel-8-buildimage-ironic-python-agent-train https://review.rdoproject.org/zuul/build/c4e7b60f3e3d411cac062c22833d788f : RETRY_LIMIT in 7m 08s (non-voting)","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"db925ba08fa33694e5e43d6ea13fe371c4a7a500","revisions":{"471c5bee2cb7fcc4af0abad4d08434836c92df44":{"kind":"REWORK","_number":1,"created":"2020-06-29 22:52:30.000000000","uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/32/738532/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/1"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-29 22:51:37.000000000","tz":-420},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/471c5bee2cb7fcc4af0abad4d08434836c92df44"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/471c5bee2cb7fcc4af0abad4d08434836c92df44"}]},"branch":"refs/heads/stable/train"},"b99b433c885609c27a3304ef0729ef53066a8f59":{"kind":"REWORK","_number":2,"created":"2020-06-30 08:30:10.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/32/738532/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/2"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2020-06-30 08:30:02.000000000","tz":0},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b99b433c885609c27a3304ef0729ef53066a8f59"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b99b433c885609c27a3304ef0729ef53066a8f59"}]},"branch":"refs/heads/stable/train"},"e172ac40a2a61c92564146a9c5e87c096d44ad91":{"kind":"REWORK","_number":3,"created":"2020-07-01 08:35:45.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/32/738532/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/3"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2020-07-01 08:35:23.000000000","tz":120},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e172ac40a2a61c92564146a9c5e87c096d44ad91"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e172ac40a2a61c92564146a9c5e87c096d44ad91"}]},"branch":"refs/heads/stable/train"},"d4a4c89ea78c5527746b7af52d4727120e5074ea":{"kind":"REWORK","_number":4,"created":"2020-07-01 18:46:29.000000000","uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/32/738532/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/4"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-07-01 18:46:18.000000000","tz":-420},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/d4a4c89ea78c5527746b7af52d4727120e5074ea"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/d4a4c89ea78c5527746b7af52d4727120e5074ea"}]},"branch":"refs/heads/stable/train"},"8228359a03e7c5b2cc8573cdb216f613feb15d98":{"kind":"REWORK","_number":5,"created":"2020-07-02 07:50:39.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/32/738532/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/5"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2020-07-02 07:50:33.000000000","tz":0},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/8228359a03e7c5b2cc8573cdb216f613feb15d98"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/8228359a03e7c5b2cc8573cdb216f613feb15d98"}]},"branch":"refs/heads/stable/train"},"db925ba08fa33694e5e43d6ea13fe371c4a7a500":{"kind":"REWORK","_number":6,"created":"2020-07-02 07:54:54.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/32/738532/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/32/738532/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/32/738532/6"}}},"commit":{"parents":[{"commit":"7bad00cfe94198f83fd41d92b721ccae3d848036","subject":"Merge \"Rescan after restarting the md device\" into stable/train","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/7bad00cfe94198f83fd41d92b721ccae3d848036"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2020-06-09 21:36:48.000000000","tz":-420},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2020-07-02 07:53:41.000000000","tz":120},"subject":"Add timeout operations to try and prevent hang on read()","message":"Add timeout operations to try and prevent hang on read()\n\nSocket read operations can be blocking and may not timeout as\nexpected when thinking of timeouts at the beginning of a\nsocket request. This can occur when streaming file contents\ndown to the agent and there is a hard connectivity break.\n\nIn other words, we could be in a situation like:\n\n- read(fd, len) - Gets data\n- Select returns context to the program, we do things with data.\n** hard connectivity break for next 90 seconds**\n-  read(fd, len) - We drain the in-memory buffer side of the socket.\n-  Select returns context, we do things with our remaining data\n** Server retransmits **\n** Server times out due to no ack **\n** Server closes socket and issues a FIN,RST packet to the client **\n** Connectivity restored, Client never got FIN,RST **\n** Client socket still waiting for more data **\n- read(fd, len) - No data returned\n- Select returns, yet we have no data to act on as the buffer is\n  empty OR the buffered data doesn\u0027t meet our requried read len value.\n  tl;dr noop\n- read(fd, len) \u003c-- We continue to try and read until the socket is\n                    recognized as dead, which could be a long time.\n\nNOTE: The above read()s are python\u0027s read() on an contents being\n      streamed. Lower level reads exist, but brains will hurt\n      if we try to cover the dynamics at that level.\n\nAs such, we need to keep an eye on when the last time we\nreceived a packet, and treat that as if we have timed out\nor not. Requests periodically yeilds back even when no data\nhas been received, in order to allow the caller to wall\nclock the progress/status and take appropriate action.\n\nWhen we exceed the timeout time value with our wall clock,\nwe will fail the download.\n\n(cherry picked from commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8)\n(cherry picked from commit 33c96d00661fd590e831310e1f0488e7185cf370)\n\nThis change incorporates the follow-up commit:\n\nFixes minor issues in the read() retries patch\n\nFollow-up to commit c5b97eb781cf9851f9abe87a1500b4da55b8bde8.\n\nTwo things slipped through the cracks:\n* ImageDownloadError was instantiated incorrectly, resulting in a wrong\n  error message. This was uncovered by using assertRaisesRegext in tests.\n* We allowed calling write(None). This was uncovered by avoiding sleep(4)\n  in tests and enabling more failed calls before timeout.\n\n(cherry picked from commit 00ad03b709275e185ccb5b8e80cb7db4b9071d56)\n\nCo-Authored-By: Dmitry Tantsur \u003cdtantsur@protonmail.com\u003e\nChange-Id: I7214fc9dbd903789c9e39ee809f05454aeb5a240\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/db925ba08fa33694e5e43d6ea13fe371c4a7a500"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/db925ba08fa33694e5e43d6ea13fe371c4a7a500"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
