5.5.3 IDIH Manual Deployment on OpenStack

Perform the following procedure for IDIH Manual Deployment on OpenStack using IDIH VMDK image:

  1. To download the IDIH Deliverable Images, contact Oracle Support Team and extract the package to access the Kafka, MySQL, and Service VMDK images.
  2. To download the manual installation scripts, download the zip file containing all manual installation scripts for the specific version from OHC.
  3. Extract the content for that specific version.

    Figure 5-4 Oracle Help Center


    Oracle Help Center

  4. Log in to OpenStack using the login credentials.
  5. To create a port for Fixed IP Deployment, from the main menu, navigate to the Network, from the submenu, select Networks.
  6. Select the network Name, and then select Port, and click Create Port from the upper menu for XMI, IMI, and XSI network planning.
  7. In the Create Port dialog box, enter the following details:

    Note:

    The user must select either Fixed IP or Dynamic IP deployment based on the specific requirements. If the Fixed IP deployment is selected, it is mandatory to create a port prior to launching an instance.
    • In the Name field, enter a Name.
    • Select an IP from the Specify IP address or subnet drop-down list.
    • Enter Fixed IP Address and click Create.

      Figure 5-5 Create Port


      Create Port

  8. To create Security Groups, navigate to Network, from the submenu, select Security Groups, and click Create Security Group.
  9. Create security groups for xmiSecurityGroup, imiSecurityGroup, and xsiSecurityGroup using the details specified in the following files, located in the downloaded zip file from OHC:
    • eidihImiSecurityGroups.yaml
    • eidihXmiSecurityGroups.yaml
    • eidihXsiSecurityGroups.yaml
  10. Click Launch Instance from the upper menu bar.
  11. In the Details dialog box, provide an instance name for the MySQL VM, example: mysql-openstack and click Next.

    Figure 5-6 Details Dialog box


    Details tab

  12. In the Image tab, select the IDIH Deliverable VMDK image.
  13. Ensure that the Create New Volume option is set to NO, and click Next:

    Figure 5-7 Image tab


    Image tab

  14. In the Flavor submenu, verify that appropriate flavors are available and select the recommended flavor for the MySQL VM based on the following table:

    Table 5-11 VM Flavors

    VNFC Type Image Name Flavor Name Minimum vCPUs Minimum RAM (GB) Minimum Disk (GB)
    EIDIH-KAFKA kafka-9.x.0.0.0.vmdk kafka-eidih 6 16 170
    EIDIH-SERVICE service-9.x.0.0.0.vmdk service-eidih 6 16 120
    EIDIH-DB mysql-9.x.0.0.0.vmdk mysql-eidih 6 16 220
  15. Network Configuration:

    Note:

    XSI network port is applicable only for the Kafka VM.
    1. Fixed IP deployment:
      1. Navigate to Network Ports, select the newly created port as shown in the image.
      2. To create a port, complete Step 5, and then select XMI, IMI, and XSI network ports for the VM.

      Figure 5-8 Network Port


      Network Port

    2. Dynamic IP deployment: Navigate to Networks submenu, select XMI, IMI, and XSI networks for the VM.

      Figure 5-9 Networks


      Networks

    3. Attach Security Groups:
      1. For the Service and MySql VMs, add xmiSecurityGroup and imiSecurityGroup.
      2. For the Kafka VMs, add xmiSecurityGroup, imiSecurityGroup and xsiSecurityGroup.
  16. Click Launch Instance to create the MySQL VM.
  17. Perform the following substeps to configure the Virtual Machine:
    1. Select the newly created MySQL VM from the instance list and navigate to the Console tab.
    2. Log in to the Console using the login credentials to configure XMI network interface.

      Note:

      Establish an SSH connection to the VMs XMI IP address. If you are unable to access the XMI IP, proceed with the following steps to configure the XMI network.
    3. Run the following command to view available network interfaces:
      nmcli con show

      Figure 5-10 Retrieving Name of the XMI Interface


      Retrieving Name of the XMI Interface

    4. Retrieve the XMI interface name from the above command, and configure its metric to "1" to allow SSH connection to the XMI IP.

      Example:

      
      nmcli con mod '<name of XMI interface>' ipv4.route-metric 1  
      nmcli con up '<name of XMI interface>'
      
  18. Perform the following steps to verify Root Partition Expansion:
    1. Run the lsblk command to verify if the Root Partition Expansion is required. Depending on the OpenStack version, this process may be managed automatically.
    2. If the Root Partition is not expanded, run the following commands to extend the disk partition and file system:
      
      growpart /dev/vda 1
      resize2fs /dev/vda1
  19. Perform the following substeps to configure Chrony (NTP) for all VMs (Optional step):
    1. If outbound traffic is restricted at the OpenStack security group level, ensure UDP port 123 (NTP) is allowed for egress communication.

      Example:

      
      Direction: Egress
      Protocol: UDP
      Port: 123
      Destination: <NTP server IP>/32(recommended)
    2. From the VM, run the following command to configure the NTP:
      vi /etc/chrony.conf
    3. Comment the following lines at the beginning of the file, if present:
      
      #server cosprings1-swi-5-rtr-1.us.oracle.com iburst
      #server cosprings1-swi-6-rtr-1.us.oracle.com iburst
      #server brmdc04-102-ck-rtr-1-lo0.us.oracle.com iburst
      #server brmdc04-102-ck-rtr-2-lo0.us.oracle.com  iburst
    4. Run the following command to add the NTP server IP:
      server <NTP_SERVER_IP> iburst
    5. Run the following command to restart Chrony:
      systemctl restart chronyd
    6. Run the following command to Force Immediate Time Synchronization:
      chronyc makestep
    7. Run the following command to verify NTP Synchronization:
      chronyc sources -v
    8. Run the following command to set the system timezone:
      EX: timedatectl set-timezone Asia/Kolkata
    9. Run the following command to verify timezone and NTP Status:
      timedatectl
  20. Repeat steps 5 to 19 for Kafka and Service VMs.
  21. After all the three VMs are created, verify network connectivity by pinging the XMI IP and IMI IP addresses of each VM.

Application Setup

  1. MySQL Setup:
    1. Log in to the MySQL VM and navigate to the /opt directory.
    2. Copy the manual_mysql_setup.sh script to /opt and provide the required permissions.
    3. Run the setup script:
      ./manual_mysql_setup.sh
    4. When prompted, enter the IMI IP address for the MySQL bind address.
    5. Upon script completion, MySQL will be configured successfully.
  2. Kafka Setup
    1. Log in to the Kafka VM and navigate to the /opt folder.
    2. Ensure the Kafka installation script is present and configurable.
    3. Run the setup script:
      ./manual_kafka_setup.sh
    4. During configuration, provide the Kafka IMI IP and XSI IP when prompted.
    5. Kafka and Kraft services will start on the specified IPs.
    6. Use the Kafka XMI IP instead of the default Kafka IMI IP for communication with DSR (Optional).
      1. Uncomment the following property:
        advertised.listeners=INTERNAL_PLAINTEXT://192.168.1.237:9092,INTERNAL_SSL://192.168.1.237:9093,EXTERNAL://[kafka_xmi]:9094 line in broker.properties file(path: /opt/kafka/config) and replace[kafka_xmi] with Kafka XMI IP
      2. Comment the following property:
        advertised.listeners=INTERNAL_PLAINTEXT://192.168.1.237:9092,INTERNAL_SSL://192.168.1.237:9093, EXTERNAL://10.196.84.46:9094 line.
      3. Run the following command to restart Kraft and Kafka services:
        
        systemctl restart kraft-controller
        systemctl restart kafka
        

      After running the health checks, Kafka is successfully set up on VM.

  3. Service Setup
    1. Log in to the Service VM and navigate to the /opt directory.
    2. Edit the cnidih_VM.yaml file.
    3. Replace <REPLACE WITH SOAM VIP> with a valid active SOAM IP.
    4. Navigate to the Protrace section and set the NFCONFIG_CLIENT_ENABLED property to true.
    5. Uncomment the below command, only for IPv6 setup:
      networks:
        cnidih-network:
         external: true
      #    enable_ipv6: true
      # Uncomment above line if you are using IPv6 setup
      # please take care of indentation ( Both of the below properties should be at same level )
      # enable_ipv6: true
      # external: true
      
    6. Save and exit.
    7. Run the following command for the service setup script:
      ./manual_service_setup.sh
    8. The script will prompt for several inputs during execution:
      1. Enter Service IMI IP, Service XMI IP, Kafka IMI IP, and MySQL IMI IP.

        Note:

        For IPv6 setups, the above IPs must be entered in square brackets ( [] ).

        After these inputs are provided, the script will start the required services and proceed with the health check.

      2. Run the following command to verify if all the services are running:
        podman ps -a

        Access the UI at: https://<SERVICE XMI IP>/#/

      This completes the setup for MySQL, Kafka, and Services. The IDIH deployment is now ready for use.