Deploy Trove to Moonshot node with netboot

Note: this guide assumes you are familiar with building Baserock systems, for more information on building Baserock systems see: Building a Baserock system.

You may also want to read the Setup an ARMv8 Baserock system on an HP Moonshot node guide before continuing.

First, build the Trove:

morph build systems/trove-system-armv8l64-moonshot.morph

Before you can deploy trove you will need to generate keys for some of the accounts trove uses, see prepare trove accounts for more details.

Next, write the following cluster into a file (e.g. moonshot-trove-cluster.morph ):

name: moonshot-m400-armv8l64-trove
kind: cluster
description: |
  Deploy an armv8l64 Trove server into a HP Moonshot node

  The system will be configured to boot through PXE from existing DHCP,
  TFTP and NFS servers.
systems:
- morph: systems/trove-system-armv8l64-moonshot.morph
  deploy:
    netboot:
      type: extensions/pxeboot
      location: $macaddr-of-node
      PXEBOOT_MODE: existing-server
      PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://$tftp-server/srv/nfsboot/tftp/
      PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://$nfsboot-server/srv/nfsboot/
      KERNEL_ARGS: console=ttyS0,9600n8r rw
      DTB_PATH: $dtb-path
      HOSTNAME: $host-name
      MOONSHOT_KERNEL: yes
      INSTALL_FILES: moonshot/manifest
      INSTALLER: no
      FSTAB_HOMES: /dev/sda2 /home auto defaults,noatime,rw 0 2
      TROVE_ID: trove_moonshot
      TROVE_COMPANY: $company
      LORRY_SSH_KEY: /src/ssh_keys/lorry.key
      LORRY_SSH_PUBKEY: /src/ssh_keys/lorry.key.pub
      TROVE_ADMIN_USER: $admin-user-name
      TROVE_ADMIN_EMAIL: $admin-email
      TROVE_ADMIN_NAME: $admin-name
      TROVE_ADMIN_SSH_PUBKEY: /src/ssh_keys/id_rsa.pub
      WORKER_SSH_PUBKEY: /src/ssh_keys/worker.key.pub

Then run morph deploy, with name of the file you just created

morph deploy moonshot-trove-cluster.morph