)]}'
{"id":"openstack%2Fironic-python-agent~738529","triplet_id":"openstack%2Fironic-python-agent~stable%2Fussuri~I7214fc9dbd903789c9e39ee809f05454aeb5a240","project":"openstack/ironic-python-agent","branch":"stable/ussuri","hashtags":[],"change_id":"I7214fc9dbd903789c9e39ee809f05454aeb5a240","subject":"Add timeout operations to try and prevent hang on read()","status":"MERGED","created":"2020-06-29 22:47:13.000000000","updated":"2020-06-30 08:43:19.000000000","submitted":"2020-06-30 08:41:24.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"738529-1593506484111-326f21e0","meta_rev_id":"ecd69363fcde1825f17d47b06a56224e25589159","_number":738529,"virtual_id_number":738529,"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":[{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-06-30 08:41:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"date":"2020-06-30 01:15:57.000000000","_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]}],"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":2,"date":"2020-06-30 07:07:28.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"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"]}],"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":1,"date":"2020-06-30 07:07:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"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"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"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"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_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-06-30 01:15:57.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"},{"updated":"2020-06-30 07:07:28.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-06-30 08:41:23.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"}],"messages":[{"id":"0115567c27376db12dc090a8c45a809bdc54438d","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:47:13.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c4ffcc61b5eed976cab613efcdf7e7f7448e6e95","author":{"_account_id":23181,"name":"RDO Third Party CI","email":"dmsimard+rdothirdparty@redhat.com","username":"rdothirdparty","tags":["SERVICE_USER"]},"date":"2020-06-30 01:15:57.000000000","message":"Patch Set 1:\n\nBuild succeeded (check pipeline).\n\n- tripleo-ci-centos-8-ovb-1ctlr_1comp-featureset001 https://review.rdoproject.org/zuul/build/ac1b468be0a34b7690da9eca6712155c : SUCCESS in 2h 27m 30s","accounts_in_message":[],"_revision_number":1},{"id":"b233e4be6c7b549ce3e5a9e70fa85fcb2186ec26","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 01:51:15.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6240c01b38024d62bcc91c96766c74a1 : SUCCESS in 4m 45s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/55f9c4daa6214c1a9b83c88075bf927b : SUCCESS in 5m 13s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/14029b0218b3438db8f272f4f1ed9dbb : SUCCESS in 6m 50s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f6eb97bb6bc54fb8a70b375f8e9b6add : SUCCESS in 4m 57s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/724ba3a7977c4b9c9a4e5c354faac057 : SUCCESS in 4m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f4c532f2538e41e98a88ce4d6ca8827b : SUCCESS in 8m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c1553f2620424498b70dc2032a082265 : SUCCESS in 3m 58s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/8f4855fece314328907ca6699179e1ff : SUCCESS in 1h 07m 52s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/8c1d380ad22c4c3b82559f3b9823c885 : SUCCESS in 1h 04m 59s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/27f56f569fe44e87b5cebdf989a64e7c : SUCCESS in 1h 05m 48s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/9a9dabaaf67948ad9c89975595a8cfff : SUCCESS in 1h 01m 15s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/5d5aac939fc84f1486d0369ab66cb50c : SUCCESS in 1h 19m 12s\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/4874c9aad04541e8829438cef2de8081 : SUCCESS in 1h 08m 58s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/d11aaaddfdbd488e8921578e7e21018b : FAILURE in 2m 26s (non-voting)\n- ironic-python-agent-check-image-dib-centos8 https://zuul.opendev.org/t/openstack/build/72592a27dcaa4ef7adc64e4dd5c16bef : FAILURE in 7m 42s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/1838f1315622418caf3c7b0ac03460d1 : TIMED_OUT in 3h 03m 13s (non-voting)\n- ipa-tempest-wholedisk-bios-ipmi-direct-dib-src https://zuul.opendev.org/t/openstack/build/61fb52d1464f44fb953060999cd82ebb : FAILURE in 45m 44s (non-voting)\n- ipa-tempest-partition-bios-ipmi-iscsi-dib-src https://zuul.opendev.org/t/openstack/build/de43fcbb4bce4c32a070c40794dbc39b : FAILURE in 42m 39s (non-voting)\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/2d69b7deb4e74ae5ac84d62140c2f3cb : SUCCESS in 4m 26s (non-voting)\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/ff275e9a2b2e464b9a715ae6f2a235ca : SUCCESS in 6m 19s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"56b2399c516e6905d2a71f3f5c0944aa07c07d08","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2020-06-30 07:07:28.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"b22a6f639578d6913e98d0ff33aaec9ff1f821d4","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 07:07:39.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"fdceb7bf39d9148594a19af6db9f4dcb1b13cea5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 08:41:23.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/833f9f0417c645eeb2805bd1bf020c49 : SUCCESS in 5m 34s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/6f05a53c57104c96818cdb99c7fd2921 : SUCCESS in 5m 13s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/866b080590eb4d9ca564ab1b5ad39678 : SUCCESS in 5m 02s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7c3712add8d84bb68557a6a7a3499fd5 : SUCCESS in 5m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9bb2f279e5544e2db86c29154f2cc85a : SUCCESS in 8m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e73fd00e2b284a9d88b6d010e6c598ef : SUCCESS in 5m 43s\n- ipa-tempest-partition-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/7777ebdd97834e3e92927514f57c76fa : SUCCESS in 1h 23m 15s\n- ipa-tempest-partition-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/fb2f798db2f24f4e932c0df1428c35eb : SUCCESS in 1h 15m 23s\n- ipa-tempest-wholedisk-bios-ipmi-direct-tinyipa-src https://zuul.opendev.org/t/openstack/build/77df13095dbf4cc0a060cda368ae1643 : SUCCESS in 1h 08m 08s\n- ipa-tempest-wholedisk-bios-ipmi-iscsi-tinyipa-src https://zuul.opendev.org/t/openstack/build/b19d7bfe82e04c7d8dec8a0c048f8a0e : SUCCESS in 1h 02m 06s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/b432ecd4b03d4748b5e381f042135a40 : SUCCESS in 1h 28m 25s\n- metalsmith-integration-ipa-src https://zuul.opendev.org/t/openstack/build/7cfd873c89fd4c9fb4c709637ee9fff5 : SUCCESS in 1h 19m 31s","accounts_in_message":[],"_revision_number":1},{"id":"fc62f95de67434ebd445f4ae5986f717acc487e6","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 08:41:24.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"ecd69363fcde1825f17d47b06a56224e25589159","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-06-30 08:43:19.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/02911f18983d4183835581a9cced70d4 : SUCCESS in 1m 34s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cbeb25df3a2e4bec9d54635051833f6a : SUCCESS in 1m 34s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"33c96d00661fd590e831310e1f0488e7185cf370","revisions":{"33c96d00661fd590e831310e1f0488e7185cf370":{"kind":"REWORK","_number":1,"created":"2020-06-29 22:47:13.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/29/738529/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/29/738529/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/738529/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/738529/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/738529/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/29/738529/1"}}},"commit":{"parents":[{"commit":"ed3f00f07ab610960a41691cd55a28b2d7af0457","subject":"Make the install_bootloader command asynchronous","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/ed3f00f07ab610960a41691cd55a28b2d7af0457"}]}],"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:46:06.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","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/33c96d00661fd590e831310e1f0488e7185cf370"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/33c96d00661fd590e831310e1f0488e7185cf370"}]},"branch":"refs/heads/stable/ussuri"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
