Bug #75997 Information about how to use the repositories in an enterprise setting
Submitted: 22 Feb 2015 11:52
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Package Repos Severity:S4 (Feature request)
Version: OS:Any
Assigned to: CPU Architecture:Any

[22 Feb 2015 11:52] Daniël van Eeden
Description:
Currently there are these sources available:
 - Community repositories (https://repo.mysql.com/yum)
 -- One repo per version (5.5, 5.6, 5.7)
 -- One tools repo
 -- One connectors repo
 - Enterprise repositories (zip/tar from MyOracle Support)
 -- One repo per version (5.5, 5.6)
 - Enterprise backup RPM (YUM RFE Bug #75996)

In an enterprise setting we have:
 - No direct internet connection from database servers
 - We would like download files once, not for every server (== caching)
 - We would like to automate things (manual steps don't scale)
 - Many different applications with many different requirements for MySQL version, config and availability.

So an typical solution is:
 - A Red Hat Satellite server and/or a central YUM server
 - Some form of config managent (satellite, puppet, cfengine, salt, etc)

The issues with that are:
The YUM repo's are made as a drop-in replacement for the OS mysql. This is done by installing one repo RPM. We can't just install this RPM as the servers won't be able to contact the repo's. 

We could reposync the repo's to our yum server and then enable the repo for the correct MySQL major version.
But then we have to setup 
 - 5 repo's for community 
 - 2 repo's for enterprise
 - 1 repo for MEB

Each community repo consists of multiple RHEL, SLES and FC versions and also of multiple MySQL versions. This is fine when the repo is used directly, but is painful (large download, long sync time) for repo syncing.

We could only download partial repositories (e.g. skip SLES, FC and non-GA versions of MySQL) and add those to one internal mysql community repo, and then install specific versions and use yum versionlock for version pinning. But this is not trivial to setup and administer.

The community repo's seem to support the installation of an older version. This is needed to install the version we tested on dev/test/acce in production. It's not clear if this works for the enterprise version.
 

How to repeat:
See description

Suggested fix:
Add documentation about how to use the repositories in an enterprise setting.

- How to sync the repo's and use it
-- Full sync
-- Partial sync
-- Separate repo's per version or combining into one repo
-- How to sync with pulp (http://www.pulpproject.org/)
-- How to sync with reposync
- Support for installation of specific version (yum versionlock)