Comment 2 for bug 1575478

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

Reviewed: https://review.openstack.org/311700
Committed: https://git.openstack.org/cgit/openstack/python-openstackclient/commit/?id=681d6dc2de83ef13b4fb2fb4abe70f3c1ccb0e10
Submitter: Jenkins
Branch: master

commit 681d6dc2de83ef13b4fb2fb4abe70f3c1ccb0e10
Author: Huanxuan Ao <email address hidden>
Date: Mon May 2 16:30:29 2016 +0800

    Make "flavor show" command to show a private flavor properly

    The "flavor show" command could not show a
    private flavor by flavor name becauce it could
    not find a private flavor by flavor name.
    In "until.find_resource(parsed_args.flavor)",
    If parsed_args.falvor is a name of a flavor,
    "flavors.find(name=parsed_args.flavor)"will be
    called to find a flavor.But the default value of
    "is_public" is "Ture" in "flavors.find()" so that
    we can only find public flavors.If we want to find
    all flaovrs by flavor name,we should add
    "is_public=None" in "flavors.find()".

    So I tried to change
    "until.find_resource(parsed_args.flavor)" to
    "until.find_resource(parsed_args.flavor, is_public=None)",
    but then I could not find any flavor by flavor id
    because "is_public" is an unexpected argument of
    "flavors.get()" in "until.find_resource()".

    In this case,I think "until.find_resource()"
    can not find a private flavor properly,and
    we should combine "manager.get(flavor.id)" and
    "manager.find(name=flavor.name, is_public=None)"
    by ourselve to find a flavor.

    Also,this bug affects other flavor commands like
    "flavor set/unset/delete",so I fix them in this patch too.

    Change-Id: I4a4ed7b0a2f522ee04d1c3270afcda7064285c39
    Closes-Bug: #1575478