)]}'
{"id":"openstack%2Fpython-openstackclient~279920","triplet_id":"openstack%2Fpython-openstackclient~master~I7d5255c5ce3bd60af77fc70f433ca78dc011a79f","project":"openstack/python-openstackclient","branch":"master","topic":"bug/1541047","hashtags":[],"change_id":"I7d5255c5ce3bd60af77fc70f433ca78dc011a79f","subject":"Fix \u0027openstack --help\u0027 fails if clouds.yaml cannot be read","status":"MERGED","created":"2016-02-14 05:09:00.000000000","updated":"2016-02-17 20:30:49.000000000","submitted":"2016-02-17 20:30:49.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"270674f1e18b3551f90b3d8312a9116573c1cb10","_number":279920,"virtual_id_number":279920,"owner":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":2,"date":"2016-02-17 20:30:49.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},{"value":0,"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"}],"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":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":2,"date":"2016-02-14 19:24:00.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2016-02-17 19:44:56.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},{"value":1,"date":"2016-02-15 15:32:34.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2016-02-17 19:44:56.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},{"value":0,"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-02-14 19:24:00.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"},{"updated":"2016-02-15 15:32:34.000000000","updated_by":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"reviewer":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"state":"REVIEWER"},{"updated":"2016-02-17 19:44:56.000000000","updated_by":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"reviewer":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"state":"REVIEWER"},{"updated":"2016-02-17 20:30:49.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"79305ede9bfe1e5eea4b613bdec245bcd4b03ae8","author":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"date":"2016-02-14 05:09:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"21d0e478a3d64ad5d1db93fd2260f71f78aa5d84","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-02-14 05:23:49.000000000","message":"Patch Set 1:\n\nany way to test this out? i moved the clouds.yaml file but i\u0027m not seeing the exception being raised","accounts_in_message":[],"_revision_number":1},{"id":"4d47a9a566a20b924505be0b6c3bce28949a64b1","author":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"date":"2016-02-14 05:46:52.000000000","message":"Patch Set 1:\n\nHi Steve,\n\nThanks for your comment.\nI could reproduce the way to this issue. see below.\n\n[how to reproduce]\n$ id\nuid\u003d1000(stack) gid\u003d1000(stack) groups\u003d1000(stack),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lpadmin),111(sambashare),117(libvirtd)\n$ sudo chown root:root /etc/openstack/clouds.yaml\n$ sudo chmod 600 /etc/openstack/clouds.yaml \n$ ls -l /etc/openstack/clouds.yaml \n-rw------- 1 root root 578 Jan 15 16:50 /etc/openstack/clouds.yaml\n\nNow, stack user does not have any permission to clouds.yaml and then,\n\n$ openstack --help\n[Errno 13] Permission denied: \u0027/etc/openstack/clouds.yaml\u0027","accounts_in_message":[],"_revision_number":1},{"id":"96c7fe938b70441e24b56e87c5787cab137d5259","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-14 06:02:42.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-openstackclient-pep8 http://logs.openstack.org/20/279920/1/check/gate-python-openstackclient-pep8/7710e89/ : FAILURE in 1m 01s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/20/279920/1/check/gate-python-openstackclient-docs/0a60fc1//doc/build/html/ : SUCCESS in 1m 52s\n- gate-python-openstackclient-python27 http://logs.openstack.org/20/279920/1/check/gate-python-openstackclient-python27/e11d0a7/ : SUCCESS in 1m 09s\n- gate-python-openstackclient-python34 http://logs.openstack.org/20/279920/1/check/gate-python-openstackclient-python34/f218a22/ : SUCCESS in 1m 58s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/20/279920/1/check/gate-tempest-dsvm-neutron-src-python-openstackclient/df1d564/ : SUCCESS in 53m 35s\n- check-osc-plugins http://logs.openstack.org/20/279920/1/check/check-osc-plugins/7b1b7cf/ : SUCCESS in 1m 17s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/20/279920/1/check/gate-osc-dsvm-functional/aab17d1/ : SUCCESS in 16m 47s","accounts_in_message":[],"_revision_number":1},{"id":"02227e0ac237b7103f753bfd1254135c0611c255","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-02-14 06:24:20.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)\n\nI left comments, the following is my suggestion:\n\n-        except (IOError, PermissionError):\n+        except (IOError, OSError):\n+            self.log.critical(\"Could not read clouds.yaml configuration file\")\n             self.print_help_if_requested()\n-            raise exc.CommandError(\n-                \"Cloud not read cloud-config file.\",\n-            )","accounts_in_message":[],"_revision_number":1},{"id":"5f9028e7c92ed45f619a517e37ae742cfce699d3","author":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"date":"2016-02-14 12:45:37.000000000","message":"Patch Set 1:\n\n(2 comments)\n\nThanks for your advice!\n\n \u003e (2 comments)\n \u003e \n \u003e I left comments, the following is my suggestion:\n \u003e \n \u003e -        except (IOError, PermissionError):\n \u003e +        except (IOError, OSError):\n \u003e +            self.log.critical(\"Could not read clouds.yaml\n \u003e configuration file\")\n \u003e self.print_help_if_requested()\n \u003e -            raise exc.CommandError(\n \u003e -                \"Cloud not read cloud-config file.\",\n \u003e -            )\n\nI fixed Line:244, and I have an opinion for Line:248.\nIf \"--help\" is not specified, and it does not have permission to read clouds.yaml file, print_help_if_requested() does not do anything. so it is necessary to raise exception.","accounts_in_message":[],"_revision_number":1},{"id":"57272b8173dd5e4f1610a06158e9056fb21f1428","author":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"date":"2016-02-14 13:08:28.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7bc8e201cd28e72f85f0b3bfe791e3a90df71df1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-14 14:04:00.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-pep8 http://logs.openstack.org/20/279920/2/check/gate-python-openstackclient-pep8/fa010c7/ : SUCCESS in 46s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/20/279920/2/check/gate-python-openstackclient-docs/69bd2fb//doc/build/html/ : SUCCESS in 2m 01s\n- gate-python-openstackclient-python27 http://logs.openstack.org/20/279920/2/check/gate-python-openstackclient-python27/c04ea99/ : SUCCESS in 1m 06s\n- gate-python-openstackclient-python34 http://logs.openstack.org/20/279920/2/check/gate-python-openstackclient-python34/11b743c/ : SUCCESS in 2m 16s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/20/279920/2/check/gate-tempest-dsvm-neutron-src-python-openstackclient/e980e0c/ : SUCCESS in 55m 16s\n- check-osc-plugins http://logs.openstack.org/20/279920/2/check/check-osc-plugins/3f71810/ : SUCCESS in 1m 13s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/20/279920/2/check/gate-osc-dsvm-functional/22c2bfd/ : SUCCESS in 23m 41s","accounts_in_message":[],"_revision_number":2},{"id":"7248622c5020453d8b9b686579e990b07c51ebc1","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-02-14 19:24:00.000000000","message":"Patch Set 2: Code-Review+2\n\ntried it and it works, thanks!","accounts_in_message":[],"_revision_number":2},{"id":"17b093d754979f5cea81d720964b05bb109a3510","author":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"date":"2016-02-15 15:32:34.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"bd2dd7701ec47362858b681532f95b19617851e8","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2016-02-17 19:44:56.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"383e3daeae4bc127ac799f1a940d928f8a2b1002","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-17 19:45:02.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"a2645554077b60b26a8b4abb2cf491655cf24b90","date":"2016-02-17 20:30:49.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"e03fcee3e7b560048d2ac88bdf3e043871771c66","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-17 20:30:49.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/20/279920/2/gate/gate-python-openstackclient-docs/1894eb6//doc/build/html/ : SUCCESS in 1m 47s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/20/279920/2/gate/gate-python-openstackclient-pep8/fcf89b1/ : SUCCESS in 57s\n- gate-python-openstackclient-python27 http://logs.openstack.org/20/279920/2/gate/gate-python-openstackclient-python27/f355668/ : SUCCESS in 1m 29s\n- gate-python-openstackclient-python34 http://logs.openstack.org/20/279920/2/gate/gate-python-openstackclient-python34/0c478ba/ : SUCCESS in 2m 23s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/20/279920/2/gate/gate-tempest-dsvm-neutron-src-python-openstackclient/2921502/ : SUCCESS in 45m 29s\n- gate-osc-dsvm-functional http://logs.openstack.org/20/279920/2/gate/gate-osc-dsvm-functional/d9b320f/ : SUCCESS in 22m 42s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"e5b8e08eb1322447940ced48b492fdc1e87399b2","revisions":{"55719670302fde8ca2d8f0d03ac02eaa6b9053e9":{"kind":"REWORK","_number":1,"created":"2016-02-14 05:09:00.000000000","uploader":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"ref":"refs/changes/20/279920/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/20/279920/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/1"}}},"commit":{"parents":[{"commit":"73cabcc871d0bc0dc98bb0499c75a4258ee86b10","subject":"Merge \"Add release note for custom logging feature\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/73cabcc871d0bc0dc98bb0499c75a4258ee86b10"}]}],"author":{"name":"Hideki Saito","email":"saito@fgrep.org","date":"2016-02-14 05:06:49.000000000","tz":540},"committer":{"name":"Hideki Saito","email":"saito@fgrep.org","date":"2016-02-14 05:08:33.000000000","tz":540},"subject":"Fix \u0027openstack --help\u0027 fails if clouds.yaml cannot be read","message":"Fix \u0027openstack --help\u0027 fails if clouds.yaml cannot be read\n\n\u0027openstack --help\u0027 can display the basic information, even if\n openstack command does not have permission to read clouds.yaml.\n\nChange-Id: I7d5255c5ce3bd60af77fc70f433ca78dc011a79f\nCloses-Bug: #1541047\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/55719670302fde8ca2d8f0d03ac02eaa6b9053e9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/55719670302fde8ca2d8f0d03ac02eaa6b9053e9"}]},"branch":"refs/heads/master"},"e5b8e08eb1322447940ced48b492fdc1e87399b2":{"kind":"REWORK","_number":2,"created":"2016-02-14 13:08:28.000000000","uploader":{"_account_id":13595,"name":"Hideki Saito","email":"saito@fgrep.org","username":"saitou"},"ref":"refs/changes/20/279920/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/20/279920/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/20/279920/2"}}},"commit":{"parents":[{"commit":"73cabcc871d0bc0dc98bb0499c75a4258ee86b10","subject":"Merge \"Add release note for custom logging feature\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/73cabcc871d0bc0dc98bb0499c75a4258ee86b10"}]}],"author":{"name":"Hideki Saito","email":"saito@fgrep.org","date":"2016-02-14 05:06:49.000000000","tz":540},"committer":{"name":"Hideki Saito","email":"saito@fgrep.org","date":"2016-02-14 13:08:01.000000000","tz":540},"subject":"Fix \u0027openstack --help\u0027 fails if clouds.yaml cannot be read","message":"Fix \u0027openstack --help\u0027 fails if clouds.yaml cannot be read\n\n\u0027openstack --help\u0027 can display the basic information, even if\n openstack command does not have permission to read clouds.yaml.\n\nChange-Id: I7d5255c5ce3bd60af77fc70f433ca78dc011a79f\nCloses-Bug: #1541047\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/e5b8e08eb1322447940ced48b492fdc1e87399b2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/e5b8e08eb1322447940ced48b492fdc1e87399b2"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
