Exalogic Virtual Tea Break Snippets – EATT Create Assembly OTD/WLS Cookbook

In the blog entry “Exalogic Virtual Tea Break Snippets – Create Assets Evolution” I described how the our asset / asssembley creation scripts had evolved to Python as a processing language and JSON as a file format. As part of that blog I briefly described the assembly configuration section and how it defines scripts that can be executed on the previously created vServers. Within this blog I intend to provide a Cookbook for using the new functionality to install and configure a simple OTD / WLS installation consisting of 3 OTD vServers and 3 WLS vServers linked over the Infiniband network. All scripts associated with the process can be found in Exalogic A-Team Tools folder (/exalogic-att) on the downloadable PythonUtilityTemplate and with some simple tweaks you should be able to build your own test environment.

Overview

Within this blog we will be using the /exalogic-att/examples/json/ExalogicAssembly.json file as a definition of our Assembly. Viewing the JSON you will see that we create the following:

  • Assets:
    • Networks:
      • vNetOTD – IPoIB Network for the OTD vServers
      • vNetWLS – IPoIB Network for the WLS Servers and communication from the OTD Servers
    • Templates
      • OTDTestTemplate – Simple template for the OTD Servers
      • WLSTestTemplate – Simple template for the WLS Servers
    • Distribution Groups:
      • dgOTD – Distribution Group for the OTD Servers
      • dgWLS – Distribution Group for the WLS Servers
  • Assemblies:
    • vServers
      • OTD
        • otdAdminServer
        • otdNode1
        • otdNode2
      • WLS
        • wlsAdminServer
        • wlsManagedServer1
        • wlsManagedServer2

I will not discuss the creation of these Assets and vServers because this functionality is covered in “Exalogic Virtual Tea Break Snippets – Create Assets Evolution” rather I will focus on the configuration of the vServers as defined within the “assemblies”->”configuration” section of the JSON file.

On completion of the Create Assembly process we will have created and configured the following:

vServers

Assumptions

The JSON file makes the following assumptions:

  1. The ZFS has the following Projects / Shares
    • otd
      • installer
      • instances
      • product
    • wls
      • installer
      • instances
      • product
  2. The installers for the OTD and WLS existing in the appropriate directory.
  3. ZFS has been configured with the appropriate NFS Exceptions.

What’s in /exalogic-att

[root@EATTUtilityServer /]# tree exalogic-att/
exalogic-att/
|-- automation
|   |-- ScriptTemplate.sh
|   |-- bin
|   |   |-- CommonAddIpToHosts.sh
|   |   |-- OTDCreateAdminNode.sh
|   |   |-- OTDCreateAdminServer.sh
|   |   |-- OTDCreateConfiguration.sh
|   |   |-- OTDCreateFailoverGroup.sh
|   |   |-- OTDInstall.sh
|   |   |-- OTDMountShares.sh
|   |   |-- OTDStartFailoverGroup.sh
|   |   |-- WLSConfigureDomainAutoStart.sh
|   |   |-- WLSCreateDomain.sh
|   |   |-- WLSInstall.sh
|   |   |-- WLSMountShares.sh
|   |   |-- el-auto.tgz
|   |   `-- silent.xml
|   `-- lib
|       `-- README
|-- bin
|   |-- CaptureVServer.sh
|   |-- CompareAssemblies.sh
|   |-- ConvertRunningVServerToTemplate.sh
|   |-- ConvertVServerToTemplate.sh
|   |-- CreateAssembly.sh
|   |-- CreateDistributionGroup.sh
|   |-- CreateNetwork.sh
|   |-- CreateVServer.sh
|   |-- CreateVolume.sh
|   |-- ListAccounts.sh
|   |-- ListDistributionGroups.sh
|   |-- ListNetworks.sh
|   |-- ListTemplates.sh
|   |-- ListVServers.sh
|   |-- ListVolumes.sh
|   |-- ModifyLVMImg.sh
|   |-- MountSystemImg.sh
|   |-- SimpleExaCli.sh
|   |-- SimplePythonExaCli.sh
|   `-- UploadTemplate.sh
|-- build
|   `-- BuildPython3.sh
|-- examples
|   `-- json
|       |-- ExalogicAssembly.json
|       |-- ExalogicAssemblyResizeEchoBaseTemplate.json
|       `-- ExampleAssemblyTemplate.json
|-- lib
|   |-- CaptureVServer.py
|   |-- CompareAssemblies.py
|   |-- ConvertRunningVServerToTemplate.py
|   |-- ConvertVServerToTemplate.py
|   |-- CreateAssembly.py
|   |-- CreateDistributionGroup.py
|   |-- CreateNetwork.py
|   |-- CreateVServer.py
|   |-- CreateVolume.py
|   |-- ListAccounts.py
|   |-- ListDistributionGroups.py
|   |-- ListNetworks.py
|   |-- ListTemplates.py
|   |-- ListVServers.py
|   |-- ListVolumes.py
|   |-- SECCommon.py
|   |-- UnconfigureSystemImg.sh
|   `-- UploadTemplate.py

Download

All tools referenced can be downloaded from the MOS Note: Exalogic Kinetic Infrastructure Tools (EKIT): Set of scripts that provide common reusable command line infrastructure actions for Exalogic virtual platforms (Doc ID 1933252.1).

JSON Configurations

We can see for the code snippet below that the JSON configurations consists of an array of vServer objects that define an array of scripts to be executed on the specified vServer sequentially as specified in the JSON. It should be noted that a vServer object can appear in the configurations array multiple times allowing for intervening processing to be executed on other vServers.

"configurations": [
  {
    "vserver": "wlsAdminServer",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },

For each script specified within the script array we define:

  • name
  • local
  • parameters – Optional
  • files – Optional

If the local attribute is set to true we assume the name will specify the fully qualified location of the script which will be copied to the vServer before execution. If local is set to false it is assumed that the scripts exist on the vServer or a share mounted on the vServer and the name specifies a fully qualified location accessible from the vServer. A template for these scripts can be found in “/exalogic-att/automation/ScriptTemplate.sh”

If the script requires parameter to be passed these are provided in the parameters array. On the command line call to execute the script the CreateAssembly.py will prefix the name of each parameter with a double minus, i.e. –, and hence the command call generated from the above JSON would be:

CommonAddIpToHosts.sh --ip <ip address> --hostname wlsManagedServer1

As can be seen from the above example the parameters can be one of two types:

  • static
  • reference
    • network
      • ip

If “static” is specified then the value in “value” is passed on the command-line as the parameter value. If reference is specified then the script will lookup the value based on the additional information supplied. At present this is restricted to dynamically returning a specified vServers IP on a given network which is appropriate for looking up auto allocated IPs on private vNets.

WLS Installation / Configuration

To install and configure WLS in our environment we will need to execute the following steps:

  1. WLS Admin Server
    1. Add IP Address of WLS vServer to the host files. – (CommonAddIpToHosts.sh)
    2. Mount the ZFS shared location. – (WLSMountShares.sh)
    3. Install WLS – (WLSInstall.sh)
    4. Create Domain – (WLSCreateDomain.sh)
    5. Configure Auto Start – (WLSConfigureDomainAutoStart.sh)
  2. Each Managed Server
    1. Add IP Address of WLS vServer to the host files.
    2. Mount the ZFS shared location.
    3. Configure Auto Start

Admin Server

I have intentionally kept the automation scripts simple and so will call some multiple times. The JSON snippet below shows how we define the installation of the WLS Admin server.

"configurations": [
  {
    "vserver": "wlsAdminServer",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsAdminServer",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSMountShares.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "product-share",
            "type": "static",
            "value": "/export/wls/product"
          },
          {
            "name": "instances-share",
            "type": "static",
            "value": "/export/wls/instances"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSInstall.sh",
        "local": "true",
        "files": [
          {
            "name": "/exalogic-att/automation/bin/silent.xml"
          }
        ],
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "install-share",
            "type": "static",
            "value": "/export/wls/installer"
          },
          {
            "name": "silent-install",
            "type": "static",
            "value": "/tmp/silent.xml"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSCreateDomain.sh",
        "local": "true",
        "files": [
          {
            "name": "/exalogic-att/automation/bin/el-auto.tgz"
          }
        ],
        "parameters": [
          {
            "name": "el-auto-tgz",
            "type": "static",
            "value": "/tmp/el-auto.tgz"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSConfigureDomainAutoStart.sh",
        "local": "true",
        "parameters": [
          {
            "name": "node-manager",
            "type": "static",
            "value": "wlsAdminServer_ndmgr"
          }
        ]
      }
    ]
  },

It can be seen that we initially call the “CommonAddIpToHosts.sh” script to add the IP addresses of the vServers that will run the Managed Servers to the hosts file. Then we will mount ZFS shares that will be required for the WLS installation using the “WLSMountShares.sh”. At this point we are ready to execute the “WLSInstall.sh” to install WLS and we will pass the silent install configuration file “silent.xml” to be used by the install script. Having completed the install we can create/configure the domains using “WLSCreateDomain.sh” and finally set it to auto start using “WLSConfigureDomainAutoStart.sh”. At this point we have installed WLS, created an Admin server and 2 Managed servers (WLSCreateDomain.sh will do this) with all product / domain information stored on the ZFS shares.

Managed Servers

Because the previous Admin Server install configured the WLS Domain on the ZFS shares the configuration of the Managed servers is quite simple as defined by the following JSON:

  {
    "vserver": "wlsManagedServer1",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsAdminServer",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSMountShares.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "product-share",
            "type": "static",
            "value": "/export/wls/product"
          },
          {
            "name": "instances-share",
            "type": "static",
            "value": "/export/wls/instances"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/WLSConfigureDomainAutoStart.sh",
        "local": "true",
        "parameters": [
          {
            "name": "node-manager",
            "type": "static",
            "value": "wlsManagedServer1_ndmgr"
          }
        ]
      }
    ]
  },

Again we can see we add the IPs to the hosts file but then we simply need to mount the ZFS shares before configuring the Auto start.

OTD Installation / Configuration

For the installation and configuration of the OTD System we will need to execute the following step:

  1. OTD Admin Server
    1. Add OTD and WLS vServer IP Addresses to the Host File. – (CommonAddIpToHosts.sh)
    2. Mount the OTD ZFS Shares. – (OTDMountShares.sh)
    3. Install OTD. – (OTDInstall.sh)
    4. Create an Admin Server. – (OTDCreateAdminServer.sh)
  2. For both OTD Admin Nodes
    1. Add OTD and WLS vServer IP Addresses to the Host File. – (CommonAddIpToHosts.sh)
    2. Mount the OTD ZFS Shares. – (OTDMountShares.sh)
    3. Create Admin Node. – (OTDCreateAdminNode.sh)
  3. OTD Admin Server
    1. Create Configuration. – (OTDCreateConfiguration.sh)
    2. Create Failover Group. – (OTDCreateFailoverGroup.sh)
  4. For both OTD Admin Nodes
    1. Start Failover Group. – (OTDStartFailoverGroup.sh)

We can see from this sequence that the vServers are visited multiple times with intermittent access to the other vServers. The following JSON snippet defines the above sequence and will cause the installation and configuration of the OTD environment.

  {
    "vserver": "otdAdminServer",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsAdminServer",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode1",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode2",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdAdminServer",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDMountShares.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "product-share",
            "type": "static",
            "value": "/export/otd/product"
          },
          {
            "name": "instances-share",
            "type": "static",
            "value": "/export/otd/instances"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDInstall.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "install-share",
            "type": "static",
            "value": "/export/otd/installer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDCreateAdminServer.sh",
        "local": "true"
      }
    ]
  },
  {
    "vserver": "otdNode1",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsAdminServer",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode2",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode1",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdAdminServer",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDMountShares.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "product-share",
            "type": "static",
            "value": "/export/otd/product"
          },
          {
            "name": "instances-share",
            "type": "static",
            "value": "/export/otd/instances"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDCreateAdminNode.sh",
        "local": "true",
        "parameters": [
          {
            "name": "admin-host",
            "type": "static",
            "value": "otdAdminServer"
          },
          {
            "name": "node-name",
            "type": "static",
            "value": "otdNode1"
          }
        ]
      }
    ]
  },
  {
    "vserver": "otdNode2",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer1",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsManagedServer2",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsManagedServer2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "wlsAdminServer",
            "network": "vNetWLS",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "wlsAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode1",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode1"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdNode2",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdNode2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/CommonAddIpToHosts.sh",
        "local": "true",
        "parameters": [
          {
            "name": "ip",
            "type": "reference",
            "vserver": "otdAdminServer",
            "network": "vNetOTD",
            "attribute": "ip"
          },
          {
            "name": "hostname",
            "type": "static",
            "value": "otdAdminServer"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDMountShares.sh",
        "local": "true",
        "parameters": [
          {
            "name": "zfs-ip",
            "type": "static",
            "value": "172.17.0.5"
          },
          {
            "name": "product-share",
            "type": "static",
            "value": "/export/otd/product"
          },
          {
            "name": "instances-share",
            "type": "static",
            "value": "/export/otd/instances"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDCreateAdminNode.sh",
        "local": "true",
        "parameters": [
          {
            "name": "admin-host",
            "type": "static",
            "value": "otdAdminServer"
          },
          {
            "name": "node-name",
            "type": "static",
            "value": "otdNode2"
          }
        ]
      }
    ]
  },
  {
    "vserver": "otdAdminServer",
    "comment": "Second set of configurations for the otdAdminServer following the creation of the OTS Admin Nodes",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/OTDCreateConfiguration.sh",
        "local": "true",
        "parameters": [
          {
            "name": "admin-host",
            "type": "static",
            "value": "otdAdminServer"
          },
          {
            "name": "server-name",
            "type": "static",
            "value": "otdAdminServer"
          },
          {
            "name": "config-name",
            "type": "static",
            "value": "A-Team_Config"
          },
          {
            "name": "listener-port",
            "type": "static",
            "value": "8080"
          },
          {
            "name": "origin-server",
            "type": "static",
            "value": "wlsManagedServer1:8080,wlsManagedServer2:8080"
          },
          {
            "name": "admin-nodes",
            "type": "static",
            "value": "otdNode1,otdNode2"
          }
        ]
      },
      {
        "name": "/exalogic-att/automation/bin/OTDCreateFailoverGroup.sh",
        "local": "true",
        "parameters": [
          {
            "name": "admin-host",
            "type": "static",
            "value": "otdAdminServer"
          },
          {
            "name": "virtual-ip",
            "type": "static",
            "value": "10.128.36.205"
          },
          {
            "name": "config-name",
            "type": "static",
            "value": "A-Team_Config"
          },
          {
            "name": "cidr",
            "type": "static",
            "value": "24"
          },
          {
            "name": "router-id",
            "type": "static",
            "value": "255"
          },
          {
            "name": "primary-node",
            "type": "static",
            "value": "otdNode1"
          },
          {
            "name": "backup-node",
            "type": "static",
            "value": "otdNode2"
          }
        ]
      }
    ]
  },
  {
    "vserver": "otdNode1",
    "comment": "Second set of configurations for the otdNode following the creation of the failover group",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/OTDStartFailoverGroup.sh",
        "local": "true",
        "parameters": [
          {
            "name": "config-name",
            "type": "static",
            "value": "A-Team_Config"
          }
        ]
      }
    ]
  },
  {
    "vserver": "otdNode2",
    "comment": "Second set of configurations for the otdNode following the creation of the failover group",
    "scripts": [
      {
        "name": "/exalogic-att/automation/bin/OTDStartFailoverGroup.sh",
        "local": "true",
        "parameters": [
          {
            "name": "config-name",
            "type": "static",
            "value": "A-Team_Config"
          }
        ]
      }
    ]
  }

Add Your Comment