)]}'
{"id":"openstack%2Fironic-python-agent~237079","triplet_id":"openstack%2Fironic-python-agent~master~If3284e0b441fe6c2da507640c08a4bbefd9dad2b","project":"openstack/ironic-python-agent","branch":"master","topic":"bug/1505923","hashtags":[],"change_id":"If3284e0b441fe6c2da507640c08a4bbefd9dad2b","subject":"determine tgtd ready status through tgtadm","status":"MERGED","created":"2015-10-19 16:32:53.000000000","updated":"2015-11-17 23:40:09.000000000","submitted":"2015-11-17 23:40:08.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"19f0451e3f9f06faa7be01c2353d888a095e6677","_number":237079,"virtual_id_number":237079,"owner":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2015-11-17 23:40:08.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"date":"2015-10-22 19:47:00.000000000","_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},{"value":0,"date":"2015-10-29 15:24:27.000000000","_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"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":2,"date":"2015-11-17 22:47:54.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":1,"date":"2015-10-29 15:19:20.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":1,"date":"2015-10-20 14:47:59.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"value":2,"date":"2015-10-21 13:05:05.000000000","permitted_voting_range":{"min":2,"max":2},"_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":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":1,"date":"2015-11-17 22:47:54.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"date":"2015-10-20 12:56:31.000000000","_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"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":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":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},{"value":0,"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},{"value":0,"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"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":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},{"_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":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-10-20 12:56:31.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":"2015-10-21 13:05:05.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":"2015-10-22 19:47:00.000000000","updated_by":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"reviewer":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"state":"REVIEWER"},{"updated":"2015-11-17 22:47:54.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":"2015-11-17 23:40:08.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"e77a6ee44a7b3e1eb9c0d7901f488fb776a2d82b","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-19 16:32:53.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"27d16e3a148df7e696405d115062a459b33627c0","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-19 16:58:25.000000000","message":"Patch Set 1: Workflow-1\n\n...got a line-too-long warning from gerrit on commit message","accounts_in_message":[],"_revision_number":1},{"id":"63b3424e1ecd04b5ef62f74f8d646744626e0ac6","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-19 17:02:47.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"defcfe14e8a1eab65275a0cbacd83c18e408bf17","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-10-19 17:48:41.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/79/237079/2/check/gate-ironic-python-agent-pep8/69e36c1/ : SUCCESS in 53s\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/79/237079/2/check/gate-ironic-python-agent-docs/2f02650//doc/build/html/ : SUCCESS in 1m 36s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/79/237079/2/check/gate-ironic-python-agent-python27/a05786e/ : SUCCESS in 1m 06s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/79/237079/2/check/gate-ironic-python-agent-python34/cd2cf2d/ : SUCCESS in 1m 43s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/79/237079/2/check/gate-tempest-dsvm-ironic-agent_ssh-src/ca98e2e/ : SUCCESS in 42m 07s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/79/237079/2/check/gate-tempest-dsvm-ironic-pxe_ipa-src/40d1cdf/ : SUCCESS in 40m 28s","accounts_in_message":[],"_revision_number":2},{"id":"e85d4bf7b3591c832184c9dc8b1488d8599a1148","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2015-10-20 09:23:18.000000000","message":"Patch Set 2: Code-Review-1\n\n(2 comments)\n\nCool! 2 small suggestions inline","accounts_in_message":[],"_revision_number":2},{"id":"23775f0817d48d5112b921e151be0ab59ae5eeec","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-20 12:25:52.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"2a879edaf3c0d6b4b7ba9e3345cbe339ab636dfe","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-10-20 13:21:41.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/79/237079/3/check/gate-ironic-python-agent-pep8/f638e03/ : SUCCESS in 59s\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/79/237079/3/check/gate-ironic-python-agent-docs/4d3aa51//doc/build/html/ : SUCCESS in 1m 04s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/79/237079/3/check/gate-ironic-python-agent-python27/c4e24c7/ : SUCCESS in 1m 04s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/79/237079/3/check/gate-ironic-python-agent-python34/42e050c/ : SUCCESS in 1m 22s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/79/237079/3/check/gate-tempest-dsvm-ironic-agent_ssh-src/ec5e915/ : SUCCESS in 39m 03s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/79/237079/3/check/gate-tempest-dsvm-ironic-pxe_ipa-src/9f922fe/ : SUCCESS in 51m 43s","accounts_in_message":[],"_revision_number":3},{"id":"e0e362ea293356f54a5831326f7a1805f14b142a","author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"date":"2015-10-20 14:47:59.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"e1bed8e475bd014acc97fa326ffc2961e7e323c6","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2015-10-21 13:05:05.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"b5f3a8b99dd8011967cdf25efe73c3535c45cb05","author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"date":"2015-10-22 19:47:00.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"97a22ce4d9273683f04843e60c6a07144815dac6","author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"date":"2015-10-29 15:19:20.000000000","message":"Patch Set 3: Code-Review+1\n\nprocessutils does the sleep.","accounts_in_message":[],"_revision_number":3},{"id":"95b32163a1a42b2ec7d4ae176d94e39c1cd938c5","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-29 15:24:27.000000000","message":"Patch Set 3:\n\n(1 comment)\n\naddressed the missing interval query","accounts_in_message":[],"_revision_number":3},{"id":"83a035032a72a7f4aee4a829612749da0142ff9f","author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"date":"2015-10-30 00:25:47.000000000","message":"Patch Set 2:\n\n(2 comments)\n\naddressed queries","accounts_in_message":[],"_revision_number":2},{"id":"c7d03b6b6a181a28609192dc63dfa1a1c4ec13bd","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":"2015-11-17 22:47:54.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"5913adad0e79bb798805c216b91507d176f44020","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-11-17 22:48:03.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"92833cbb71957e5c59ca1403ea2622d43bc69394","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-11-17 23:40:08.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-ironic-python-agent-docs http://docs-draft.openstack.org/79/237079/3/gate/gate-ironic-python-agent-docs/7612787//doc/build/html/ : SUCCESS in 1m 35s\n- gate-ironic-python-agent-pep8 http://logs.openstack.org/79/237079/3/gate/gate-ironic-python-agent-pep8/bd5b4a5/ : SUCCESS in 54s\n- gate-ironic-python-agent-python27 http://logs.openstack.org/79/237079/3/gate/gate-ironic-python-agent-python27/c165afb/ : SUCCESS in 1m 06s\n- gate-ironic-python-agent-python34 http://logs.openstack.org/79/237079/3/gate/gate-ironic-python-agent-python34/2f38ad2/ : SUCCESS in 1m 12s\n- gate-tempest-dsvm-ironic-agent_ssh-src http://logs.openstack.org/79/237079/3/gate/gate-tempest-dsvm-ironic-agent_ssh-src/88208e0/ : SUCCESS in 43m 39s\n- gate-tempest-dsvm-ironic-pxe_ipa-src http://logs.openstack.org/79/237079/3/gate/gate-tempest-dsvm-ironic-pxe_ipa-src/10d9db8/ : SUCCESS in 50m 48s","accounts_in_message":[],"_revision_number":3},{"id":"8dd312f3c978d14bbd0e3344df8210b0db118a19","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-11-17 23:40:09.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"fb920f41ed181c7ec74e3367f2735bccce07e574","revisions":{"350f1a0bc02af94233a1737b07d66a6ed7719609":{"kind":"REWORK","_number":1,"created":"2015-10-19 16:32:53.000000000","uploader":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"ref":"refs/changes/79/237079/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/79/237079/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/1"}}},"commit":{"parents":[{"commit":"90b4d15b4148b2d44d66d8ebddb838d504b4daf1","subject":"Merge \"Make calling arguments easier to understand\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/90b4d15b4148b2d44d66d8ebddb838d504b4daf1"}]}],"author":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-19 15:21:12.000000000","tz":120},"committer":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-19 16:32:51.000000000","tz":120},"subject":"determine tgtd ready status through tgtadm","message":"determine tgtd ready status through tgtadm\n\nThe intention of the iscsi extension _wait_for_iscsi_daemon function is to wait\ntill the tgtd process boots completely before running any iscsi commands\nthrough the tgtadm command line utility.  The tgtd process utilises a unix\nsocket for communication with the user and the _wait_for_iscsi_daemon function\nasserts the tgtd process status based on the socket presence.  The socket\nname/path to use is not specified by iscsi extension configuration but rather\nfalls-back to a (system-wide) default value[1].  Since tgtd version 1.0.60,\nthis path changed from /var/run/tgtd.ipc_abstract_namespace to\n/var/run/tgtd/socket[2] and now causes a false-negative while waiting for the\ntgtd process to boot[3].\n\nThis patch follows implementation suggestion from the bug report[3] to avoid\nrelying on the socket presence but rather to check the tgtd status by\ntrying to communicate through the tgtadm tool.\n\n[1]\nhttps://github.com/openstack/ironic-python-agent/blob/\n  5bbb9ded082f2cfde5e8877e9f33294eb93a5fb7/\n  ironic_python_agent/extensions/iscsi.py#L47\n[2]\nhttps://github.com/fujita/tgt/commit/d1aa4dcfd691c9409dbad5db49ce6754ce9c1b5a\n[3] https://bugs.launchpad.net/ironic-python-agent/+bug/1505923\n\nChange-Id: If3284e0b441fe6c2da507640c08a4bbefd9dad2b\nCloses-Bug: #1505923\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/350f1a0bc02af94233a1737b07d66a6ed7719609"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/350f1a0bc02af94233a1737b07d66a6ed7719609"}]},"branch":"refs/heads/master"},"e970a4c9353d79b8bc712850f5562156e4b00eae":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2015-10-19 17:02:47.000000000","uploader":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"ref":"refs/changes/79/237079/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/79/237079/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/2"}}},"commit":{"parents":[{"commit":"90b4d15b4148b2d44d66d8ebddb838d504b4daf1","subject":"Merge \"Make calling arguments easier to understand\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/90b4d15b4148b2d44d66d8ebddb838d504b4daf1"}]}],"author":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-19 15:21:12.000000000","tz":120},"committer":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-19 16:58:43.000000000","tz":120},"subject":"determine tgtd ready status through tgtadm","message":"determine tgtd ready status through tgtadm\n\nThe intention of the iscsi extension _wait_for_iscsi_daemon function\nis to wait till the tgtd process boots completely before running any\niscsi commands through the tgtadm command line utility.  The tgtd\nprocess utilises a unix socket for communication with the user and the\n_wait_for_iscsi_daemon function asserts the tgtd process status based\non the socket presence.  The socket name/path to use is not specified\nby iscsi extension configuration but rather falls-back to a\n(system-wide) default value[1].  Since tgtd version 1.0.60, this path\nchanged from /var/run/tgtd.ipc_abstract_namespace to\n/var/run/tgtd/socket[2] and now causes a false-negative while waiting\nfor the tgtd process to boot[3].\n\nThis patch follows implementation suggestion from the bug report[3] to\navoid relying on the socket presence but rather to check the tgtd\nstatus by trying to communicate through the tgtadm tool.\n\n[1] https://github.com/openstack/ironic-python-agent/blob/\n5bbb9ded082f2cfde5e8877e9f33294eb93a5fb7/\nironic_python_agent/extensions/iscsi.py#L47 [2]\nhttps://github.com/fujita/tgt/commit/\nd1aa4dcfd691c9409dbad5db49ce6754ce9c1b5a\n[3] https://bugs.launchpad.net/ironic-python-agent/+bug/1505923\n\nCloses-Bug: #1505923\nChange-Id: If3284e0b441fe6c2da507640c08a4bbefd9dad2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e970a4c9353d79b8bc712850f5562156e4b00eae"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e970a4c9353d79b8bc712850f5562156e4b00eae"}]},"branch":"refs/heads/master"},"fb920f41ed181c7ec74e3367f2735bccce07e574":{"kind":"REWORK","_number":3,"created":"2015-10-20 12:25:52.000000000","uploader":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"ref":"refs/changes/79/237079/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/79/237079/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/79/237079/3"}}},"commit":{"parents":[{"commit":"1aeef4dc0d3125fb9790220ae5af6f7fe2df8b78","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/1aeef4dc0d3125fb9790220ae5af6f7fe2df8b78"}]}],"author":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-19 15:21:12.000000000","tz":120},"committer":{"name":"dparalen","email":"vetrisko@gmail.com","date":"2015-10-20 02:52:59.000000000","tz":120},"subject":"determine tgtd ready status through tgtadm","message":"determine tgtd ready status through tgtadm\n\nThe intention of the iscsi extension _wait_for_iscsi_daemon function\nis to wait till the tgtd process boots completely before running any\niscsi commands through the tgtadm command line utility.  The tgtd\nprocess utilises a unix socket for communication with the user and the\n_wait_for_iscsi_daemon function asserts the tgtd process status based\non the socket presence.  The socket name/path to use is not specified\nby iscsi extension configuration but rather falls-back to a\n(system-wide) default value[1].  Since tgtd version 1.0.60, this path\nchanged from /var/run/tgtd.ipc_abstract_namespace to\n/var/run/tgtd/socket[2] and now causes a false-negative while waiting\nfor the tgtd process to boot[3].\n\nThis patch follows implementation suggestion from the bug report[3] to\navoid relying on the socket presence but rather to check the tgtd\nstatus by trying to communicate through the tgtadm tool.\n\n[1] https://github.com/openstack/ironic-python-agent/blob/\n5bbb9ded082f2cfde5e8877e9f33294eb93a5fb7/\nironic_python_agent/extensions/iscsi.py#L47 [2]\nhttps://github.com/fujita/tgt/commit/\nd1aa4dcfd691c9409dbad5db49ce6754ce9c1b5a\n[3] https://bugs.launchpad.net/ironic-python-agent/+bug/1505923\n\nCloses-Bug: #1505923\nChange-Id: If3284e0b441fe6c2da507640c08a4bbefd9dad2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/fb920f41ed181c7ec74e3367f2735bccce07e574"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/fb920f41ed181c7ec74e3367f2735bccce07e574"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
