Installing and configuring cloud-init on IBM i

Cloud-init is a script that enables virtual machine activation and initialization, and is widely used for OpenStack.

Before you capture a virtual machine, install the cloud-init initialization package.

  1. Download and install the required license programs at
    • 5733OPS with option base, 2, 3, 4 and 9.
      • Cloud-init is packaged in option 9 of 5733OPS
      • Option 2, 3 and 4 provide the environment to run cloud-init on IBM i
    • 5733SC1 with *ALL option
    • 5770DG1 with *ALL option
  2. Install all required PTFs, as listed in the blog Install and enable cloud-init on IBM i.
  3. Install the dependent cloud-init RPMs
    1. Use call qp2term to get into the PASE environment.
    2. Run cd /QOpenSys/QIBM/ProdData/OPS/cloudinit/install/.

    If the IBM® i virtual machine has an internet connection, and you would prefer to install the dependencies from the internet, then use the following command to download and install the RPMs: -download_and_install.

    If you want to download the dependencies from the internet into the /QOpenSys/QIBM/ProdData/OPS/cloudinit/install/ directory without installing them, use the following command: -download_only
    If you have the dependent cloud-init RPMs in the /QOpenSys/QIBM/ProdData/OPS/cloudinit/install/ directory, use this command to install the RPMs from the local IBM i virtual machine: -install_only

    If the IBM i virtual machine does not have access to the internet, download the dependencies from other systems in the /QOpenSys/QIBM/ProdData/OPS/cloudinit/install/pkg_cloud-init-0.7.5.lst. directory. Then, upload the RPMs into the /QOpenSys/QIBM/ProdData/OPS/cloudinit/install/ directory of your IBM i virtual machine and run -install_only.

  4. Capture a virtual machine.
    In order to capture a virtual machine, you must enable the cloud-init that is installed on the IBM i virtual machine. Run CALL PGM(QSYS/QAENGCHG) PARM(*ENABLECI) on the virtual machine. After you enable the cloud-init on the server, power off the virtual machine, and it will be ready for capture.
    Note: This command must be run with a user profile that has the following access privileges:
    • *ALLOBJ
    • *AUDIT
    • *JOBCTL
    • *SAVSYS
    • *SECADM
    • *SERVICE
    • *SPLCTL