[openstack-dev] [Magnum] Does Bay/Baymodel name should be a required option when creating a Bay/Baymodel
eric at windisch.us
Fri Jun 5 05:42:48 UTC 2015
>> I think this is perfectly fine, as long as it's reasonably large and
>> the algorithm is sufficiently intelligent. The UUID algorithm is good at
>> this, for instance, although it fails at readability. Docker's is not
>> terribly great and could be limiting if you were looking to run several
>> thousand containers on a single machine. Something better than Docker's
>> algorithm but more readable than UUID could be explored.
>> Also, something to consider is if this should also mean a change to the
>> UUIDs themselves. You could use UUID-5 to create a UUID from your tenant's
>> UUID and your unique name. The tenant's UUID would be the namespace, with
>> the bay's name being the "name" field. The benefit of this is that clients,
>> by knowing their tenant ID could automatically determine their bay ID,
>> while also guaranteeing uniqueness (or as unique as UUID gets, anyway).
>> Cool idea!
> I'm clear with the solution, but still have some questions: So we need to
> set the bay/baymodel name in the format of UUID-name format? Then if we get
> the tenant ID, we can use "magnum bay-list | grep <tenant-id>" or some
> other filter logic to get all the bays belong to the tenant? By default,
> the "magnum bay-list/baymodel-list" will only show the bay/baymodels for
> one specified tenant.
The name would be an arbitrary string, but you would also have a
unique-identifier which is a UUID. I'm proposing the UUID could be
generated using the UUID5 algorithm which is basically sha1(tenant_id +
unique_name) converted into a GUID. The Python uuid library can do this
easily, out of the box.
Taking from the dev-quickstart, I've changed the instructions for creating
a container according to how this could work using uuid5:
$ magnum create-bay --name swarmbay --baymodel testbaymodel
$ BAY_UUID=$(python -c "import uuid; print
$ cat > ~/container.json << END
"command": "ping -c 4 18.104.22.168"
$ magnum container-create < ~/container.json
The key difference in this example, of course, is that users would not need
to contact the server using bay-show in order to obtain the UUID of their
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev