Migrate CCO from Non-HA to HA Mode

Overview

Be sure to review Upgrade Overview before starting this procedure!

This section provides details on upgrading your CCO in HA mode.

Prerequisites

Be aware that the CCO servers will be offline during the upgrade process. Schedule some down time for your enterprise before starting this process.

Verify these requirements before you begin the upgrade process:

  • Review the information provided in the Upgrade Overview section and validate the following requirements for the release to which you are upgrading:

    • Is an upgrade path available?
    • Is the core_upgrade.bin file required?
  • See High Availability Best Practices for HA considerations.
  • Backup your database and applications before you begin this process. See HA Mode Backup and Recovery for additional context.
  • For each CCO instance that must be upgraded, verify the following prerequisites:

    • Ensure that a version file (/usr/local/osmosix/etc/version) exists in both CCOs to be upgraded.

    • Verify that the version file contains the correct version number (for example, if your current CloudCenter release version is 4.7.2, ensure that the corresponding version value is 4.7.2).

    • See the corresponding release notes for release-specific information on the CloudCenter version to which you are upgrading. For example, the CloudCenter 4.8.0 Release Notes.

  • The upgrade procedure in this section assumes the following setup:
    • The MongoDB data is retained on the CCO_PRIMARY server – this is the initiating server.
    • The MongoDB data is deleted on the CCO_SECONDARY and CCO_TERTIARY – be sure to backup and delete the CloudCenter database (called cliqr) on these two servers.
      • The assumed path for this upgrade procedure is /var/lib/mongo
      • The mongodump directory is created as a dump sub-directory in  the specified directory: /var/lib/mongo/dump

      • To locate the path for your setup, see your /etc/mongod.conf file
    • The configuration files on the CCO_TERTIARY server must reflect the corresponding values for your deployment.

Download package files:

See Virtual Appliance Overview to understand the required components.

See Phase 4 Overview  to understand the various types of software download files.

  1. SSH into the VM instance designated for this component by using the key pair that you used to launch the VM.

    Along with the key pair, you may need to use your login credentials for sudo or root access based on your environment.

  2. Download the following required files for this component from software.cisco.com:

    • cco-installer.jar 
    • cco-response.xml 
    • core_upgrade.bin

Upgrading CCO from HA to HA Mode

See CCO HA Upgrade for details.

Upgrading from Non-HA to HA Mode

If you are upgrading a non-HA CCO to a CCO HA scenario, follow this process.

  1.  Install another Standalone CCO VM

    Unable to render {include} The included page could not be found.

  2.  CCO PRIMARY – Configure HA Properties

    CCO_PRIMARY – Configure CCO Properties

    You can configure the information for all three CCO servers by providing the following details ONLY in the CCO_PRIMARY wizard.

    To ensure that all three CCOs communicate with each other, you must configure the following HA-specific information in the CCO_PRIMARY wizard.

    Wizard MenuFieldNotes

    Configure_HA
    CCO HA Info – Specify the following details in the primary CCO server.

    Primary Node IP

    Enter the IP address of the Primary CCO instance.

    Secondary Node IPEnter the IP address of the Secondary CCO instance.
    Tertiary Node IPEnter the IP address of the Tertiary CCO instance

    In addition to the HA_specific information mentioned above, you must also configure the generic information in the CCO_PRIMARY wizard.

    Configure CCO Wizard Properties

    This component is required for each cloud region (public cloud, private cloud, or datacenter).

      1. SSH into the CCO instance as a centos user.
      2. Run the following command:

        sudo -i
    • Invoke the CCO wizard.

      CCO Wizard Path
      /usr/local/cliqr/bin/cco_config_wizard.sh

       

      Configure the server properties.

      Write this down for future reference!

      Write down the Field details in a printed version of the Installation Approach > Your Notes section for later use.
      Wizard MenuFieldNotes

      Agent Bundle Parameters

      Linux Bundle URLThe Linux URL for the Management Agent bundle – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Windows Bundle URLThe Windows URL for the Management Agent bundle –  Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Bootstrap js URL

      Required for Dynamic Bootstrapping information – Use the default or replace cdn.cliqr.com with the local repository IP or DNS.

      This field refers to three package store URLs:

      • The CloudCenter installer package: http://${s3Bucket}/${imageBootstrapperPath}/bundle/cliqrInstaller.zip

      • The core installer package: http://${s3Bucket}/${imageBootstrapperPath}/bundle/corePkg.tar.gz

      • The JSON package: http://${s3Bucket}/${imageBootstrapperPath}/bundle/simplejson.tar.gz

      Bootstrap py URLRequired for Dynamic Bootstrapping information called by Linux files– Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Bootstrap Linux URLRequired for Dynamic Bootstrapping information for Linux files– Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Bootstrap win URLRequired for Dynamic Bootstrapping information for Windows files– Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Linux Upgrade URLThe Linux URL for the Management Agent upgrade scripts – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Windows Upgrade URLThe Windows URL for the Management Agent upgrade scripts  – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Node Metadata URLThe Metadata (.jar file) URL for the Management Agent VM – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.
      Custom Repo URLThe CloudCenter custom artifacts repository URL – Use the default or replace repo.cliqrtech.com with the custom package store IP or DNS.
      Service URL

      The URL that points to the out-of-box services – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.

      Action URLThis URL should point to a VM location where you can download scripts (the HTTP URL must be accessible from this VM) when you perform a Service Lifecycle Action or a VM Action.
      AgentLite Linux URLThe location where the Linux-based agent-lite-linux-bundle.tar.gz resides. This URL is required to Install AgentLite on a Linux VM (see VM Management > Install Agent Manually for additional context).
      AgentLite Windows URLThe location where the Windows-based agent-lite-windows-bundle.zip resides. This URL is required to Install AgentLite on a Windows VM (see VM Management > Install Agent Manually for additional context).
      External Service URLThe path/URL to the external service bundle – Use the default or replace cdn.cliqr.com with the custom bundle store IP or DNS.

      AMQP_Server

      AMQP Server IP

      AMQP_IP or AMQP_LB_IP

      AMQP Port5671
      NetworkHostnameConfigure the Network details for your CCO environment. This is an optional step to configure the Private IP of the VM. You can generally configure this information if the VM does not have preset IP or hostname or if you need to override an existing IP or Hostname.

      Guacamole

      Connection Broker Hos

      AMQP_IP or AMQP_LB_IP 

      Connection Broker Port7788
      Connection Broker Port27789

      Docker

      Docker Registry URL

      Set only if custom Docker registry is used.

      Docker CACert URL

      Set only if docker registry uses SSL with custom CA Certificates.

      See Certificate Authentication > Dedicated Components for additional context.

      ELK_Info

      ELK HostSpecify the IP address for the ELK/Monitor host.
      Elasticsearch PortDisplays 8881 by default.
      Logstash PortDisplays 4560 by default.
      Host Identifier The Unique ID for the server – be sure to prefix the unique identifier with CCO_ for example, CCO_Openstack_regionOne or CCO_Amazon_east.
      Host Identifier List This field only applies to environments using the HA mode – provide a list of comma separated unique host Identifiers for all ELK/Monitor hosts in a HA setup = for example, CCO1,CCO2,myCCO.

       

      In an environment operating in HA mode, if you have three CCO instances with unique IDs configured as CCO_1,CCO_2,CCO_3 in their respective server.properties file, then this property should state CCO_1,CCO_2,CCO_3 in each CCO instance. Each CCO must be aware of the unique ID of the other CCO(s) when in HA mode.

      External_Script_ExecutorDocker Server IPThe default IP is 127.0.0.1.
      Enter the IP address of a dedicated Docker server, if applicable.
      Docker Server PortDefaults to 2376
      Config_CertsCerts Zip PathProvide the path for the certs.zip file. The default path is /tmp/certs.zip.
    1. Verify your changes and Exit the CCO configuration wizard.

    2. Select Yes, to restart the Tomcat service for the changes to take effect.

    You have successfully configured the CCO instance! You can now proceed to the next step:

    • If you are configuring CCO HA – see CCO_LB to complete the HA configuration.
    • If you are installing a dedicated Docker component – see Dedicated Docker Registry Installation (Optional).
    • If you are not installing a dedicated Docker component – see Configure the Admin Account and proceed with configuring and setting up CloudCenter.

  3.  CCO SECONDARY and TERTIARY – Configure ELK Properties

    CCO_SECONDARY and CCO_TERTIARY – Configure ELK Properties

      1. SSH into the CCO instance as a centos user.
      2. Run the following command:

        sudo -i
    1. Invoke the CCO wizard.

      CCO Wizard Path
      /usr/local/cliqr/bin/cco_config_wizard.sh
    2. Configure the properties for the ELK Information:

      Wizard MenuFieldNotes

      ELK_Info

      ELK Host

      The IP address for the ELK/Monitor host. 

      Elasticsearch PortDisplays 8881 by default.
      Logstash PortDisplays 4560 by default.
      Host IdentifierA Unique ID for the server – be sure to prefix the unique identifier with CCO_ for example, CCO_Openstack_regionOne or CCO_Amazon_east.
      Host Identifier List

      Only applies to environments using the HA mode – provide a list of comma separated unique host Identifiers for all ELK/Monitor hosts in a HA setup = for example, CCO1,CCO2,myCCO.

      In an environment operating in HA mode, if you have three CCO instances with unique IDs configured as CCO_1,CCO_2,CCO_3 in their respective server.properties file, then this property should state CCO_1,CCO_2,CCO_3 in each CCO instances. Each CCO must be aware of the unique ID of the other CCO(s) when in HA mode.

    3. Verify your changes and Exit the CCO configuration wizard.

    You have successfully configured the CCO! You can now proceed to the next step.

  4.  Update the CCO_LB Configuration

    CCO_LB

    Load balancing can be done through HAProxy, NGiNX, Apache2, or a cloud that is natively available to services, like AWS Elastic Load Balancer (ELB). To configure the load balancer service and ensure CCO load balancing, be sure to listen on port 8443 and balance the request at 8443 on both the CCO_PRIMARY and CCO_SECONDARY servers.

    See CCO Firewall Rules > CCO_LB Ports for the complete list of ports that need to be open for your deployment.

    If you configure a load balancer for any CloudCenter component, be aware that the firewalId is enabled by default and you must explicitly disable it to ensure that the CloudCenter component(s) can communicate with the load balancer. See Firewall Rules Overview for additional context.

    The following load balancing configuration was performed on CentOS7.x VM with HAProxy for the CCO VM.

    1. SSH into the VM instance using the key pair that you used to launch the CCO VM.
    2. Install HAProxy as the root user.

      yum install -y haproxy
      
    3. Modify HAProxy config file as follows.

      vi /etc/haproxy/haproxy.cfg        
                                               
      # listen on 8443 with SSL certs and loadbalance
      frontend httpsalt-in
          mode tcp
          log global
          bind *:8443
          default_backend ccos
      
      backend ccos
          mode tcp
          balance roundrobin
          option ssl-hello-chk
          server  cco1 <CCO_PRIMARY_IP>:8443
          server  cco2 <CCO_SECONDARY_IP>:8443 
          server  cco3 <CCO_TERTIARY_IP>:8443 
    4. Start the HAProxy service and check the status to ensure that it is active

       

      systemctl start haproxy
      systemctl status haproxy 
      

  5. Upgrade the AMQP instances – See AMQP Upgrade  for additional context.
  • No labels