My colleague, Ranjitha Vemula, just submitted a trove-integration patch set to add a MySQL 5.6 disk-image-builder element. Two major hurdles were faced with this patch set.
1) The manager The resulting MySQL 5.6 image can be registered using mysql as the datastore, mysql as the manager, and trove.guestagent.datastore.mysql.manager.Manager as the class--in other words, all the same config as MySQL 5.5 except a different image. To repeat, no trove changes are required. Since there is no official Ubuntu package for MySQL 5.6, the official mysql.com Debian package was used. Several assumptions made by the MySQL 5.5 manager (specifically paths) had to be worked around. The following are hard-coded in the my.cnf template and the default values from MySQL's Debian package for these paths don't match those in the manager. * basedir * pid-file The following are referenced using absolute paths (that don't match mysql.com's Debian package). * /usr/sbin/mysqld For all of the above path mismatches, a combination of symlinking and startup script sed's were used. Regarding use of absolute paths to binaries, the manager sometimes uses binaries from the PATH and sometimes uses absolute paths. This should probably be consistent one way or the other. Although using the PATH would add flexibility to the manager. Regarding my.cnf template, should there be a way (e.g. database) to inject some fundamental path mapping between the image layout and the manager? 2) disk-image-builder elements for multiple versions of a single datastore The following layout was chosen (after debating whether logic should instead be added to the existing ubuntu-mysql element): trove-integration/scripts/files/elements/ubuntu-mysql-5.6/install.d/10-mysq l Paired with Viswa Vurtharkar's patch set (https://review.openstack.org/#/c/72804/), this element can be kick-started using: DATASTORE_VERSION="-5.6" PACKAGES=" " ./redstack kick-start mysql In my understanding, D.I.B. elements should be pretty dumb and the caller should worry about composing them so this setup seems like the best approach to me but it leaves ubuntu-mysql untouched. A point made by hub_cap is that now ubuntu-mysql, similar to ubuntu-guest, would imply "things common to all MySQL images" but as of right now, it is as it was before: a MySQL 5.5 image. So there's that to discuss. Feedback is appreciated. Mat _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev