[openstack-dev] [nova][glance] Proposal to remove `nova image-*` commands from novaclient
mgagne at calavera.ca
Wed Apr 6 17:38:37 UTC 2016
On Tue, Apr 5, 2016 at 11:24 PM, Monty Taylor <mordred at inaugust.com> wrote:
> On 04/05/2016 05:07 PM, Michael Still wrote:
>> self.glance = glance_client.Client('2', endpoint, token=token)
> There are next to zero cases where the thing you want to do is talk to
> glance using a token and an endpoint.
I used to have a use case for that one. I'm only mentioning so you can
have a good laugh at it. =)
We have an internal development cloud where people can spawn a whole
private OpenStack infrastructure for testing and development purposes.
This means ~50 instances.
All instances communicate between them using example.org DNS, this
includes URLs found in the Keystone catalog.
Each stack has a private DNS server resolving those requests for
example.org and our internal tool configure it once the stack is
This means each developper has its own example.org zone which resolves
differently. They can configure their own local resolvers to use the
one found in the stack if they wish.
Now the very funny part:
Developers can decide to destroy their stack as they wish in brutal
ways. The side-effect we saw is that it left orphan volumes on our
shared block storage backend which also happens to have a maximum
number of volumes.
So to clean them up, we wrote a script that connects to each
developer's stack and try to list volumes in Cinder, compare them with
the ones found on the block storage backend and delete orphan ones.
Since everybody has the same example.org DNS in their catalog, we
needed a way to tell python-cinderclient to not use the DNS found in
the catalog but the actual IP of the developper's Cinder instance.
That's our use case where we needed the endpoint argument. =)
Good news, we found an alternative solution where we override the
Python socket resolving methods instead and override the IP from there
instead of using the endpoint argument.
More information about the OpenStack-dev