<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>We have a need to support multiple versions of a single datastore with a single set of disk-image-builder elements. Let's take MySQL on Ubuntu as an example. 5.5 is already present in trove-integration. Let's say we want to add 5.6 to coexist. Let's also
 assume that simply asking for the existing apt repository for MySQL 5.6 is not possible (i.e. another apt repo is required). In trove-integration/scripts/files/elements, two approaches come to mind.</div>
<div><br>
</div>
<div>Approach #1: modify ubuntu-mysql/install.d/10-mysql with a case statement</div>
<div><br>
</div>
<div>Pros:</div>
<ul>
<li>No new directories or files</li></ul>
<div>Cons:</div>
<ul>
<li>New variable DATASTORE_VERSION or SERVICE_VERSION is required to pivot on</li><li>File contention (i.e. merges) as all versions will be in the same file</li></ul>
<div>Approach #2: add ubuntu-mysql-5.6/install.d/10-mysql</div>
<div><br>
</div>
<div>Pros:</div>
<ul>
<li>There is already a precedent for using a separate element for each "variant" (i.e. fedora vs. ubuntu)</li><li>Files are fine-grained; purpose is obvious from filename</li><li>Less file contention as there is a separate file for each version</li><li>No new variable</li></ul>
<div>Cons:</div>
<ul>
<li>Possible explosion in the number of directories due to number of variants</li></ul>
<div>Questions:</div>
<ul>
<li>Has this been discussed already? What is the desired approach?</li><li>Will the community accept MySQL 5.6 disk-image-builder element? And Mongo 2.4.9? (Using whatever approach above is agreed on.)</li></ul>
</body>
</html>