<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>
<div>I too believe that the /containers endpoint is obstructive to the overall goal of Magnum.</div>
<div><br>
</div>
<div>IMO, Magnum’s scope should <b>only</b> be concerned with:</div>
<ol>
<li>Provisioning the underlying infrastructure required by the Container Orchestration Engine (COE) and</li><li>Instantiating the COE itself on top of said infrastructure from step #1.</li></ol>
<div>Anything further regarding Magnum interfacing or interacting with containers starts to get into a gray area that could easily evolve into:</div>
<ul>
<li>Potential race conditions between Magnum and the designated COE and</li><li>Would create design & implementation overhead and debt that could bite us in the long run seeing how all COE’s operate & are based off various different paradigms in terms of describing & managing containers, and this divergence will only continue to grow
with time.</li><li>Not to mention, the recreation of functionality around managing containers in Magnum seems redundant in nature as this is the very reason to want to use a COE in the first place – because it’s a more suited tool for the task</li></ul>
<div>If there is low-hanging fruit in terms of common functionality across <b>all</b> COE’s, then those generic capabilities <i>could</i> be abstracted and integrated into Magnum, but these have to be carefully examined beforehand to ensure true parity exists
for the capability across all COE’s.</div>
<div><br>
</div>
<div>However, I still worry that going down this route toes the line that Magnum should and could be a part of the managing container story to some degree – which again should be the sole responsibility of the COE, not Magnum.</div>
<div><br>
</div>
<div>I’m in favor of doing away with the /containers endpoint – continuing with it just looks like a snowball of scope-mismatch and management issues just waiting to happen.</div>
</div>
<div>
<div id="">
<div>
<div><br>
</div>
</div>
<div>
<div>Mike Metral</div>
<div>Product Architect – Private Cloud R&D - Rackspace</div>
</div>
</div>
</div>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div>
<div class="">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); color: rgb(33, 33, 33);" class="">
<hr tabindex="-1" style="display: inline-block; width: 638.953125px;" class="">
<div id="divRplyFwdMsg" dir="ltr" class=""><font face="Calibri,sans-serif" style="font-size: 11pt;" class=""><b class="">From:</b><span class="Apple-converted-space"> </span>Hongbin Lu <<a href="mailto:hongbin.lu@huawei.com" style="color: purple; text-decoration: underline;" class="">hongbin.lu@huawei.com</a>><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Thursday, January 14, 2016 1:59 PM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List (not for usage questions)<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [magnum] Nesting /containers resource under /bays</font>
<div class=""> </div>
</div>
<div class="">
<div class="WordSection1">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">In short, the container IDs assigned by Magnum are independent of the container IDs assigned by Docker daemon. Magnum do the IDs mapping before doing a native
API call. In particular, here is how it works.</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">If users create a container through Magnum endpoint, Magnum will do the followings:</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Generate
a uuid (if not provided).</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Call
Docker Swarm API to create a container, with its hostname equal to the generated uuid.</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">3.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Persist
container to DB with the generated uuid.</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">If users perform an operation on an existing container, they must provide the uuid (or the name) of the container (if name is provided, it will be used to lookup
the uuid). Magnum will do the followings:</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Call
Docker Swarm API to list all containers.</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Find
the container whose hostname is equal to the provided uuid, record its “docker_id” that is the ID assigned by native tool.</span></div>
<div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><span class="">3.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';" class=""> <span class="Apple-converted-space"> </span></span></span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Call
Docker Swarm API with “docker_id” to perform the operation.</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Magnum doesn’t assume all operations to be routed through Magnum endpoints. Alternatively, users can directly call the native APIs. In this case, the created
resources are not managed by Magnum and won’t be accessible through Magnum’s endpoints.</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hope it is clear.</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Best regards,</span></div>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hongbin</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></p>
<div class="">
<div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0cm 0cm;" class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<b class=""><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma, sans-serif;" class="">From:</span></b><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma, sans-serif;" class=""><span class="Apple-converted-space"> </span>Kyle Kelley [<a href="mailto:kyle.kelley@RACKSPACE.COM" style="color: purple; text-decoration: underline;" class="">mailto:kyle.kelley@RACKSPACE.COM</a>]<span class="Apple-converted-space"> </span><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>January-14-16 11:39 AM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List (not for usage questions)<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [magnum] Nesting /containers resource under /bays</span></div>
</div>
</div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">This presumes a model where Magnum is in complete control of the IDs of individual containers. How does this work with the Docker daemon?</span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">> </span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); background-color: white; background-position: initial initial; background-repeat: initial initial;" class="">In
Rest API, you can set the “uuid” field in the json request body (this is not supported in CLI, but it is an easy add).</span><span style="font-family: Calibri, sans-serif;" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">In the Rest API for Magnum or Docker? Has Magnum completely broken away from exposing native tooling - are all container operations assumed to
be routed through Magnum endpoints?</span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">> </span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); background-color: white; background-position: initial initial; background-repeat: initial initial;" class="">For
the idea of nesting container resource, I prefer not to do that if there are alternatives or it can be work around.</span><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); background-color: white; background-position: initial initial; background-repeat: initial initial;" class="">IMO,
it sets a limitation that a container must have a bay, which might not be the case in future. For example, we might add a feature that creating a container will automatically create a bay. If a container must have a bay on creation, such feature is impossible.</span><span style="font-family: Calibri, sans-serif;" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">If that's *really* a feature you need and are fully involved in designing for, this seems like a case where creating a container via these endpoints would
create a bay and return the full resource+subresource.</span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">Personally, I think these COE endpoints need to not be in the main spec, to reduce the surface area until these are put into further use.</span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span></p>
<div class="">
<div class="MsoNormal" align="center" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-align: center;">
<span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class="">
<hr size="2" width="98%" align="center" class="">
</span></div>
<div id="divRplyFwdMsg" class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<b class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>Hongbin Lu <<a href="mailto:hongbin.lu@huawei.com" style="color: purple; text-decoration: underline;" class="">hongbin.lu@huawei.com</a>><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Wednesday, January 13, 2016 5:00 PM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List (not for usage questions)<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [magnum] Nesting /containers resource under /bays</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<div class="">
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""> </span></p>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hi Jamie,</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I would like to clarify several things.</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">First, a container uuid is intended to be unique globally (not within individual cluster). If you create a container with duplicated uuid, the creation will fail
regardless of its bay. Second, you are in control of the uuid of the container that you are going to create. In Rest API, you can set the “uuid” field in the json request body (this is not supported in CLI, but it is an easy add). If a uuid is provided, Magnum
will use it as the uuid of the container (instead of generating a new uuid).</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">For the idea of nesting container resource, I prefer not to do that if there are alternatives or it can be work around. IMO, it sets a limitation that a container
must have a bay, which might not be the case in future. For example, we might add a feature that creating a container will automatically create a bay. If a container must have a bay on creation, such feature is impossible.</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Best regards,</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hongbin</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div class="">
<div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0cm 0cm;" class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<b class=""><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma, sans-serif; color: rgb(33, 33, 33);" class="">From:</span></b><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma, sans-serif; color: rgb(33, 33, 33);" class=""><span class="Apple-converted-space"> </span>Jamie
Hannaford [<a href="mailto:jamie.hannaford@rackspace.com" style="color: purple; text-decoration: underline;" class="">mailto:jamie.hannaford@rackspace.com</a>]<span class="Apple-converted-space"> </span><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>January-13-16 4:43 AM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span><a href="mailto:openstack-dev@lists.openstack.org" style="color: purple; text-decoration: underline;" class="">openstack-dev@lists.openstack.org</a><br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>[openstack-dev] [magnum] Nesting /containers resource under /bays</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
</div>
</div>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="color: rgb(33, 33, 33);" class=""> </span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">I've recently been gathering feedback about the Magnum API and one of the things that people commented on was the global /containers endpoints. One
person highlighted the danger of UUID collisions:</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">"""</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">It takes a container ID which is intended to be unique within that individual cluster. Perhaps this doesn't matter, considering the surface for
hash collisions. You're running a 1% risk of collision on the shorthand container IDs:</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<p style="margin-top: 0px; margin-bottom: 12pt;" class=""><span style="font-family: Calibri, sans-serif;" class="">In [14]: n = lambda p,H: math.sqrt(2*H * math.log(1/(1-p)))</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-family: Calibri, sans-serif;" class="">In [15]: n(.01, 0x1000000000000)</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
</div>
<div class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-family: Calibri, sans-serif;" class="">Out[15]: 2378620.6298183016</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
</div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">(this comes from the Birthday Attack - <a href="https://en.wikipedia.org/wiki/Birthday_attack" target="_blank" style="color: purple; text-decoration: underline;" class="">https://en.wikipedia.org/wiki/Birthday_attack)</a></span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">The main reason I questioned this is that we're not in control of how the hashes are created whereas each Docker node or Swarm cluster will pick
a new ID under collisions. We don't have that guarantee when aggregating across.</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">The use case that was outlined appears to be aggregation and reporting. That can be done in a different manner than programmatic access to single
containers.</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">"""</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">Representing a resource without reference to its parent resource also goes against the convention of many other OpenStack APIs.</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">Nesting a container resource under its parent bay would mitigate both of these issues:</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">/bays/{uuid}/containers/{uuid}</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">I'd like to get feedback from folks in the Magnum team and see if anybody has differing opinions about this.</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class="">Jamie</span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-family: Calibri, sans-serif;" class=""> </span><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);" class=""></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;">
<span style="font-family: Calibri, sans-serif;" class=""> </span><span style="color: rgb(33, 33, 33);" class=""></span></p>
<div class="MsoNormal" align="center" style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-align: center;">
<span style="font-family: Calibri, sans-serif;" class="">
<hr size="2" width="100%" align="center" class="">
</span></div>
<div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">
<span style="font-family: Calibri, sans-serif;" class="">Rackspace International GmbH a company registered in the Canton of Zurich, Switzerland (company identification number CH-020.4.047.077-1) whose registered office is at Pfingstweidstrasse 60, 8005 Zurich,
Switzerland. Rackspace International GmbH privacy policy can be viewed at<a href="http://www.rackspace.co.uk/legal/swiss-privacy-policy" style="color: purple; text-decoration: underline;" class="">www.rackspace.co.uk/legal/swiss-privacy-policy</a><span class="Apple-converted-space"> </span>-
This e-mail message may contain confidential or privileged information intended for the recipient. Any dissemination, distribution or copying of the enclosed material is prohibited. If you receive this transmission in error, please notify us immediately by
e-mail at<span class="Apple-converted-space"> </span><a href="mailto:abuse@rackspace.com" style="color: purple; text-decoration: underline;" class="">abuse@rackspace.com</a><span class="Apple-converted-space"> </span>and delete the original message. Your cooperation
is appreciated.</span><span style="color: rgb(33, 33, 33);" class=""></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">__________________________________________________________________________</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">OpenStack
Development Mailing List (not for usage questions)</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Unsubscribe:<span class="Apple-converted-space"> </span></span><a href="mailto:OpenStack-dev-request@lists.openstack.org" style="color: purple; text-decoration: underline; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">OpenStack-dev-request@lists.openstack.org</a><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">?subject:unsubscribe</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="color: purple; text-decoration: underline; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
</div>
</div>
<br class="">
</div>
</div>
</span>
</body>
</html>