Appendix B: Creating a Cloud Management Node

A cloud management node (cloud MN) is a cloud analog of the classic OSS management node and is necessary for:

  • Running scripts in the command line that use the APS REST API, OSS XML-RPC API, and BSS XML-RPC API for various purposes.

    Important: Please note that upcoming End of Life has been announced for the XML RPC in CloudBlue Commerce. More details can be found here.

  • Upgrading from CloudBlue Commerce 20.5 to CloudBlue Commerce 21.0 with database migration.

A cloud MN must have the poaupdater utility installed and access to the necessary infrastructure and components, such as the OSS database and the BSS database.

To create a cloud MN, complete these steps:

  1. In the necessary environment, such as Azure or an on-premises environment, prepare a virtual or physical server that meets the following requirements:

    • That server has 1 CPU (2.4 GHz or higher), 2 GB RAM, and 50 GB disk space.

      Note: These are the minimum resource requirements. Depending on tasks that you are going to perform on your cloud MN, you may need to allocate more resources.

    • CentOS 7.4 (x64) or RHEL 7.4 (x64) is installed.

    • The database servers where system databases are located are accessible from that server (TCP port 5432).

    • The Kubernetes cluster where CloudBlue Commerce components are installed is accessible from that server (TCP ports 443, 6308, 8440, and 5224).

    • The endpoints of your applications are accessible from that server (TCP port 443 and any other ports used by those endpoints).

  2. Create the /etc/yum.repos.d/pa-central.repo file with the following contents:

    [pa-central-repo]
    name=PA Central YUM repo for RHEL $releasever
    baseurl=https://download.automation.odin.com/cb/20.5/repo/RHEL/$releasever/
    gpgcheck=0
  3. Create the /etc/yum.repos.d/epel.repo file with the following contents:

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
  4. Install poaupdater:

    yum install https://download.platform.cloudblue.com/cb/support/poaupdater-21.3.0-10/poaupdater-21.3.0-10.noarch.rpm
  5. Install additional packages:

    yum install python-configparser postgresql11-contrib postgresql11-libs postgresql11-server postgresql11 --nogpgcheck
  6. Depending on the type of your Kubernetes cluster, install and configure the necessary tools:

    • An Azure Kubernetes Service (AKS) cluster:

      1. Install the Azure CLI by following these instructions.

      2. Get access credentials for your cluster by following these instructions.

      3. Install kubectl by following these instructions.

    • A cluster in an on-premises environment:

      1. Create the /etc/yum.repos.d/kubernetes.repo file with the following contents:

        [kubernetes]
        name=Kubernetes
        baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        
      2. Install kubectl with yum.
      3. Copy the contents of your cluster's admin kubeconfig file to ~/.kube/config.

  7. Install Helm 3.5.4 or later.

    Note: In the CloudBlue Commerce documentation, command options are provided for Helm 3. Helm 2 can also be used, but there may be differences in command options. If you already have Helm 2 installed, you can either migrate from it to Helm 3 or take into account differences in command options. For example, if a Helm 3 command cannot be performed due to such differences, you can find suitable Helm 2 command options.

  8. Generate configuration files for running scripts that use the APS REST API, OSS XML-RPC API, and BSS XML-RPC API:

    1. Download and unpack the cnc-migration-latest.tgz archive.

    2. Go to the CNC-MIGRATION directory.

    3. Run the generate_configs.py script that is shipped in this archive:

      python generate_configs.py --namespace NAMESPACE_OF_YOUR_CBC_INSTALLATION

    As a result, this script will create the following configuration files:

    • /usr/local/pem/etc/Kernel.conf

    • /usr/local/pem/etc/pleskd.props

    • /usr/local/pem/etc/odbc.ini

    These configuration files contain the database and API credentials necessary for poaupdater.

    Also, the script will create the /usr/local/pem/APS/certificates/poa.pem certificate file. You or your scripts can use it to access the APS controller.