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.
Approach #1: modify ubuntu-mysql/install.d/10-mysql with a case statement Pros: * No new directories or files Cons: * New variable DATASTORE_VERSION or SERVICE_VERSION is required to pivot on * File contention (i.e. merges) as all versions will be in the same file Approach #2: add ubuntu-mysql-5.6/install.d/10-mysql Pros: * There is already a precedent for using a separate element for each "variant" (i.e. fedora vs. ubuntu) * Files are fine-grained; purpose is obvious from filename * Less file contention as there is a separate file for each version * No new variable Cons: * Possible explosion in the number of directories due to number of variants Questions: * Has this been discussed already? What is the desired approach? * Will the community accept MySQL 5.6 disk-image-builder element? And Mongo 2.4.9? (Using whatever approach above is agreed on.)
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev