Satellite 6.3 Feature Overview - Satellite Clone

Updated -

Satellite 6.3 introduces the "Satellite Clone" features which provides you with a simple way to copy or clone your Satellite or Capsule Server from one host to another.
This will make it simple for you to create a new environment for testing purposes or to upgrade the underlying operating system, for example from RHEL 6 to RHEL7.

The Satellite Clone feature uses a katello-backup which is copied from the original or source host to a new host.

Requirements

  1. A source Satellite or Capsule 6.3 Server that you wish to clone
  2. A freshly installed RHEL 7 host or virtual machine that has access to the base RHEL7 packages and extras installed. This will be the target or clone server.
  3. A Satellite 6 subscription for the cloned server. If you would like to handle the registration of the system manually, set register_to_portal: false in satellite-clone-vars.yml

Steps

  1. On the source server, perform a Satellite backup. The backup files are output to the specified backup directory.

# katello-backup --online-backup /backup/

  1. On the target server mount the shared storage that contains the katello-backup or copy the following files and folders into the /backup/ folder:
  • candlepin.dump
  • config_files.tar.gz
  • foreman.dump
  • mongo_dump folder
  • pulp_data.tar
  1. On the target server, install the satellite-clone package
    #yum install satellite-clone
  2. On the target server, customize the satellite-clone configuration file by editing /etc/satellite-clone-vars.yml. To change an item from the default, remove the comment character (#) and edit its value.
  • Change disable_postgres_triggers to true
  • Change required_root_free_space to 0 (Disabling this check since this may calculate the required space incorrectly in servers with mounted volumes)
  • Change register_to_portal to false (this will prevent satellite-clone tool from registering to portal again as the subscriptions are already attached in the previous steps)
  • Change backup_dir to the path containing the backup files.
  • Change any other values to suit your requirements.
  1. Run the satellite-clone tool.

# satellite-clone

**WARNING**
- Note that the satellite-clone tool changes the hostname of the cloned server to match the satellite production server by updating /etc/hosts to something like the following. This is intentional to clone your server with the config backup from the production server.
127.0.0.1 satellite.prod.com localhost.localdomain localhost
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- The above mentioned hostname change of the cloned server will not affect the production server since DNS will still resolve your production server name to its production ip address.
- You will have an opportunity to change the hostname of the cloned server after cloning using katello-change-hostname <new_fqdn> --username <admin> --password <password> command.
- If you get error in any cloning step, please let us know for further steps. Performing any unrecommended steps in clone may affect your production server.

Note: On the target server, DHCP, DNS, TFTP and remote execution services are disabled. The cloning process disables these services on the target Satellite Server, to avoid conflict with the source Satellite Server.

  • [Optional] To re-enable DHCP, DNS, TFTP in the Satellite web UI. See Configuring DNS, DHCP, and TFTP on Satellite Server in the Installation Guide. Be aware of possible conflicts with your existing source Satellite infrastructure.

  • [Optional] If you want to re-enable remote execution, run the following command:
    # satellite-installer --scenario satellite \
    --enable-foreman-plugin-remote-execution \
    --enable-foreman-proxy-plugin-remote-execution-ssh

  • Log in to the Satellite web UI as user admin and password changeme. Change the admin user’s password.

  • Capsules' association with lifecycle environments - The cloning process breaks the association between Capsules and their lifecycle environments, to avoid interference with existing infrastructure. For testing purposes is recommended that you create new Capsule Servers to prevent interference with existing infrastructure.

Satellite Clone is complete.

Video

Satellite 6.3 Feature Overview - Satellite Clone Video
Satellite 6.3 Feature Overview - Satellite Clone Video

2 Comments

The satellite-clone command is in the satellite-clone package of maintenance repo:

# subscription-manager repos --enable=rhel-7-server-satellite-maintenance-6-rpms
# yum install -y satellite-clone

Installing: satellite-clone noarch 1.2.5-1.el7sat rhel-7-server-satellite-maintenance-6-beta-rpms 40 k Installing for dependencies: ansible noarch 2.4.2.0-2.el7 rhel-7-server-satellite-maintenance-6-beta-rpms 7.6 M python-cffi x86_64 1.6.0-5.el7 rhel-7-server-rpms 218 k python-enum34 noarch 1.0.4-1.el7 rhel-7-server-rpms 52 k python-idna noarch 2.4-1.el7 rhel-7-server-rpms 94 k python-paramiko noarch 2.1.1-2.el7ae rhel-7-server-satellite-maintenance-6-beta-rpms 267 k python-passlib noarch 1.6.5-1.1.el7 rhel-7-server-satellite-maintenance-6-beta-rpms 488 k python-ply noarch 3.4-11.el7 rhel-7-server-rpms 123 k python-pycparser noarch 2.14-1.el7 rhel-7-server-rpms 105 k python2-cryptography x86_64 1.7.2-2.el7 rhel-7-server-rpms 503 k python2-jmespath noarch 0.9.0-4.el7ae rhel-7-server-satellite-maintenance-6-beta-rpms 39 k python2-pyasn1 noarch 0.1.9-7.el7 rhel-7-server-rpms 100 k sshpass x86_64 1.06-2.el7 rhel-7-server-satellite-maintenance-6-beta-rpms 21 k