)]}'
{"id":"openstack%2Fpython-openstackclient~278782","triplet_id":"openstack%2Fpython-openstackclient~master~I05eb0a8364e25ea4711175fdc7d0df391550d040","project":"openstack/python-openstackclient","branch":"master","topic":"alias-spec","hashtags":[],"change_id":"I05eb0a8364e25ea4711175fdc7d0df391550d040","subject":"Spec: Aliases to solve namespacing problem","status":"ABANDONED","created":"2016-02-10 22:39:00.000000000","updated":"2016-06-16 03:54:05.000000000","total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7259fa7b2a39fd59e31b23c7749f3c89c1cb6acb","_number":278782,"virtual_id_number":278782,"owner":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"date":"2016-02-11 07:04:24.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"value":1,"date":"2016-02-11 02:17:51.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2016-02-11 22:49:02.000000000","_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"date":"2016-02-11 18:24:43.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":1,"date":"2016-02-10 22:47:56.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"date":"2016-02-11 14:19:14.000000000","_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"_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":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-02-10 22:47:56.000000000","updated_by":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"reviewer":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"state":"REVIEWER"},{"updated":"2016-02-11 02:17:51.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2016-02-11 07:04:24.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-11 14:19:14.000000000","updated_by":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"reviewer":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"state":"REVIEWER"},{"updated":"2016-02-11 18:24:43.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"}],"messages":[{"id":"0a666e9451e09145463fed5447a1f5e64f5a7709","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2016-02-10 22:39:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"dcc76c253b69c36a83398f9dc27c938026b535f6","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2016-02-10 22:47:56.000000000","message":"Patch Set 1: Code-Review+1\n\nI think this is great. We can quibble over impl details later - I mostly just want to register overall pleasure with the concept.","accounts_in_message":[],"_revision_number":1},{"id":"7b6dd21d9ffd0d2381558326d31358d4b9c101c6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-11 02:17:51.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-pep8 http://logs.openstack.org/82/278782/1/check/gate-python-openstackclient-pep8/fcb1da7/ : SUCCESS in 1m 14s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/82/278782/1/check/gate-python-openstackclient-docs/793416c//doc/build/html/ : SUCCESS in 1m 54s\n- gate-python-openstackclient-python27 http://logs.openstack.org/82/278782/1/check/gate-python-openstackclient-python27/6f29683/ : SUCCESS in 1m 36s\n- gate-python-openstackclient-python34 http://logs.openstack.org/82/278782/1/check/gate-python-openstackclient-python34/c46ce22/ : SUCCESS in 2m 06s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/82/278782/1/check/gate-tempest-dsvm-neutron-src-python-openstackclient/93a2f60/ : SUCCESS in 58m 29s\n- check-osc-plugins http://logs.openstack.org/82/278782/1/check/check-osc-plugins/558d5a2/ : SUCCESS in 1m 30s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/82/278782/1/check/gate-osc-dsvm-functional/3a2fc52/ : SUCCESS in 20m 06s","accounts_in_message":[],"_revision_number":1},{"id":"6499ae822f845c4e167ddc4bb990eb09346baf71","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-02-11 07:04:24.000000000","message":"Patch Set 1:\n\ni\u0027d prefer to not namespace the core services (compute, identity, network, object, volume, image) -- i think there\u0027s enough room for all of these without namespaces.\n\nas for the other project/plugins, it seems they are already namespacing themselves, like congress, queue, baremetal (http://docs.openstack.org/developer/python-openstackclient/plugin-commands.html)\n\nwe\u0027ve also recently added a gate job to these projects that can find conflicting commands when they merge (https://github.com/openstack-infra/project-config/blob/master/jenkins/scripts/check-osc-plugins.sh) instead of when released.","accounts_in_message":[],"_revision_number":1},{"id":"880d3c71c9e7cab77d73812ea3fd84ce07e1d9a6","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2016-02-11 18:24:43.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nI am still not in favor of blanket namespaces, particularly for the commands that are included in the OSC repo.\n\nHowever, if we must discuss them let\u0027s consider not mapping API/service-type into the CLI, as I do not think that granularity is necessary.  This is thinking of the UI as developers looking out, we MUST continue to think of the UI (CLI) from the point of view of users looking in, and users that may or may not know much about how their particular cloud is put together.\n\nWe completely lose the notion of users not needing to know, for example, that Nova and Glance are different, but both have commands that affect compute images. (No, this is not about Nova\u0027s image proxy APIs.)\n\nThe points about admin commands raise the thought that maybe we need to just split those out into an openstack-admin binary.  There are issues with deployed policy changing what might be considered \u0027admin\u0027 in a particular cloud.","accounts_in_message":[],"_revision_number":1},{"id":"ad251db4a9df94517b5ccf32e92dee76f1c4c622","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2016-02-11 18:26:33.000000000","message":"Patch Set 1:\n\nI forgot to address help.  Our help output is a total mess, but that needs to be fixed independent of this idea.  I am afraid we are going to just have to punt on the idea of blindly letting cliff do that for us and hand-craft help that is digestible for users.","accounts_in_message":[],"_revision_number":1},{"id":"95ee2b7682d5831bf0f529f82273c66a02547d39","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2016-02-11 22:49:02.000000000","message":"Patch Set 1:\n\nSo yea, we know help is busted, i think this would assist but it needs to be fixed either way.\n\nSo my intent here is very much to keep the general user visible commands in the root namespace - and as a future facing thing i would like only the user facing (non-admin roles) to be in the root namespace. I completely agree with the goal of talking to an openstack cloud rather than a bunch of independent services. \n\nA core part of this - and why aliases and namespacing plugins is the same spec - is not to remove things from the root namespace but to let us decide what should go in the root namespace and not just be everything. OSC would ship (as mentioned) with a series of aliases that would keep the same commands as we currently have available and for new commands we would extend those aliases where it made sense. \n\nA stretch goal would be from a usability perspective to include things that non-admin users would do in the root namespace and have admin tasks namespaced. I don\u0027t see this as a concern because anyone doing \"openstack hypervisor list\" is sufficiently aware of openstack services that doing \"openstack compute hypervisor list\" is not a big deal. Conversely anyone that does not have the understanding of what hypervisor list does should probably not see that in the root namespace.\n\nMy concern here is that there are already too many commands in the root namespace and talking to thingee about deprecating cinder CLI there are some commands that are not available yet in OSC. I don\u0027t know what they are but if they are not available yet it is highly unlikely they are commands that we need our average boot-a-vm kind of user to know about. Having these namespaced by openstack volume seems reasonable.\n\nTL;DR; I do not want to get rid of commands in the root namespace. I want us to be more selective about what goes in there and have a place for the more administrative commands to go.","accounts_in_message":[],"_revision_number":1},{"id":"a98d7962f9e1642688bb94af08ee12fe9953339e","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2016-06-16 03:54:05.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0a40ca86c9d518dbf06449aacce09df1f61968bc","revisions":{"0a40ca86c9d518dbf06449aacce09df1f61968bc":{"kind":"REWORK","_number":1,"created":"2016-02-10 22:39:00.000000000","uploader":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"ref":"refs/changes/82/278782/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/82/278782/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/82/278782/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/82/278782/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/82/278782/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/82/278782/1"}}},"commit":{"parents":[{"commit":"35833f7bd82ac5d7cad4b5fba0e498d8936e6f48","subject":"Fix DisplayCommandBase comments for cliff ShowOne subclass tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/35833f7bd82ac5d7cad4b5fba0e498d8936e6f48"}]}],"author":{"name":"Jamie Lennox","email":"jamielennox@gmail.com","date":"2016-02-10 22:35:06.000000000","tz":660},"committer":{"name":"Jamie Lennox","email":"jamielennox@gmail.com","date":"2016-02-10 22:35:06.000000000","tz":660},"subject":"Spec: Aliases to solve namespacing problem","message":"Spec: Aliases to solve namespacing problem\n\nDO NOT MERGE THIS.\n\nI\u0027m adding this here as a spec because it\u0027s easier to comment on and\nreview than putting it directly in as a blueprint. If we get to the\npoint of +A then we can just C\u0026P the text out to a blueprint.\n\nI think if we force plugins to only register their commands into their\nown service_type namespace segment then alias from there into the root\nnamespace we can mitigate at least some of the namespace problem.\n\nChange-Id: I05eb0a8364e25ea4711175fdc7d0df391550d040\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/0a40ca86c9d518dbf06449aacce09df1f61968bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/0a40ca86c9d518dbf06449aacce09df1f61968bc"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
