)]}'
{"goals/train/osc.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f862effd7bcd1df1744339aa13cd66773f2a98a3","unresolved":false,"context_lines":[{"line_number":2,"context_line":" Finish moving legacy python-*client CLIs to python-openstackclient"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The primary goal of the openstackclient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack user a single CLI with standard interface, argument naming, etc."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_8f833acb","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":39},"updated":"2019-02-27 13:57:40.000000000","message":"OpenStackClient\n\n(when used as the project name)","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"85f3d9bf116ac2a17dc06869b787e0554ca7b5e7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack user a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stadium, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This goal is the first part of probably longer term goal of finishing the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_cbe6f6b0","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":39},"updated":"2019-02-28 14:16:06.000000000","message":"I\u0027m trying to figure out if \"developments stadium\" is a term of art that I\u0027m not aware of, a typo, or something else. In any case, I stumbled here.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f862effd7bcd1df1744339aa13cd66773f2a98a3","unresolved":false,"context_lines":[{"line_number":8,"context_line":"OpenStack user a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stadium, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This goal is the first part of probably longer term goal of finishing the"},{"line_number":13,"context_line":"transition of the client\u0027s CLI development to OSC. For this release it focuses"},{"line_number":14,"context_line":"on following items:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_6fccd633","line":11,"updated":"2019-02-27 13:57:40.000000000","message":"[See comment below for background on this paragraph]\n\nThere is a larger multi-cycle goal of completing the transition from project-specific command line clients and Python libraries to OpenStackClient and the OpenStack SDK.  Generally there is no dependency between these two components, they could happen in parallel and one command at a time.\n\n* Bring OSC commands to parity with the project CLIs.  This is adding resources and options so the same operations and capabilities are available in OSC.\n* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK.  This implies that SDK has the required support and is an external dependency.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f862effd7bcd1df1744339aa13cd66773f2a98a3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"This goal is the first part of probably longer term goal of finishing the"},{"line_number":13,"context_line":"transition of the client\u0027s CLI development to OSC. For this release it focuses"},{"line_number":14,"context_line":"on following items:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"* Switch `image` service from using `glanceclient` to OpenStackSDK and remove"},{"line_number":17,"context_line":"  glanceclient from python-openstackclient dependencies, while completing"},{"line_number":18,"context_line":"  implementation to the glanceclient level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_4faeb22e","line":15,"updated":"2019-02-27 13:57:40.000000000","message":"[Reword the above paragraph as it is no longer the introduction to the goal, just to the work items below. This is what I want to say but my morning-brain is making it awkward to get written...]\n\nThe following have been identified as areas needing attention, and are not exclusive, but the areas where people have already committed to doing the work or at least have performed some analysis on the work required.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"495e33d3a3d08628230a7f6d715acf4f963e3c6f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"* Implement microversions support in `compute`, `volume` services and complete"},{"line_number":20,"context_line":"  their implementation to the corresponding level of the native client"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Next steps would be triggering CLI deprecation in `glanceclient`, `novaclient`,"},{"line_number":23,"context_line":"`cinderclient` projects. In parallel OpenStackSDK implementation should be also"},{"line_number":24,"context_line":"prepared to be used from the OSC for the corresponding services"},{"line_number":25,"context_line":"On the other hand OpenStackSDK should be prepared to be used for a low-level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_4f232959","line":22,"updated":"2019-02-26 16:09:57.000000000","message":"Might be good to add some more wording that this paragraph is describing future goals that are not part of the current Train cycle goal proposal, just to give context on the overall effort that this goal is striving for.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4678a93028f32071d1574f59d0894eb4d2a7c28f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"* Implement microversions support in `compute`, `volume` services and complete"},{"line_number":20,"context_line":"  their implementation to the corresponding level of the native client"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Next steps would be triggering CLI deprecation in `glanceclient`, `novaclient`,"},{"line_number":23,"context_line":"`cinderclient` projects. In parallel OpenStackSDK implementation should be also"},{"line_number":24,"context_line":"prepared to be used from the OSC for the corresponding services"},{"line_number":25,"context_line":"On the other hand OpenStackSDK should be prepared to be used for a low-level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_9ac0682d","line":22,"in_reply_to":"9fdfeff1_4f232959","updated":"2019-02-26 21:38:02.000000000","message":"\u003e Might be good to add some more wording that this paragraph is\n \u003e describing future goals that are not part of the current Train\n \u003e cycle goal proposal, just to give context on the overall effort\n \u003e that this goal is striving for.\n\n++\n\nAs a reader, if I\u0027m not working directly on glance, cinder, or nova I struggle to see how I can contribute to this goal.\n\nA roadmap might help me piece the big picture together.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"7544a0f053b7b90e20bdae5cb10d9a80be164fa1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"* Implement microversions support in `compute`, `volume` services and complete"},{"line_number":20,"context_line":"  their implementation to the corresponding level of the native client"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Next steps would be triggering CLI deprecation in `glanceclient`, `novaclient`,"},{"line_number":23,"context_line":"`cinderclient` projects. In parallel OpenStackSDK implementation should be also"},{"line_number":24,"context_line":"prepared to be used from the OSC for the corresponding services"},{"line_number":25,"context_line":"On the other hand OpenStackSDK should be prepared to be used for a low-level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_0aae6fe6","line":22,"in_reply_to":"9fdfeff1_4f232959","updated":"2019-02-26 16:46:49.000000000","message":"Agree it might be not very clear. I think when both items above are completed deprecation can be triggered (Independent from release). SDK is also somehow parallel work. Let\u0027s see what Dean thinks.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f862effd7bcd1df1744339aa13cd66773f2a98a3","unresolved":false,"context_lines":[{"line_number":19,"context_line":"* Implement microversions support in `compute`, `volume` services and complete"},{"line_number":20,"context_line":"  their implementation to the corresponding level of the native client"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Next steps would be triggering CLI deprecation in `glanceclient`, `novaclient`,"},{"line_number":23,"context_line":"`cinderclient` projects. In parallel OpenStackSDK implementation should be also"},{"line_number":24,"context_line":"prepared to be used from the OSC for the corresponding services"},{"line_number":25,"context_line":"On the other hand OpenStackSDK should be prepared to be used for a low-level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_af05de7b","line":22,"in_reply_to":"9fdfeff1_9ac0682d","updated":"2019-02-27 13:57:40.000000000","message":"There are two parts overall to the work in OSC:\n\n* Reach parity so project CLIs can be deprecated (what Keystone did a while back)\n* Replace the use of project client Python libs with OpenStack SDK\n\nThe second bullet has an implied requirement of the SDK having parity that has been discussed as a possible goal in the past.\n\nOf all of this work, the only hard dependency here is that the SDK has to have required support before OSC can cut over to using it, and that is only at a per-command level, not the entire REST API.\n\nI think for this goal we need to be a bit broader as Lance suggests because there is/may be plenty of work in other projects that can also happen.  My personal priority has always been to eliminate python-glanceclient first due to the number of unique dependencies it has.\n\nWe can also include statements about tracking and supporting the OSC plugins that may also have project-specific CLIs.  This work would not take place in the OSC repos but would still be inclusive of more of the community and work toward the goal.","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"85f3d9bf116ac2a17dc06869b787e0554ca7b5e7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Champion"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Artem Goncharov (gtema) - OpenTelekomCloud"},{"line_number":35,"context_line":"Dean Troyer (dtroyer) -"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Gerrit Topic"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_6b8a6abc","line":34,"updated":"2019-02-28 14:16:06.000000000","message":"Are corporate affiliations important here? Is it because we want to be able to show \"company X is caring about an important thing\"? (which is fine, just want to undersatnd)","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2dddb7ed62a6bdd5d2995af7f20443dbdf13c6ba","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Champion"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Artem Goncharov (gtema) - OpenTelekomCloud"},{"line_number":35,"context_line":"Dean Troyer (dtroyer) -"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Gerrit Topic"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_5fcdd22d","line":34,"in_reply_to":"9fdfeff1_6b8a6abc","updated":"2019-02-28 22:50:58.000000000","message":"Good question, I mentioned mine as a reaction I suppose...I\u0027m going to change it below to be my full OpenStack-used email instead...","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f862effd7bcd1df1744339aa13cd66773f2a98a3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Artem Goncharov (gtema) - OpenTelekomCloud"},{"line_number":35,"context_line":"Dean Troyer (dtroyer) -"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Gerrit Topic"},{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_8f357a47","line":35,"updated":"2019-02-27 13:57:40.000000000","message":"Intel","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2dddb7ed62a6bdd5d2995af7f20443dbdf13c6ba","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Artem Goncharov (gtema) - OpenTelekomCloud"},{"line_number":35,"context_line":"Dean Troyer (dtroyer) -"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Gerrit Topic"},{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_dfe0e299","line":35,"in_reply_to":"9fdfeff1_8f357a47","updated":"2019-02-28 22:50:58.000000000","message":"rather let\u0027s put the full email here: dtroyer@gmail.com","commit_id":"d527b646a677637fb7db773105e72e8528cdf12d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35e3ca74b83dc28969b04abd8a851bb9addf792e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the following statements:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* OSC uses OpenStackSDK for the API invocation."},{"line_number":26,"context_line":"* OpenStack Projects needing a CLI do not offer CLI implementation in their"},{"line_number":27,"context_line":"  client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_e7ae6fe5","line":27,"range":{"start_line":26,"start_character":31,"end_line":27,"end_character":18},"updated":"2019-03-01 16:13:58.000000000","message":"I know what you mean, but this sounds controversial - the plugins *are* provided in the client libraries.","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"4ea884be8e29ca4b9b2bdb6d3e7608456955213e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the following statements:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* OSC uses OpenStackSDK for the API invocation."},{"line_number":26,"context_line":"* OpenStack Projects needing a CLI do not offer CLI implementation in their"},{"line_number":27,"context_line":"  client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_a7e06798","line":27,"range":{"start_line":26,"start_character":31,"end_line":27,"end_character":18},"in_reply_to":"9fdfeff1_e7ae6fe5","updated":"2019-03-05 13:03:27.000000000","message":"is this better?","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35e3ca74b83dc28969b04abd8a851bb9addf792e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_47409b06","line":31,"updated":"2019-03-01 16:13:58.000000000","message":"What about splitting the \"openstack\" executable out of openstackclient (e.g. into osc-lib), so that users don\u0027t have to pull all core services if they don\u0027t need them (e.g. in case of standalone ironic)?\n\nWhile we\u0027re on it, we need to make sure our no-auth story is good in OSC (e.g. it does not require passing a fake token just to make OSC happy).","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6a6fbcc8c4df6e2686e3ce7ca955baf06e88d9e8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_78877a62","line":31,"in_reply_to":"9fdfeff1_47409b06","updated":"2019-03-01 18:05:02.000000000","message":"osc-lib already has everything it needs to build stand-alone executables, that is actually one of the reasons it exists. I know Ironic asked for it, I do not know if they ever used it.\n\nThe no-auth story probably does need some validation and attention.","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35e3ca74b83dc28969b04abd8a851bb9addf792e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":56,"context_line":"\"completed\" for a given project."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_e7974f8f","line":63,"range":{"start_line":58,"start_character":0,"end_line":63,"end_character":39},"updated":"2019-03-01 16:13:58.000000000","message":"Do we need to be that specific? If each project adds their item here, the list is going to be crazy. Isn\u0027t it what storyboard is for?","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6a6fbcc8c4df6e2686e3ce7ca955baf06e88d9e8","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":56,"context_line":"\"completed\" for a given project."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_586076a5","line":63,"range":{"start_line":58,"start_character":0,"end_line":63,"end_character":39},"in_reply_to":"9fdfeff1_e7974f8f","updated":"2019-03-01 18:05:02.000000000","message":"Sure, but I do think listing the limited number of projects actually in the OSC repo (6) is relevant.  Neutron is largely done mod another pass for parity, keystone already lost their CLI, it\u0027s mostly SDK transition work, swift code is entirely in the OSC repo from before swiftclient was a thing, so again mostly parity and SDK transition.","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"4ea884be8e29ca4b9b2bdb6d3e7608456955213e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":56,"context_line":"\"completed\" for a given project."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_877c43eb","line":63,"range":{"start_line":58,"start_character":0,"end_line":63,"end_character":39},"in_reply_to":"9fdfeff1_e7974f8f","updated":"2019-03-05 13:03:27.000000000","message":"good question. You mean those with \"microversion level\" can be shifted to storyboard? On the other hand we want something \"measurable\" here for particularly Train.\nWhat could be further criteria?","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35e3ca74b83dc28969b04abd8a851bb9addf792e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_c7880b6c","line":64,"range":{"start_line":64,"start_character":3,"end_line":64,"end_character":8},"updated":"2019-03-01 16:13:58.000000000","message":"As much as I would love some cider on this Friday evening, I think you meant Cinder :)","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"4ea884be8e29ca4b9b2bdb6d3e7608456955213e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_c76d6b2f","line":64,"range":{"start_line":64,"start_character":3,"end_line":64,"end_character":8},"in_reply_to":"9fdfeff1_c7880b6c","updated":"2019-03-05 13:03:27.000000000","message":"ROFL","commit_id":"5443e2c7403fa109ffd57fa14aaeb34527b53cfb"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b741933080f914a9863559471c6715d1d430ce23","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the following statements:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* OSC uses OpenStackSDK for the API invocation."},{"line_number":26,"context_line":"* OpenStack Projects needing a CLI do not offer a standalone CLI tool implementation "},{"line_number":27,"context_line":"  in their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_4c9de5b9","line":26,"range":{"start_line":26,"start_character":84,"end_line":26,"end_character":85},"updated":"2019-03-05 12:41:55.000000000","message":"nit, extra space","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b741933080f914a9863559471c6715d1d430ce23","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_cc91d59c","line":62,"updated":"2019-03-05 12:41:55.000000000","message":"This sudden mention of nova feels out of the blue. Is this part of the functional parity with nova-client aspect?\n\nThat\u0027s not clear from the \"For the Train release it is proposed to concentrate on migration of `image` service\" above.","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3b085df1ab7a954636484f4a4ca7946affc8ff1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f7835455","line":62,"in_reply_to":"9fdfeff1_6cc22937","updated":"2019-03-06 20:43:03.000000000","message":"Getting to 2.72 (latest in Stein) is going to be tough for the compute API in Train if only 1-2 people are working on this, and it\u0027s then definitely less of a community-wide goal if lots of community non-nova people are working on filling the gaps in the compute API support in OSC.\n\nWhat I have suggested several times when talking about this is hitting some widely-used older release baseline, e.g. mitaka or newton at this point.\n\nThe max compute API version in mitaka was 2.25 and looking at:\n\nhttps://etherpad.openstack.org/p/compute-api-microversion-gap-in-osc\n\nYou\u0027ll see there are plenty of gaps between 2.1 and 2.25 support in OSC. So a reasonable goal for *nova* would be to have feature parity up through mitaka, which sounds like an extremely low bar, but it\u0027s also something that should be achievable, which I think we\u0027ll need as part of this effort.\n\nIf you want to go further, for the compute API, 2.38 was the max in newton and newton is our current (newest) EOL branch.\n\nFor other projects like ironic and designate that have always had OSC plugins and therefore more current CLIs, setting a goal for mitaka or newton parity doesn\u0027t make sense, so I\u0027m not sure what the goal would be for those projects.","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"4ea884be8e29ca4b9b2bdb6d3e7608456955213e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_6cc22937","line":62,"in_reply_to":"9fdfeff1_cc91d59c","updated":"2019-03-05 13:03:27.000000000","message":"What I wanted is somehow to describe in details, what is really required. This is a never-ending catch game, where service adds new microversions and CLI need to make use of them. So we might want to give some base.","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b741933080f914a9863559471c6715d1d430ce23","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_8c8bcd66","line":64,"range":{"start_line":64,"start_character":3,"end_line":64,"end_character":8},"updated":"2019-03-05 12:41:55.000000000","message":"Cinder","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3b085df1ab7a954636484f4a4ca7946affc8ff1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cider microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_b7f2ac05","line":64,"range":{"start_line":64,"start_character":3,"end_line":64,"end_character":8},"in_reply_to":"9fdfeff1_8c8bcd66","updated":"2019-03-06 20:43:03.000000000","message":"I think the same things I said about nova are going to be true for cinder here, and I\u0027m not sure if anyone has even done a gap analysis for the block storage API with OSC yet to know how much work that will be.","commit_id":"0c00ac3c9f5749850ec1ef3e70671da02792af03"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cf9784a8773daf3fb2ed60cafd780c491090032b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The primary goal of the OpenStackClient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack user a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_178f002b","line":8,"range":{"start_line":8,"start_character":10,"end_line":8,"end_character":14},"updated":"2019-03-06 21:02:30.000000000","message":"users","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cf9784a8773daf3fb2ed60cafd780c491090032b","unresolved":false,"context_lines":[{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack user a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"There is a larger multi-cycle goal of completing the transition from"},{"line_number":13,"context_line":"project-specific command line clients and Python libraries to OpenStackClient"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b7b14ce4","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":80},"updated":"2019-03-06 21:02:30.000000000","message":"I\u0027m not sure what this is saying. What is \"development stage\"? I think you\u0027re just saying it\u0027s been stable for several years and some projects, e.g. keystone, have already migrated from their legacy CLI (python-keystoneclient) to OSC. And other projects have always used OSC plugins for CLI, like ironic, designate and placement.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"dd598f551fff59acc97a8ba9943516b33e6101b7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_6e8230cb","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"updated":"2019-03-06 18:43:54.000000000","message":"As noted below, this could also be phrased in terms of using the SDK for session management and getting all of the common features while still having the Python API outside of the SDK.  It would be the project\u0027s choice, with the community preference for including official APIs in the SDK directly.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cf9784a8773daf3fb2ed60cafd780c491090032b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b7ff0c66","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_6e8230cb","updated":"2019-03-06 21:02:30.000000000","message":"If projects have to make a choice, we should provide guidance. So if I\u0027m working on nova which already has a huge OSC gap in functionality, would the recommendation to be to use the existing python-novaclient python SDK for filling the OSC CLI gaps (since OSC already uses novaclient as an SDK)? Or would the recommendation be to get the openstacksdk compute API support up to date first and then have OSC use that to fill the CLI gaps (I very much assume the former).\n\nBut that scenario might not be true for other projects who already have a lot of support in the SDK and can rely on that for fleshing out the CLI.\n\nFor nova, I think it\u0027s going to be one or the other (SDK work or OSC CLI work) and we have to set a goal for an older release parity (mitaka or newton).","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"8b0e9231e44a3939fee12e0a7d4b8f289d515fa4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b327f3b6","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_ae78eef7","updated":"2019-03-21 20:25:24.000000000","message":"Hopefully it is clear that nova lacks the resources to bring osc to parity in one release even without porting to SDK. So since this is a long-term thing, my preference would be to do it in the way that doesn\u0027t throw away work, which is what happens if we catch up using novaclient and then start porting to sdk. So I would like to see:\n\n- An initial effort to set up the framework for osc-nova [1] via SDK if that\u0027s not already there. That framework will obviously need to live side-by-side with the existing novaclient back end for \"a while\".\n- Any new work in novaclient mirrored in osc-nova in the sdk-using way, even if it means porting an existing chunk of osc-nova from novaclient to sdk [2].\n- In the background, existing novaclient-using pieces of osc-nova ported to, and parity gaps filled with, sdk-ness \"as resources allow\" [3].\n\n[1] by which I mean openstackclient/compute, unless we care to make a separate osc-nova (osc-compute?) project\n[2] obviously this is not an absolute mandate; if it turns out to be huge for a specific feature, we can have an exception process to defer\n[3] which is obviously the big thing: who\u0027s going to do the work here? Like getting rid of mox [4], this is likely to be a thankless task where somebody does a lot of hard work and then watches their patches sit in limbo because reviewers are focused on fancy features.\n[4] https://review.openstack.org/#/q/project:openstack/nova+branch:master+topic:bp/mox-removal-stein","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a1c3c0450ede7d493b5bff6a6d2ba83cf02d5a4b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_ba405109","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_b7ff0c66","updated":"2019-03-06 21:32:20.000000000","message":"There is no one-size-fits-any for this, there are too many variables, which is why I am trying to phrase things in terms of objectives and let the projects sort out their right path.\n\nFor nova, it could be one or the other, or can be both, as needed.  These are not exclusive and both can be done one command at a time.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e1c3b9959a65341a4e70e2a0fd06d481ed365171","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_c306ed52","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_ba405109","updated":"2019-03-15 12:04:05.000000000","message":"In the case of novaclient, we could create a list of all the \"gaps\" between that and OSC. That list could be broken into bite-size chunks that could be worked on one-by-one until there are no more gaps. While that is happening, nova should have a policy of no changes to novaclient without also making the corresponding change to OSC.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4d256240e6cd6eb32cbd07609823188c305ac39","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_c6b7daf4","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_c306ed52","updated":"2019-03-15 13:23:40.000000000","message":"It would be great to do it this way. Can we make such assumption or policy here? I doubt","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"a7e40ef3d06d2d1b8b89fc71fca3337bb2d86bf9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The target state of the CLI implementation for OpenStack can be described with"},{"line_number":23,"context_line":"the following statements:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_ae78eef7","line":20,"range":{"start_line":20,"start_character":23,"end_line":20,"end_character":48},"in_reply_to":"5fc1f717_c6b7daf4","updated":"2019-03-21 16:28:13.000000000","message":"Well, it would depend on the Nova PTL.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ff3f4a5901fdc295086ccffef0519ada6658f807","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  in their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_e8f666d7","line":30,"updated":"2019-03-15 10:43:09.000000000","message":"Is this saying that there\u0027s no need to deprecate/remove the non-cli part of the python-*client libraries? Should e.g. the nova service continue using the python-ironicclient library to talk to ironic, or should it be using openstacksdk to talk to ironic?","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4d256240e6cd6eb32cbd07609823188c305ac39","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  in their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_269d7e65","line":30,"in_reply_to":"5fc1f717_8349c560","updated":"2019-03-15 13:23:40.000000000","message":"A goal here is that all CLI stuff is handled by OSC. While python-Xclient may still exist, it should not deliver own CLI implementation (except plugins to OSC for services not included in OSC natively, and those plugins should ideally use SDK)","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fe763fe37e3235dfae74d4766e77921b09ed32f0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  in their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_8349c560","line":30,"in_reply_to":"5fc1f717_e8f666d7","updated":"2019-03-15 11:17:21.000000000","message":"The way it reads to me, this goal just talks about the CLI. I would expect a separate goal at some point to talk about swapping out project X\u0027s use of python-Yclient to in favor of openstacksdk to talk to service Y. In other words, the goal of this goal :) is not (yet) to be able to get rid of python-Yclient entirely. But it\u0027s a step in that direction.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cf9784a8773daf3fb2ed60cafd780c491090032b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"},{"line_number":36,"context_line":":Storyboard Story: \u003cput the link to the story for this goal here\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_f77834f9","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":8},"updated":"2019-03-06 21:02:30.000000000","message":"Hmm, why just \u0027image\u0027? i.e. is the goal for the entire community to work on getting image API / CLI parity in the openstacksdk and OSC CLI so python-glanceclient can be deprecated? Remember that other projects are also using python-glanceclient as an SDK (like nova, cinder, heat) so deprecating python-glanceclient means those projects need to either (1) re-write their internal image API client code to use direct REST (which is fine and probably the best thing long-term anyway but is a lot of work) or (2) start using the openstacksdk in service projects like nova, and it was my understanding (albeit from several years ago) that that was not recommended because of dependency and performance creep with using the SDK in the service projects (that was maybe true back at the first Vancouver summit for Liberty when I last remember talking about this).","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a1c3c0450ede7d493b5bff6a6d2ba83cf02d5a4b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"},{"line_number":36,"context_line":":Storyboard Story: \u003cput the link to the story for this goal here\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_3ab8e128","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":8},"in_reply_to":"5fc1f717_f77834f9","updated":"2019-03-06 21:32:20.000000000","message":"The situation with the SDK and assumptions made about dependencies is flipped from where it was several years ago.  Monty has committed to keeping the dependencies clean enough so dependencies that servers and python-*client libraries assume are OK are not present on client-side installations (oslo.config I\u0027m looking at you, among others).  With that the SDK should be usable in both contexts.  Of course, server-side usage is always up to the server side teams.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4d256240e6cd6eb32cbd07609823188c305ac39","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate on migration of `image`"},{"line_number":33,"context_line":"service."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"},{"line_number":36,"context_line":":Storyboard Story: \u003cput the link to the story for this goal here\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_a60c0e94","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":8},"in_reply_to":"5fc1f717_f77834f9","updated":"2019-03-15 13:23:40.000000000","message":"just \u0027image\u0027 because if we list here everything - we will definitely not achieve it for train. I am ok to put compute here as well, but this does not mean we have people who will implement this.\n\nI have explicitly rephrased it everywhere, that goal is not to deprecate individual clients, but to remove standalone CLI implementation from them. They might still exist and deliver OSC plugins, but not own CLI stuff. Can it still be misunderstood?","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2ff8c50ab9336133b6f5df1bdb6dbff67f9bcf22","unresolved":false,"context_lines":[{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cinder microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_17d7004e","line":64,"range":{"start_line":61,"start_character":0,"end_line":64,"end_character":38},"updated":"2019-03-06 20:44:17.000000000","message":"See my comments in PS3 but I think this is going to be unreasonable for nova/cinder given the existing large gap. I would like to reach for a more achievable goal which would also help close the gap on APIs that are available in the majority of production clouds (i.e. target mitaka/newton/ocata).","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a1c3c0450ede7d493b5bff6a6d2ba83cf02d5a4b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cinder microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_3a91c19a","line":64,"range":{"start_line":61,"start_character":0,"end_line":64,"end_character":38},"in_reply_to":"5fc1f717_17d7004e","updated":"2019-03-06 21:32:20.000000000","message":"Agreed, I don\u0027t think we should call out microversions here, especially since we will simply never support all of them, unless all is defined as [2.0, 2.1]","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4d256240e6cd6eb32cbd07609823188c305ac39","unresolved":false,"context_lines":[{"line_number":58,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":59,"context_line":"   `python-openstackclient` dependencies"},{"line_number":60,"context_line":"#. `image.client` in the OSC is using `OpenStackSDK.image` as a client backend"},{"line_number":61,"context_line":"#. `compute` service implements all operations and attributes added with"},{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cinder microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_461beac8","line":64,"range":{"start_line":61,"start_character":0,"end_line":64,"end_character":38},"in_reply_to":"5fc1f717_3a91c19a","updated":"2019-03-15 13:23:40.000000000","message":"Can we say here - all (micro)versions of the Train release? Is this achievable?","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"dd598f551fff59acc97a8ba9943516b33e6101b7","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cinder microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_6e5b1087","line":65,"updated":"2019-03-06 18:43:54.000000000","message":"Criteria for projects with OSC plugins:\n- If the project has a stand-alone CLI (not implemented with osc-lib) then the OSC plugin should be at feature-parity with the original CLI\n- If the project uses its own Python REST library (commonly known as python-*client) migrate toward using the OpenStackSDK (APIs not already implemented as part of the SDK can still utilize the base SDK Session/Adapter/etc classes as the basis for their Python API and get all of the version negotiation and other goodness)","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"700878886d5c4e3ecc3b1707404ad981965fd5e3","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   Nova microversions up to the 2.70"},{"line_number":63,"context_line":"#. `volume` service implements all operations and attributes added with"},{"line_number":64,"context_line":"   Cinder microversions up to the 3.59"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"WIP"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_6613e25d","line":65,"in_reply_to":"5fc1f717_6e5b1087","updated":"2019-03-11 18:23:26.000000000","message":"++ It would be helpful to spell this out.","commit_id":"d12d289507ce381ee520bdb320d0012d0d91e0f5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":2,"context_line":" Finish moving legacy python-\\*client CLIs to python-openstackclient"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The primary goal of the OpenStackClient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_b46a38b0","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":39},"updated":"2019-03-25 11:20:58.000000000","message":"OpenStackClient (OSC)","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"987decf076e6cc4fe344f1e020556536cdec0014","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The primary goal of the OpenStackClient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_2bf395e9","line":6,"range":{"start_line":6,"start_character":72,"end_line":6,"end_character":75},"updated":"2019-03-21 13:32:23.000000000","message":"nit: s/was//","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"987decf076e6cc4fe344f1e020556536cdec0014","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The primary goal of the OpenStackClient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_cb01b1b1","line":7,"range":{"start_line":7,"start_character":56,"end_line":7,"end_character":64},"updated":"2019-03-21 13:32:23.000000000","message":"nit: s/in order//","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The primary goal of the OpenStackClient is to provide a unified shell command"},{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_7447f04d","line":8,"range":{"start_line":8,"start_character":70,"end_line":8,"end_character":74},"updated":"2019-03-25 11:20:58.000000000","message":"Not a huge fan of \"etc\". Remove and complete the sentence. Makes it easier for non native speakers to read.","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":6,"context_line":"structure and a common language to describe operations in OpenStack. It was"},{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"There is a larger multi-cycle goal of completing the transition from"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_347728a3","line":9,"range":{"start_line":9,"start_character":64,"end_line":9,"end_character":68},"updated":"2019-03-25 11:20:58.000000000","message":"could be*","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"started as an attempt to replace all individual clients in order to give"},{"line_number":8,"context_line":"OpenStack users a single CLI with standard interface, argument naming, etc."},{"line_number":9,"context_line":"The project reached development stage, where individual clients can be"},{"line_number":10,"context_line":"deprecated and users switched to using OSC (what was already done for Keystone)."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"There is a larger multi-cycle goal of completing the transition from"},{"line_number":13,"context_line":"project-specific command line clients and Python libraries to OpenStackClient"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_d467c4e8","line":10,"range":{"start_line":10,"start_character":44,"end_line":10,"end_character":79},"updated":"2019-03-25 11:20:58.000000000","message":"redundant comment?","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"There is a larger multi-cycle goal of completing the transition from"},{"line_number":13,"context_line":"project-specific command line clients and Python libraries to OpenStackClient"},{"line_number":14,"context_line":"and the OpenStack SDK. Generally there is no dependency between these two"},{"line_number":15,"context_line":"components, they could happen in parallel and one command at a time."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_945dbc16","line":14,"range":{"start_line":14,"start_character":23,"end_line":14,"end_character":33},"updated":"2019-03-25 11:20:58.000000000","message":"Generally, *","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91b09251bfbe1c3f750a992e176fb3730658e08b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"and the OpenStack SDK. Generally there is no dependency between these two"},{"line_number":15,"context_line":"components, they could happen in parallel and one command at a time."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_5affc966","line":17,"updated":"2019-03-21 15:54:43.000000000","message":"Here is states the goal is to get to parity, below it states projects not having their own CLI. I think we need to be very clear which is the goal for this cycle.\n\nAnd FWIW, I don\u0027t see Glance or Cinder dropping their own CLIs any time soon.","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"and the OpenStack SDK. Generally there is no dependency between these two"},{"line_number":15,"context_line":"components, they could happen in parallel and one command at a time."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"* Bring OSC commands to parity with the project CLIs. This is adding resources"},{"line_number":18,"context_line":"  and options so the same operations and capabilities are available in OSC."},{"line_number":19,"context_line":"* Replace OSC\u0027s use of project Python client libraries with OpenStackSDK."},{"line_number":20,"context_line":"  This implies that SDK has the required support and is an external dependency."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_f4a1a0f8","line":17,"in_reply_to":"5fc1f717_5affc966","updated":"2019-03-25 11:20:58.000000000","message":"+1 there should be proper discussion on Glance and Cinder not moving across. Mentioning it here? Unsure. But it needs to be clarified, especially for downstream.","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* OSC uses OpenStackSDK for the API invocation."},{"line_number":26,"context_line":"* OpenStack Projects needing a CLI do not offer CLI implementation as part of"},{"line_number":27,"context_line":"  their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_d4958488","line":28,"range":{"start_line":28,"start_character":3,"end_line":28,"end_character":17},"updated":"2019-03-25 11:20:58.000000000","message":"the Plugin specification? Reads a bit  clearer that way","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* OpenStack Projects needing a CLI do not offer CLI implementation as part of"},{"line_number":27,"context_line":"  their client libraries. Instead they provide plugins following the"},{"line_number":28,"context_line":"  `specification \u003chttps://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html\u003e`_,"},{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate efforts on migration of"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_34eac80e","line":29,"range":{"start_line":29,"start_character":47,"end_line":29,"end_character":69},"updated":"2019-03-25 11:20:58.000000000","message":"We suggest using*","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate efforts on migration of"},{"line_number":33,"context_line":"`image` service. Completing and/or porting of other services is very much"},{"line_number":34,"context_line":"desired, but not explicitly mentioned here to keep the goal achievable."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_54d8b479","line":33,"range":{"start_line":33,"start_character":28,"end_line":33,"end_character":34},"updated":"2019-03-25 11:20:58.000000000","message":"Completing and porting* (because you\u0027re talking about the most desired, not the options of the most desired)","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  if this is not already provided by core OSC. It is highly suggested to use"},{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate efforts on migration of"},{"line_number":33,"context_line":"`image` service. Completing and/or porting of other services is very much"},{"line_number":34,"context_line":"desired, but not explicitly mentioned here to keep the goal achievable."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_14f54ced","line":33,"range":{"start_line":32,"start_character":73,"end_line":33,"end_character":16},"updated":"2019-03-25 11:20:58.000000000","message":"of image service? Are you referin to Glance? If so, it needs to be \"... of the Image service\" rather than `image`. Although if I have misunderstood this, I probably won\u0027t be the only one. This needs to be clarified :)","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  OpenStackSDK in plugins."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"For the Train release it is proposed to concentrate efforts on migration of"},{"line_number":33,"context_line":"`image` service. Completing and/or porting of other services is very much"},{"line_number":34,"context_line":"desired, but not explicitly mentioned here to keep the goal achievable."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":":Storyboard Board: \u003cput the link to the tracking board here\u003e"},{"line_number":37,"context_line":":Storyboard Story: \u003cput the link to the story for this goal here\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_f43d208e","line":34,"range":{"start_line":33,"start_character":61,"end_line":34,"end_character":7},"updated":"2019-03-25 11:20:58.000000000","message":"I would consider using something less emotional such as \"Completing and porting of other services is the main aim, however we have not explicitly mentioned that here to ensure the goal is still achievable\".\n\nAlthough that being said, I don\u0027t see how ignoring something makes this goal achieveable. I recognise it\u0027s leaving a loophole as it\u0027s more complicated for other projects, but I think that should be called out explicitly, rather than shoved down here as an awkward \"get out of jail free\" card.","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"987decf076e6cc4fe344f1e020556536cdec0014","unresolved":false,"context_lines":[{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":57,"context_line":"\"completed\" for a given project."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":60,"context_line":"   `python-openstackclient` dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_2e3643e9","line":57,"range":{"start_line":57,"start_character":24,"end_line":57,"end_character":31},"updated":"2019-03-21 13:32:23.000000000","message":"This first 4 items in this list don\u0027t seem applicable to $PROJECT_TEAMS outside of glance, nova, and cinder.\n\nI imagine people might trip of that if this gets accepted and they don\u0027t know what they\u0027re supposed to do for that specific criteria. Maybe we break this into two lists?","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":57,"context_line":"\"completed\" for a given project."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":60,"context_line":"   `python-openstackclient` dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_b44b1829","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":11},"updated":"2019-03-25 11:20:58.000000000","message":"`Complete`","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"caf2c97f7a8a2d2df1f176efd07a3ad44b231f25","unresolved":false,"context_lines":[{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":57,"context_line":"\"completed\" for a given project."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":60,"context_line":"   `python-openstackclient` dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_5ab109e1","line":57,"range":{"start_line":57,"start_character":24,"end_line":57,"end_character":31},"in_reply_to":"5fc1f717_2e3643e9","updated":"2019-03-21 15:53:16.000000000","message":"This lists the items for what is in the OSC repo directly.  A second list with plugins may be appropriate, but the OSC team can not commit to those changes that are owned by other teams...","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"f29b70a0a12d24b1ac4a46dc906b5241b19ed201","unresolved":false,"context_lines":[{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Enumerate the items that must be true in order to call the goal"},{"line_number":57,"context_line":"\"completed\" for a given project."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"#. `python-glanceclient` is not present in the"},{"line_number":60,"context_line":"   `python-openstackclient` dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3fce034c_dabce4dd","line":57,"range":{"start_line":57,"start_character":24,"end_line":57,"end_character":31},"in_reply_to":"5fc1f717_5ab109e1","updated":"2019-04-17 15:22:45.000000000","message":"Perhaps they should be OSC spec instead of community goal.","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":68,"context_line":"#. If the project uses its own Python REST library (commonly known"},{"line_number":69,"context_line":"   as python-\\*client) migrate toward using the OpenStackSDK (APIs not"},{"line_number":70,"context_line":"   already implemented as part of the SDK can still utilize the base"},{"line_number":71,"context_line":"   SDK Session/Adapter/etc classes as the basis for their Python API"},{"line_number":72,"context_line":"   and get all of the version negotiation and other goodness)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_d4f6e4d7","line":71,"range":{"start_line":71,"start_character":3,"end_line":71,"end_character":27},"updated":"2019-03-25 11:20:58.000000000","message":"\"...utilize the base SDK Session, Adapter, and other classes as the basis...\"","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"5671f1258292dd2ed4bfb88dcd66b5c5ba037ba6","unresolved":false,"context_lines":[{"line_number":69,"context_line":"   as python-\\*client) migrate toward using the OpenStackSDK (APIs not"},{"line_number":70,"context_line":"   already implemented as part of the SDK can still utilize the base"},{"line_number":71,"context_line":"   SDK Session/Adapter/etc classes as the basis for their Python API"},{"line_number":72,"context_line":"   and get all of the version negotiation and other goodness)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"WIP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fc1f717_342f2840","line":72,"range":{"start_line":72,"start_character":43,"end_line":72,"end_character":60},"updated":"2019-03-25 11:20:58.000000000","message":"This isn\u0027t quantifiable, I would indeed remove :)","commit_id":"9bb44ad12e6f6d83a4a001f3ec02ed3acaeb8ff0"}]}
