<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hi Bekir,</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I'm very happy to answer your questions. See me comments in line.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 23, 2021 at 8:24 AM Bekir Fajkovic <<a href="mailto:bekir.fajkovic@citynetwork.eu">bekir.fajkovic@citynetwork.eu</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div><br></div><div>The questions:</div><div>------------------------</div><div><br></div><div>Having the fact that Trove Victoria release provides Docker containers as a new way of database instance provisioning, i am wondering how far the project</div><div>is developed in terms of covering the different types of databases. What i can see by mainly parsing the code provided on Github, those seem to be </div><div>officially released:</div><div><br></div><div>- MySQL</div><div>- MariaDB</div><div>- PostgreSQL</div><div><br></div><div>and the rest of the planned database types are in "experimental" phase. And also, regarding certain types of databases (for example MySQL, version 5.7 and 8.0) only certain </div><div>versions of the datastores seems to be supported, but not all. </div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">MySQL 5.7.x is supported but 8.0 is in experimental.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div>On the other hand, nothing regarding datastore versions supported for MariaDB and PostgreSQL seems to be</div><div>mentioned somewhere. Could someone please confirm that as well as give some more details about it?</div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">MariaDB 10.4.x and PostgreSQL 12.4 are supported. The other versions need to be fully tested.</div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div><br></div><div>I successfully managed to create certain versions of datastores in my devstack environment, belonging to those 3 database types mentioned above (and based on</div><div>trovestack-generated dev guest image that is by default delivered with devstack installation), but not without some undesirable events. For example, i am able to register </div><div>PostgreSQL datastore version 12 and instantiate a database instance of that version but not version 13 and above, where i get some hostname-related errors etc.</div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Yes, because PostgreSQL 13 has never been tested.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div><br></div><div>Also, a question regarding the building of the production-ready guest image. As mentioned, Trovestack script is provided as a possible way of producing the images (by omitting</div><div>dev option the Trove Guest Agent binaries are deployed into the instantiated VM). How does an image produced this way looks like? From where the base image is fetched,</div><div>is it a "cloud based image" with cloud-init in it, are the automatic security and software patching features disabled in produced image, so that we do not get unexpected service </div><div>interruptions when the OS suddenly decides to start updating itself etc..</div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">If you look at trovestack script implementation, you can see it's calling disk-image-create script from diskimage-builder, and there are some elements[2] defined in trove repo[3] for building the image.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">[1]: <a href="https://docs.openstack.org/diskimage-builder/latest">https://docs.openstack.org/diskimage-builder/latest</a></div><div class="gmail_default" style="font-family:verdana,sans-serif">[2]: <a href="https://docs.openstack.org/diskimage-builder/latest/elements.html">https://docs.openstack.org/diskimage-builder/latest/elements.html</a></div><div class="gmail_default" style="font-family:verdana,sans-serif">[3]: <a href="https://github.com/openstack/trove/tree/master/integration/scripts/files/elements">https://github.com/openstack/trove/tree/master/integration/scripts/files/elements</a></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div><br></div><div>Regarding the Trove Guest Agent service - i read in some Trove books previously that there are dedicated agents for each and every database type, is it the same situation</div><div>in Victoria release, or is there an "universal" Guest Agent covering all the database types nowadays? Where is the code that adapts the Agent commands towards the database </div><div>instances placed inside the project?</div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">Trove never has dedicated agents for each and every database type, it's using the same trove-guestagent but with different configurations for different datastores.</div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto" style="font-size:13px"><div><br></div><div>The backups - as i can see there seem to be some kind of dedicated docker-backup images involved in each database type. Could someone explain the internals of backup mechanisms</div><div>inside Trove Victoria release in more details?</div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">The backup container image is created to help trove-guestagent to achieve datastore-agnostic (so we only need to maintain a universal guest image), we shift the backup and restore functionalities and needed tools to a dedicated container. The implementation can be found here[4].</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">[4]: <a href="https://github.com/openstack/trove/tree/master/backup">https://github.com/openstack/trove/tree/master/backup</a></div><br></div><div><br></div><div><span style="color:rgb(102,102,102);font-family:monospace,monospace">---</span><br></div><div><div><font color="#666666" face="monospace, monospace">Lingxian Kong</font></div><div><font color="#666666" face="monospace, monospace">Senior Software Engineer</font></div><div><font color="#666666" face="monospace, monospace">Catalyst Cloud</font></div></div><div><a href="http://www.catalystcloud.nz" target="_blank" style="font-family:monospace,monospace">www.catalystcloud.nz</a> </div></div></div>