<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 style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">Hi,
<div><span style="font-size:13.3333px"><br>
</span></div>
<div style="font-size: 13.3333px;"><span style="font-size: 13.3333px;">As it will helpful in adoption of Magnum so i</span><span style="font-size: 13.3333px;">t's good to seperate drivers somehow and make addition/management of new/current cluster drivers easier.</span></div>
<div style="font-size: 13.3333px;"><span style="font-size: 13.3333px;"><br>
</span></div>
<div style="font-size: 13.3333px;"><span style="font-size: 13.3333px;">>From Developer's(refering just Myself) point of view i think current approach is Ok as we can manage everything at one place and from Operator perspective i think it should be easier to
 add/disable drivers.</span></div>
<div style="font-size: 13.3333px;"><span style="font-size: 13.3333px;">Keeping above points in mind i think for now we should consider more on current contrib drivers development process, as this will lead to how other drivers would be developed/added in magnum
 later on. Currently we have three contrib drivers under development:- k8s_opensuse_v1/dcos_centos_v1/dcos_centos_ironic_v1. So we can target atleast finalizing process for their addition to some extent in this cycle.</span></div>
<div><span style="font-size:13.3333px"><br>
</span></div>
<div><span style="font-size:13.3333px">Should we focus more on adding new contrib drivers now. </span><span style="font-size: 13.3333px;"> </span><span style="font-size: 10pt;">I think Adding new cluster drivers should be made more easier and independent whether
 by documenting or by other means. </span><span style="font-size: 13.3333px;">As i</span><span style="font-size: 13.3333px;"> believe disabling can just be done by updating setup.cfg or manum.conf. May be we can provide some option for disabling drivers without
 manully updating config/setup files.</span></div>
<div><br>
</div>
<div><br>
</div>
<div><< <span style="font-family:"Times New Roman"; font-size:16px">1. in-tree:  remove the entrypoints from magnum/setup.cfg to not install them </span>
<div style="font-family:"Times New Roman"; font-size:16px">by default. This will require some plumbing to manage them like separate python</div>
<div style="font-family:"Times New Roman"; font-size:16px">packages, but allows magnum's development team to manage the official drivers</div>
<div style="font-family:"Times New Roman"; font-size:16px">inside the service repo.</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px">For this approach, what if we add drivers automatically as it is right now. And update doc for operators who want to disable some/all automatically installed drivers and on how they can add their custom
 drivers. I think Murali was working on this(process for adding new contrib drivers) so he might have some idea on this.</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px"><< 2. separate repo: This option sounds cleaner, but requires more refactoring and</div>
<div style="font-family:"Times New Roman"; font-size:16px">will separate more the drivers from service, having significant impact in the</div>
<div style="font-family:"Times New Roman"; font-size:16px">development process.</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px">Yes, This sounds more cleaner but seems not necessary now.</div>
<div style="font-family:"Times New Roman"; font-size:16px">Agree with Ricardo for not moving to this approach now as Drago's concern is also valid and it would be difficult to handle that along with other high priorities tasks in the Ocata Cycle. So it can
 be revisited later when we have defined process for new drivers and we have more drivers in-tree.</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px"><br>
</div>
<div style="font-family:"Times New Roman"; font-size:16px">Regards</div>
<div style="font-family:"Times New Roman"; font-size:16px">Yatin Karel</div>
<div style="font-family:Times New Roman; color:#000000; font-size:16px">
<hr tabindex="-1">
<div id="divRpF973796" style="direction:ltr"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Spyros Trigazis [strigazi@gmail.com]<br>
<b>Sent:</b> Friday, November 18, 2016 8:04 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> [openstack-dev] [magnum] Managing cluster drivers as individual distro packages<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hi all,
<div><br>
</div>
<div>In magnum, we implement cluster drivers for the different combinations</div>
<div>of COEs (Container Orchestration Engines) and Operating Systems. The</div>
<div>reasoning behind it is to better encapsulate driver-specific logic and to allow</div>
<div>operators deploy custom drivers with their deployment specific changes.</div>
<div><br>
</div>
<div>For example, operators might want to:</div>
<div>* have only custom drivers and not install the upstream ones at all</div>
<div>* offer user only some of the available drivers</div>
<div>* create different combinations of  COE + os_distro</div>
<div>* create new experimental/staging drivers </div>
<div><br>
</div>
<div>It would be reasonable to manage magnum's cluster drivers as different</div>
<div>packages, since they are designed to be treated as individual entities. To do</div>
<div>so, we have two options:</div>
<div><br>
</div>
<div>1. in-tree:  remove the entrypoints from magnum/setup.cfg to not install them </div>
<div>by default. This will require some plumbing to manage them like separate python</div>
<div>packages, but allows magnum's development team to manage the official drivers</div>
<div>inside the service repo.</div>
<div><br>
</div>
<div>2. separate repo: This option sounds cleaner, but requires more refactoring and</div>
<div>will separate more the drivers from service, having significant impact in the</div>
<div>development process.</div>
<div><br>
</div>
<div>Thoughts?</div>
<div><br>
</div>
<div>Spyros</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>