Installing and configuring cloud-init on SLES

Before you capture a virtual machine, you need to install the cloud-init package. This topic provides you details about cloud-init installation procedure for SLES.

Install cloud-init on SLES

Notes:
  • Install dependencies are available in SLES media or SUSE cloud repositories. If you are unable to configure, contact SUSE support. TEST TEST TEST
  • If you do not have access to SUSE repository, you can create your own repository from SUSE media. See Configuring cloud-init dependencies for more details.
  • For troubleshooting steps related to MAC address conflict issues, see MAC address conflict.
  1. Follow these steps to install cloud-init on SLES 12 and SLES 15:

    PowerVC supports only cloud-init-19.1 version for SLES 12 and SLES 15.

    1. Perform the following steps to configure cloud-init-19.1 for SLES 12 and SLES 15. .
      1. To configure SUSE repository, run SUSEConnect -p sle-module-public-cloud/<SLES versions>/ppc64le. Before installing cloud-init, make sure the following packages are installed. Install cloud-init by running zypper install <package-name>. You can ignore any package signing related message and continue with the installation.

        Table 1. SLES packages
        SLES 12 SLES 15
        e2fsprogs 
        iproute 
        net-tools 
        policycoreutils-python 
        procps 
        python(abi) = 2.7 
        python-PrettyTable 
        python-PyYAML 
        python-configobj 
        python-jinja2 
        python-jsonpatch 
        python-jsonschema 
        python-oauthlib 
        python-requests 
        python-setuptools 
        python-six
        xfsprogs
        python3-oauthlib
        python3-Jinja2
        python3-PyYAML
        python3-distro
        python3-jsonpatch
        python3-jsonschema
        python3-PrettyTable
        python3-requests
        python3-configobj
      2. For SLES 12, obtain the RPM from PowerVC SLES 12 public repo. For SLES 15, obtain the RPM from PowerVC SLES 15 public repo.
      3. Install cloud-init by running zypper install download_path/<cloud-init package>.
      4. Enable root login in /etc/cloud/cloud.cfg by setting the below:
        disable_root: false
        Add the following fields after preserve_hostname and remove disable_ec2_metadata module from /etc/cloud/cloud.cfg:
        datasource_list: [ ConfigDrive, None ]
        datasource:
          ConfigDrive:
            dsmode: local
      5. Run the following commands to enable and start the cloud-init related services.
        systemctl enable cloud-init-local.service 
        systemctl enable cloud-init.service
        systemctl enable cloud-config.service
        systemctl enable cloud-final.service
        systemctl start cloud-init.service
        systemctl start cloud-init-local.service
        systemctl start cloud-config.service 
        systemctl start cloud-final.service
      6. Run cloud-init status to check the cloud-init installation status. Make sure the status shows as Done.
  2. Compared to community cloud-init, PowerVC provides additional modules that must be configured in the cloud-init config file for proper functioning of RMC and hostname. Follow the steps in PowerVC cloud-init modules.