<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
2. it can be confusing coz not clear to what type version belongs
(possible add "type" field in version).<br>
also if you have default type, then specified version recognizes as
version of default type (no lookup in version.datastore_type_id)<br>
but i think we can do lookup in version.datastore_type_id before
pick default.<br>
<br>
4. if default version is need, then it should be specified in db,
coz switching via versions can be frequent and restart service to
reload config all times is not good.<br>
<br>
<div class="moz-cite-prefix">On 10/21/2013 05:12 PM, Tim Simpson
wrote:<br>
</div>
<blockquote
cite="mid:34CF117D3A5D6841B2C08C30997DA520C015F48E@ORD1EXD02.RACKSPACE.CORP"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;">
<div><span style="font-family: 'Times New Roman'; font-size:
16px;">Thanks for the feedback Andrey.</span></div>
<div><span style="font-family: 'Times New Roman'; font-size:
16px;"><br>
</span></div>
<span style="font-family: 'Times New Roman'; font-size: 16px;">>>
2. Got this case in irc, and decided to pass type and version
together to avoid confusing.</span>
<div><font face="Times New Roman">I don't understand how
allowing the user to only pass the version would confuse
anyone. Could you elaborate?</font></div>
<div><font face="Times New Roman"><br>
</font></div>
<div><span style="font-family: 'Segoe UI', Helvetica, Arial,
sans-serif;">>> 3. Names of types and maybe versions
can be good, but in irc conversation rejected this case, i
cant remember exactly reason.</span></div>
<div>Hmm. Does anyone remember the reason for this?</div>
<div><br style="font-family: 'Segoe UI', Helvetica, Arial,
sans-serif;">
<span style="font-family: 'Segoe UI', Helvetica, Arial,
sans-serif;">>> 4. Actually, "active" field in version
marks it as default in type.</span></div>
<div><span style="font-family: 'Segoe UI', Helvetica, Arial,
sans-serif;">>> </span><span style="font-family:
'Segoe UI', Helvetica, Arial, sans-serif;">Specify default
version in config can be usefull if you have more then one
active versions in default type.</span></div>
<div><font face="Segoe UI, Helvetica, Arial, sans-serif">If
'active' is allowed to be set for multiple rows of the
'datastore_versions' table then it isn't a good substitute
for the functionality I'm seeking, which is to allow
operators to specify a *single* default version for each
datastore_type in the database. I still think we should
still add a 'default_version_id' field to the
'datastore_types' table.</font></div>
</div>
</blockquote>
<blockquote
cite="mid:34CF117D3A5D6841B2C08C30997DA520C015F48E@ORD1EXD02.RACKSPACE.CORP"
type="cite">
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;">
<div><font face="Times New Roman"><br>
</font></div>
<div><font face="Times New Roman">Thanks,</font></div>
<div><font face="Times New Roman"><br>
</font></div>
<div><font face="Times New Roman">Tim</font></div>
<div><font face="Times New Roman"><br>
</font>
<div style="font-family: Times New Roman; color: #000000;
font-size: 16px">
<hr tabindex="-1">
<div id="divRpF283724" style="direction: ltr;"><font
color="#000000" face="Tahoma" size="2"><b>From:</b>
Andrey Shestakov [<a class="moz-txt-link-abbreviated" href="mailto:ashestakov@mirantis.com">ashestakov@mirantis.com</a>]<br>
<b>Sent:</b> Monday, October 21, 2013 7:15 AM<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>1. Good point<br>
2. Got this case in irc, and decided to pass type and
version together to avoid confusing.<br>
3. Names of types and maybe versions can be good, but in
irc conversation rejected this case, i cant remember
exactly reason.<br>
4. Actually, "active" field in version marks it as default
in type.<br>
Specify default version in config can be usefull if you
have more then one active versions in default type.<br>
But how match active version in type depends on operator`s
configuration. And what if "default version in config"
will marked as inactive?<br>
<br>
<div class="moz-cite-prefix">On 10/18/2013 10:30 PM, Tim
Simpson wrote:<br>
</div>
<blockquote type="cite">
<style type="text/css" id="owaParaStyle"></style>
<div style="direction:ltr; font-family:Tahoma;
color:#000000; font-size:10pt">
<div>Hello fellow Trovians,</div>
<div><br>
</div>
<div>There has been some good work recently to figure
out a way to specify a specific datastore when
using Trove. This is essential to supporting
multiple datastores from the same install of Trove.</div>
<div><br>
</div>
<div>I have an issue with some elements of the
proposed solution though, so I decided I'd start a
thread here so we could talk about it.</div>
<div><br>
</div>
<div>As a quick refresher, here is the blue print for
this work (there are some gists ammended to the end
but I figured the mailing list would be an easier
venue for discussion):</div>
<div><a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="https://wiki.openstack.org/wiki/Trove/trove-versions-types"
target="_blank">https://wiki.openstack.org/wiki/Trove/trove-versions-types</a></div>
<div><br>
</div>
<div>One issue I have is with the way the instance
create call will change to support different data
stores. For example, here is the post call:</div>
<div><br>
</div>
<div>"""</div>
<div>{</div>
<div> "instance" : {</div>
<div> "flavorRef" : "2",</div>
<div> "name" : "as",</div>
<div> "datastore_type" :
"e60153d4-8ac4-414a-ad58-fe2e0035704a",</div>
<div> "datastore_version" :
"94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b",</div>
<div> "volume" : { "size" : "1" }</div>
<div> }</div>
<div>}</div>
<div>"""</div>
<div><br>
</div>
<div>1. I think since we have two fields in the
instance object we should make a new object for
datastore and avoid the name prefixing, like this:</div>
<div><br>
</div>
<div>"""</div>
<div>{</div>
<div> "instance" : {</div>
<div> "flavorRef" : "2",</div>
<div> "name" : "as",</div>
<div> "datastore": {</div>
<div> "type" :
"e60153d4-8ac4-414a-ad58-fe2e0035704a",</div>
<div> "version" :
"94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b"</div>
<div> }</div>
<div> "volume" : { "size" : "1" }</div>
<div> }</div>
<div>}</div>
<div>"""</div>
<div><br>
</div>
<div>2. I also think a datastore_version alone should
be sufficient since the associated datastore type
will be implied:</div>
<div><br>
</div>
<div>"""</div>
<div>{</div>
<div> "instance" : {</div>
<div> "flavorRef" : "2",</div>
<div> "name" : "as",</div>
<div> "datastore": {</div>
<div> "version" :
"94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b"</div>
<div> }</div>
<div> "volume" : { "size" : "1" }</div>
<div> }</div>
<div>}</div>
<div>"""</div>
<div><br>
</div>
<div>3. Additionally, while a datastore_type should
have an ID in the Trove infastructure database, it
should also be possible to pass just the name of the
datastore type to the instance call, such as "mysql"
or "mongo". Maybe we could allow this in addition to
the ID? I think this form should actually use the
argument "type", and the id should then be passed as
"type_id" instead.</div>
<div><br>
</div>
<div>"""</div>
<div>{</div>
<div> "instance" : {</div>
<div> "flavorRef" : "2",</div>
<div> "name" : "as",</div>
<div> "datastore": {</div>
<div> "type" : "mysql",</div>
<div> "version" :
"94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b"</div>
<div> } </div>
<div> "volume" : { "size" : "1" }</div>
<div> }</div>
<div>}</div>
<div><br>
</div>
<div>"""</div>
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>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:</div>
<div><br>
</div>
<div>"""</div>
<div>{</div>
<div> "instance" : {</div>
<div> "flavorRef" : "2",</div>
<div> "name" : "as",</div>
<div> "datastore": {</div>
<div> "type" : "mysql"</div>
<div> } </div>
<div> "volume" : { "size" : "1" }</div>
<div> }</div>
<div>}</div>
<div>"""</div>
<div><br>
</div>
<div>Thoughts?</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>Tim</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader" target="_blank"></fieldset>
<br>
<pre>_______________________________________________
OpenStack-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>