Installation and configuration of zvmguestconfigure on the Linux server

To use the user data, the Linux server must be configured to run a service that retrieves the user data that is passed from the IBM® Cloud Infrastructure Center and then takes actions based on the contents of that data. This service is also known as an activation engine (AE).

For a Linux server that is deployed by the IBM Cloud Infrastructure Center, zvmguestconfigure must be installed and started as the pre-AE before any other underlying AE because it can process the request files that are transmitted by the IBM Cloud Infrastructure Center to the reader of the Linux server as a class X file.

The IBM Cloud Infrastructure Center supports initiating changes to Linux server while it is shut down or the z/VM® userid of the Linux server is logged off. The changes to Linux server are implemented by using zvmguestconfigure that is run when Linux is started the next time.

Follow the upcoming steps to install the zvmguestconfigure.

Installing and configuring zvmguestconfigure on RHEL7.9

  1. Ssh to the compute node. Copy the following files to your Linux server.

    scp /var/lib/zvmsdk/zvmguestconfigure* root@<Linux_ip>:/root/

    Note: The <Linux_ip> is the IP address of your Linux server.

  2. Ssh to the Linux server. Move the zvmguestconfigure script to the /usr/bin/ folder and make it executable:

    mv zvmguestconfigure /usr/bin/
    chmod +x /usr/bin/zvmguestconfigure
  3. Move the zvmguestconfigure.service file to /lib/systemd/system and make sure it has correct file permissions:

    mv zvmguestconfigure.service /lib/systemd/system
    chmod 664 /lib/systemd/system/zvmguestconfigure.service
  4. Enable the zvmguestconfigure service by the command:

    systemctl enable zvmguestconfigure.service
  5. Start the zvmguestconfigure service by the command:

    systemctl start zvmguestconfigure.service
  6. The zvmguestconfigure service is a one-shot type service, so it is normal for the service to be in inactive status. You need to make sure that the exit status is (code=exited, status=0/SUCCESS) in the output of the following command:

    systemctl status zvmguestconfigure.service

Installing and Configuring zvmguestconfigure on RHEL8.x and RHEL9.x

  1. The tar is not installed in RHEL8.x by default, so ssh to the Linux server and install it manually to ensure that zvmguestconfigure service can work normally:

    yum install tar
  2. The s390utils is not installed in RHEL9.0 by default. If you choose Software Selection as Minimal when you install the operating system of RHEL9.x and it is necessary for the zvmguestconfigure. Install by running the following command:

    yum install s390utils
  3. Ssh to the compute node. Copy the following files to your Linux server.

    scp /var/lib/zvmsdk/zvmguestconfigure* root@<Linux_ip>:/root/

    Note: The <Linux_ip> is the IP address of your Linux server.

  4. Ssh to the Linux server. Move the zvmguestconfigure script to the /usr/bin/ folder and make it executable:

    mv zvmguestconfigure /usr/bin/
    chmod +x /usr/bin/zvmguestconfigure
  5. Restore zvmguestconfigure file default SELinux security contexts:

    restorecon -v /usr/bin/zvmguestconfigure
  6. Move the zvmguestconfigure.service file to /etc/systemd/system/ and make sure that it has correct file permissions:

    mv zvmguestconfigure.service /etc/systemd/system/
    chmod 664 /etc/systemd/system/zvmguestconfigure.service
  7. Restore zvmguestconfigure.service file default SELinux security contexts:

    restorecon -v /etc/systemd/system/zvmguestconfigure.service
  8. Notify systemd that a new zvmguestconfigure.service file exists and enables the zvmguestconfigure service by running the following commands:

    systemctl daemon-reload
    systemctl enable zvmguestconfigure.service
  9. Start the zvmguestconfigure service by the command:

    systemctl start zvmguestconfigure.service
  10. The zvmguestconfigure service is a one-shot type service, so it is normal for the service to be in inactive status. You need to make sure that the exit status is (code=exited, status=0/SUCCESS) in the output of the following command:

    systemctl status zvmguestconfigure.service

Installing and configuring zvmguestconfigure on UBUNTU 20.04 and UBUNTU 22.04

  1. ssh to the compute node. Copy the following files to your Linux server.

    scp /var/lib/zvmsdk/zvmguestconfigure* root@<Linux_ip>:/root/

    Note: The <Linux_ip> is the IP address of your Linux server.

  2. ssh to the Linux server. Move the zvmguestconfigure script to the /usr/bin/ folder and make it executable:

    mv zvmguestconfigure /usr/bin/
    chmod +x /usr/bin/zvmguestconfigure
  3. Move the zvmguestconfigure.service.ubuntu file to /lib/systemd/system, then rename it and make sure that it has correct file permissions:

    mv zvmguestconfigure.service.ubuntu /lib/systemd/system/zvmguestconfigure.service
    chmod 664 /lib/systemd/system/zvmguestconfigure.service
  4. Enable the zvmguestconfigure service by the command:

    systemctl enable zvmguestconfigure.service
  5. Start the zvmguestconfigure service by the command:

    systemctl start zvmguestconfigure.service
  6. The zvmguestconfigure service is a one-shot type service, so it is normal for the service to be in inactive status. You need to make sure that the exit status is (code=exited, status=0/SUCCESS) in the output of the following command:

    systemctl status zvmguestconfigure.service
  7. Install dependent package "openvswitch-switch":

    sudo apt install openvswitch-switch

    Note: For detailed information, refer to Ubuntu 20.04 upgraded snapshot/2204 image deployment failed.

Installing and configuring zvmguestconfigure on SELS 15

  1. Ssh to the compute node. Copy the following files to your Linux server.

    scp /var/lib/zvmsdk/zvmguestconfigure* root@<Linux_ip>:/root/

    Note: The <Linux_ip> is the IP address of your Linux server.

  2. Ssh to the Linux server. Move the zvmguestconfigure script to the /usr/bin/ folder and make it executable:

    mv zvmguestconfigure /usr/bin/
    chmod +x /usr/bin/zvmguestconfigure
  3. Move the zvmguestconfigure.service file to /usr/lib/systemd/system:

    mv zvmguestconfigure.service /usr/lib/systemd/system
  4. Enable the zvmguestconfigure service by the command:

    systemctl enable zvmguestconfigure.service
  5. Start the zvmguestconfigure service by the command:

    systemctl start zvmguestconfigure.service
  6. The zvmguestconfigure service is a one-shot type service, so it is normal for the service to be in inactive status. You need to make sure that the exit status is (code=exited, status=0/SUCCESS) in the output of the following command:

    systemctl status zvmguestconfigure.service