Chapter 7. Manual Post-Deployment Tasks

The Puppet module attempts to automate as many tasks as it reasonably can. However, it is constrained to setting up only a single host at a time. In an assumed multi-host setup, you must perform the following manual post-deployment tasks after the module has completed.
  1. Set up DNS entries for hosts. If you installed BIND using the Puppet module, then any other components installed with the module on the same host received DNS entries. Other hosts must all be defined manually, including at least your node hosts. The oo-register-dns command on a broker host may prove useful for this.
  2. Copy the rsync public key to enable moving gears. The broker rsync public key must go on nodes, but it is difficult to script the task generically. Nodes should not have password-less access to brokers to copy the .pub key, so this must be performed manually on each node host:
    # scp root@broker:/etc/openshift/rsync_id_rsa.pub /root/.ssh/
    (The above step will ask for the root password of the broker machine.)
    # cat /root/.ssh/rsync_id_rsa.pub >> /root/.ssh/authorized_keys
    # rm /root/.ssh/rsync_id_rsa.pub
    If you skip this step, each gear move requires typing root passwords for each of the node hosts involved.
  3. Copy SSH host keys between the node hosts. All node hosts must identify with the same host keys, so that when gears are moved between hosts, ssh, and git do not give developers spurious warnings about the host keys changing. Copy /etc/ssh/ssh_* from one node host to all of the rest. Alternatively, if using the same image for all hosts, keep the keys from the image.
  4. Create districts. Nodes must belong to a district in order to work properly. Adding a node to a district after the node already has hosted applications running on it is very difficult, so it is important to do during the initial deployment. For a discussion of what districts are, see the OpenShift Enterprise Administration Guide [12].
    On a broker host, run the following command to define a new district:
    # oo-admin-ctl-district -c create -n District_Name -p Gear_Profile
    To perform a blank assignment of all nodes to a district, run:
    # oo-admin-ctl-district -c add-node -n District_Name -a
    Otherwise add nodes one at a time with:
    # oo-admin-ctl-district -c add-node -n District_Name -i Node_Hostname
  5. Import cartridge manfiests. Run the following command on a broker host to import the cartridge manifests for all cartridges installed on nodes:
    # oo-admin-ctl-cartridge -c import-profile --activate --obsolete
    This registers the cartridges with the broker and makes them available to developers for new hosted applications.

Note

For further information on administering an OpenShift Enterprise deployment, see the OpenShift Enterprise Administration Guide [13].