Comment 1 for bug 1332270

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-novaclient (master)

Reviewed: https://review.openstack.org/101373
Committed: https://git.openstack.org/cgit/openstack/python-novaclient/commit/?id=4c8cefb98a425382204df2f38f24e6b5b71520dd
Submitter: Jenkins
Branch: master

commit 4c8cefb98a425382204df2f38f24e6b5b71520dd
Author: Rick Harris <email address hidden>
Date: Thu Jun 19 18:34:17 2014 -0500

    Overhaul bash-completion to support non-UUID based IDs

    There are a few things currently wrong with bash-completion as it stands now:

        1) IDs are currently required to be UUIDs. This is an arbitrary limitation
           and doesn't make sense for certain kinds of objects, like `Flavors`
           where a valid ID could be `performance-16gb`.

        2) The code is spread out between Oslo's `Resource` and Novaclient's
           `Manager` class. This makes it difficult to improve the code because it
           requires changes to two separate projects. We should centralize the
           code in Novaclient until the API is stable, then import the code into
           Oslo in its entirety, not partially like it is now.

        3) The completion code is handled by the `Manager` of which there is one
           per Resource-type. In the interest of centralizing this functionality,
           we should create a `CompletionCache` class and hang it off of `Client`
           of which there is one-per-session.

        4) The completion-code currently runs by default even in headless mode
           (e.g. novaclient without the shell). It'd be much more efficient to
           only write to the completion cache if we're accessing the `Client` from
           the novaclient shell. We can make this an option to support third-party
           CLI clients that want to use the completion-cache as well.

    NOTE:
        * The corresponding Oslo patch is here:

            https://review.openstack.org/#/c/101376/

        * This patch was tested in multithreaded mode to prevent any regression
          from:

            https://bugs.launchpad.net/python-novaclient/+bug/1213958.

    Change-Id: Idada83de103358974b739f81d4f392574f9e1237
    Closes-Bug: 1332270