Action requested: Affects Packer, Nebula, maybe others.

16 views
Skip to first unread message

Samuel Falvo II

unread,
Aug 15, 2014, 2:58:24 PM8/15/14
to gophercloud-dev
An interesting topic came up in a PR contributed by Github user
@msabramo. I'd love it if everyone on this list could review the PR
and the discussion and weigh in with their thoughts. Here's the link:

https://github.com/rackspace/gophercloud/pull/179

Executive Summary: When using a provider other than Rackspace, and
you're looking through the service catalog to locate the desired cloud
compute API, do you look for the *type* "compute", or do you look for
the *name* "nova"?

There's conflicting information online. If you go by Rackspace's
documents, you'd want to look for the type "compute". However, if you
read the official OpenStack docs, nothing specifically is mentioned
(that I could find or remember), but all the examples use the name
"nova".

This is exacerbated by the fact that Rackspace doesn't list "nova" in
its service catalog, and has some pretty non-standard names instead
(e.g., cloudCompute vs. cloudComputeOpenStack, both of which are
offered under the type "compute").

What are your thoughts on how to handle this situation? Since I work
for Rackspace AND the author of Gophercloud, I'm a biased opinion; I'd
love to see contributions to the Github thread above and hopefully we
can come to a sane default policy for this.

Thanks!!

--
Samuel A. Falvo II

Devin Carlen

unread,
Aug 15, 2014, 3:25:22 PM8/15/14
to gophercloud-dev, Samuel Falvo II
I commented on the PR but it definitely should be keying off type, not name.  Name is display only and will definitely differ among various vendors and distros.  Type = compute should be consistent though so that client libraries have something to latch on to.

Devin
--
You received this message because you are subscribed to the Google Groups "gophercloud-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gophercloud-d...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Samuel Falvo II

unread,
Aug 15, 2014, 3:30:16 PM8/15/14
to Devin Carlen, gophercloud-dev
Awesome; thanks for the clarification. Would you happen to know if
there's a programmatic way to query an endpoint for which version it
supports, preferably without having to parse the URL?

Glen Campbell

unread,
Aug 15, 2014, 3:34:08 PM8/15/14
to Devin Carlen, gophercloud-dev, Samuel Falvo II
Except that you can have multiple endpoints with the same type but different names. 

Jon Perritt

unread,
Aug 19, 2014, 6:04:09 PM8/19/14
to gopherc...@googlegroups.com
Branch v0.2.0 PR (related to this topic) here: https://github.com/rackspace/gophercloud/pull/181

tldr;
1) Added versioning to Identity.
2) Added "NewClient" method to AuthOptions to make creating a client much easier. The method takes Type, Name, Region, and URLType parameters for finding an endpoint.

-- JRP
Reply all
Reply to author
Forward
0 new messages