<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>If we were to go with (2), what should happen to the common code?</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Spyros Trigazis <<a href="mailto:strigazi@gmail.com">strigazi@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Friday, November 18, 2016 at 8:34 AM<br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>[openstack-dev] [magnum] Managing cluster drivers as individual distro packages<br>
</div>
<div><br>
</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>
</span>
</body>
</html>