<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">On Tue, Jan 26, 2021 at 8:43 PM Bekir Fajkovic <<a href="mailto:bekir.fajkovic@citynetwork.eu">bekir.fajkovic@citynetwork.eu</a>> wrote:</span><br></div></div><div class="gmail_quote"><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>Hi!</div><div><br></div><div>Thanks a lot for the kind answers and explanations, now the picture of the concept and the current development situation overall is much clearer to me.</div><div><br></div><div>Regarding the question about different types of Guest Agents acquired, depending on the database type, that i asked, it is mainly based on the information i read</div><div>about in the latest edition of the book "<strong><em>Openstack Trove Essentials</em></strong>" by Alok Shrivastwa and Sunil Sarat that i purchased recently.</div><div><br></div><div>For example, as mentioned in the book:</div><div><br><em><strong>- Let's also look at the different types of guest agents that are required depending
on the database engine that needs to be supported. The different guest agents<br>  (for example, the MySQL and PostgreSQL guest agents) may even have different capabilities depending on what is supported on the particular database.</strong></em> (page 6)<br><strong><em>- The Guest Agent code is different for every datastore that needs to be supported and the Guest Agent for that particular datastore is installed on the corresponding image of the datastore version. </em></strong>(page 10)<br><strong><em>- As we have already seen in the previous chapters, the guest agent is different for different database engines, and hence the correct version of the guest agent needs to be installed on the system. </em></strong>(page 58)</div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Some of those have been changed and not the case any more. After database containerization, there is no database related stuff installed in the guest image. However, it's correct that different datastores are implemented as different drivers, so you can say "The Guest Agent code is different".</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 title="Page 27"><br></div><div title="Page 31"><div><div>When it comes to guest image creation, i found now the places in the code that are used, as well as the acquired elements. A call to the function <strong>build_guest_image() </strong>is performed, involving those needed elements<br>as minimal requirements:</div><div><br></div><div>- <strong><em>ubuntu-minimal </em></strong>(which also invokes <em><strong>ubuntu-common</strong></em> i think)</div><div>- <strong><em>cloud-init-datasources</em></strong></div><div>- <strong><em>pip-and-virtualenv</em></strong></div><div>- <strong><em>pip-cache</em></strong></div><div>- <strong><em>guest-agent</em></strong></div><div>- <span>${guest_os}</span>-<strong><em>docker</em></strong></div><div>- <strong><em>root-passwd</em></strong></div><div><br></div><div>ref:</div><div><a href="https://github.com/openstack/trove/blob/master/integration/scripts/functions_qemu" target="_blank">https://github.com/openstack/trove/blob/master/integration/scripts/functions_qemu</a></div><div><br></div><div>So, when it comes to my question regarding the disabling of the automatic updates, it should be doable in a couple of ways. Either by executing a script placed in UserData during guest VM creation and initialisation</div><div>or by manipulating elements (for example, such as we have a script placed in <strong>ubuntu-common</strong> element that disables privacy extensions for IPv6 (RFC4941):<br><br>/usr/local/lib/python3.6/dist-packages/diskimage_builder/elements/ubuntu-common/install.d/80-disable-rfc3041</div></div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">You are right, but the recommended way is either those changes could be contributed back to the upstream if they are common feature requests and could benefit the others, or they are implemented in a separate element so there is little chance that conflict may happen when upgrading trove.</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 title="Page 31"><div><div><br></div>I am really looking forward to our soon deployment of the Trove project, i see huge potential there!</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Good luck and please let me know if you have any other questions.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style=""><div style="font-family:verdana,sans-serif"><span style="color:rgb(102,102,102);font-family:monospace,monospace">---</span><br></div><div style=""><div style="font-family:verdana,sans-serif"><font color="#666666" face="monospace, monospace">Lingxian Kong</font></div><div style=""><font color="#666666" style="" face="monospace">Senior Cloud Engineer (Catalyst Cloud)</font></div><div style=""><font color="#666666" face="monospace">Trove PTL (OpenStack) </font></div><div style=""><font color="#666666" style="" face="monospace"><font style="">OpenStack Cloud Provider Co-Lead </font>(Kubernetes)</font></div><div style="font-family:verdana,sans-serif"><font color="#666666" face="monospace, monospace"><a href="http://www.catalystcloud.nz" target="_blank"></a></font></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">

</blockquote></div></div>