Rings Picture Gallery Setup

The Picture Rings application is designed to allow a single server to host multiple picture galleries, but this has not been tested. It is much simpler to just create a VM for each gallery instance.

Detailed Steps

  1. Build a VM using remctl <xenhost> xen new. This uses FAI and installs many useful packages.

  2. Login to the new host's console using cz-xen console <hostname>.

  3. Bring up the network interface and get a dhcp address. ip link enX0 up and dhclient -v.

  4. Install the auristorfs-client and auristorfs-modules-dkms.

  5. Assign an ip address to the host and install netplan. Copy and edit the netplan configuration file from /afs/@cell/public/software/netplan/10-static.yaml.

  6. Create a host keytab using wallet and install the keytab.

  7. Copy cz-puppet.conf from /afs/@cell/public/software/puppet/cz-puppet.conf to /etc.

  8. Edit /etc/cz-puppet.conf to set the MANIFEST_ID. A reasonable default is minimal.

  9. Set the puppet base path with cz-puppet-basepath.

  10. Update AFS permissions to allow the new host to access the puppet repository.

    pts createuser -name host.somehost.mycell.org -type machine
    pts adduser -group puppet-hosts -user host.somehost.mycell.org
    
  11. Create the following wallet objects and set the wallet acl to allow the objects to be downloaded using the host keytab.

    file config/<ring-id>_db
    keytab host/<ring-id>.ca-zephyr.org
    keytab http/<ring-id>.ca-zephyr.org
    keytab service/<ring-id>
    
  12. Create the gallery configuration file /etc/rings/<ring-id>.conf and add it to the puppet configuration.

  13. Run puppet with cz-puppet.

  14. Create the MariaDB database to hold gallery meta-data.

  15. Create a database user that is referenced in the wallet object file config/<ring-id>_db.

    GRANT ALL ON .* to ''@'10.0.0.0/255.255.255.0' IDENTIFIED BY 'some-password';

  16. Fix what doesn't work.

  17. Have a lolly pop.