Python script which allows Red Hat Satellite 6 clients either directly connect to a Red Hat Satellite 6 server or Capsule Server to fail over to another if the capsule or satellite server they are registered to dies.
The idea is to allow the client to fail over automatically instead of relying on the Satellite 6 infrastructure to be resilient.
Authors: Calvin Hartwell ([email protected]), Chris Procter ([email protected])
Runs as a one shot scrit that will chose the highest priority capsule from the config file and fail Pulp (yum) functionality over to it by using multiple copies of the katello-rhsm-consumer script (as delivered by the katello-ca-consumer rpm) stored in different config directories. A better description of setup is needed here! Currently this only works failing between multiple capsules attached to the same masster to simplify the complexity of subscribing and entitlments.
-
Ability to register and automatically subscribe from a predefined list of Satellite 6/Capsule servers.
-
Ability to set failure detection conditions for the Satellite 6/Capsule Servers.
-
Ability to specify priority/weight of servers from the predefined list and which services should be configured (Puppet may not be used for example).
-
Ability to log errors if unable to connect to any Satellite 6/Capsule servers.
-
Ability to failover goferd, puppet client and subscription manager (RHSM) to a new Satellite 6/Capsule Server.
-
Ability to fallover to the Red Hat CDN if all capsules or satellite 6 servers are down and it is accessible (useful for cloud environments)
-
Automatically downloads, installs and updates the Katello CA RPM from a selected Satellite 6/Capsule server.
-
Ability to run the script as a daemon, one-shot execution or use the tool through CRON.
-
Script will eventually be packaged as an RPM and a Puppet module/Ansible Playbook will be provided for deploying the agent config.