<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>> It's not intuitive to the User, if they are specifying a version alone.  You don't boot a 'version' of something, with specifying what that some thing is.  I would rather they only specified the datastore_type alone, and not have them specify a version
 at all.</div>
<div><br>
</div>
<div>I agree for most users just selecting the datastore_type would be most intutive. </div>
<div><br>
</div>
<div>However, when they specify a version it's going to a be GUID which they could only possibly know if they have recently enumerated all versions and thus *know* the version is for the given type they want. In that case I don't think most users would appreciate
 having to also pass the type- it would just be redundant. So in that case why not make it optional?</div>
<div><br>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF442763" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Vipul Sabhaya [vipuls@gmail.com]<br>
<b>Sent:</b> Monday, October 21, 2013 5:09 PM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> Re: [openstack-dev] [Trove] How users should specify a datastore type when creating an instance<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Oct 21, 2013 at 2:04 PM, Michael Basnight <span dir="ltr">
<<a href="mailto:mbasnight@gmail.com" target="_blank">mbasnight@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div class="im"><br>
On Oct 21, 2013, at 1:40 PM, Tim Simpson wrote:<br>
<br>
>>> 2. I also think a datastore_version alone should be sufficient since the associated datastore type will be implied:<br>
><br>
>> When i brought this up it was generally discussed as being confusing. Id like to use type and rely on having a default (or active) version behind the scenes.<br>
><br>
> Can't we do both? If a user wants a specific version, most likely they had to enumerate all datastore_versions, spot it in a list, and grab the guid. Why force them to also specify the datastore_type when we can easily determine what that is?<br>
<br>
</div>
Fair enough.<br>
<div class="im"><br>
</div>
</blockquote>
<div><br>
</div>
<div style="">It's not intuitive to the User, if they are specifying a version alone.  You don't boot a 'version' of something, with specifying what that some thing is.  I would rather they only specified the datastore_type alone, and not have them specify
 a version at all.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div class="im">><br>
>>> 4. Additionally, in the current pull request to implement this it is possible to avoid passing a version, but only if no more than one version of the datastore_type exists in the database.<br>
>>><br>
>>> I think instead the datastore_type row in the database should also have a "default_version_id" property, that an operator could update to the most recent version or whatever other criteria they wish to use, meaning the call could become this simple:<br>
><br>
>> Since we have determined from this email thread that we have an active status, and that > 1 version can be active, we have to think about the precedence of active vs default. My question would be, if we have a default_version_id and a active version, what
 do we choose on behalf of the user? If there is > 1 active version and a user does not specify the version, the api will error out, unless a default is defined. We also need a default_type in the config so the existing APIs can maintain compatibility. We can
 re-discuss this for v2 of the API.<br>
><br>
> Imagine that an operator sets up Trove and only has one active version. They then somehow fumble setting up the default_version, but think they succeeded as the API works for users the way they expect anyway. Then they go to add another active version and
 suddenly their users get error messages.<br>
><br>
> If we only use the "default_version" field of the datastore_type to define a default would honor the principle of least surprise.<br>
<br>
</div>
Are you saying you must have a default version defined to have > 1 active versions?<br>
<br>
</blockquote>
<div><br>
</div>
<div style="">I think it makes sense to have a 'Active' flag on every version -- and a default flag for the version that should be used as a default in the event the user doesn't specify.  It also makes sense to require the deployer to set this accurately,
 and if one doesn't exist instance provisioning errors out.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</body>
</html>