Cluster Server 8.0 Bundled Agents Reference Guide - Windows
- Introducing VCS bundled agents
- Storage agents
- Network agents
- FileShare agents
- Services and applications agents
- VCS infrastructure and support agents
- VCS hardware replication agent for NetApp
- Troubleshooting bundled agents
GoogleIP agent
The GoogleIP agent manages the following networking resources in a Google Cloud Platform (GCP) environment:
Private IP - A private IP is a private numerical address that networked devices use to communicate with one another. It is used for communication between a GCP virtual private cloud (VPC) network and an on-premises network. A private IP is also referred to as Alias IP in GCP. To extend an on-premises network to a GCP VPC network, you use a VPN gateway.
Overlay IP - An overlay IP provides IP failover functionality for the InfoScale cluster nodes that are spread across subnets. It lets you redirect IP address traffic to another cluster node belonging to different subnet within the same VPC. An overlay IP must be defined outside the VPC Classless Inter-Domain Routing (CIDR) block.
The GoogleIP agent performs the following activities:
Fetches the NIC details, associates the private IP with the NIC, and disassociates the private IP from the NIC
Manages the route table entries of the overlay IP for failover across subnets
The GoogleIP agent uses GCP Python APIs to associate IP resources with a GCP VM instance.
Note:
An InfoScale deployment in GCP does not support IPv6 because VPC networks in GCP do not support IPv6 traffic within the network. For details, refer to the GCP documentation on VPC networks.
The Google service account associated with the VM instance have the following roles assigned, at a minimum:
compute.globalOperations.get
compute.instances.get
compute.instances.updateNetworkInterface
compute.networks.updatePolicy
compute.projects.get
compute.routes.create
compute.routes.delete
compute.routes.get
compute.routes.list
compute.zoneOperations.get
- iam.serviceAccountUser
Install Python SDK for GCP on each of the cluster nodes by running the following commands at the location C:\Program Files\Veritas\VRTSPython
, or the location where the VRTSPython
folder is installed on the node:
python -m pip install --upgrade pip
python -m pip install --upgrade google-api-python-client
A GoogleIP resource depends on the IP and the NIC resources.
Online |
|
Offline and Clean |
|
Monitor |
|
ONLINE |
|
OFFLINE |
|
UNKNOWN | This state indicates that one of the following situations may have occurred:
|
FAULTED | Indicates that the IP resources cannot be brought online or were abruptly stopped outside of VCS control. |
When an IP address that is associated with an OverlayIP resource is already online elsewhere in the VPC network, the GoogleIP service group with that OverlayIP resource should not come online. However, the service group does come online, and then the IP resource faults in both the clusters.
Workaround: Do not configure the IP address that is associated with the OverlayIP resource for any other device within the same VPC network.
Table: Required attributes
Attribute | Description |
---|---|
PrivateIP | Secondary private IP address, also known as Alias IP, of the Google VM. You must specify a value for this attribute if no value is specified for OverlayIP. Type and dimension: string-scalar |
MACAddress | The physical address of the network interface to which the virtual IP address to be monitored is assigned. Note that this attribute is always local, that is, it is different for each system. Use the ipconfig -all command to retrieve the physical address of a NIC. Example: 00-60-08-08-BA-C4 Type and Dimension: string-scalar |
OverlayIP | Overlay IP provides IP failover functionality for the InfoScale cluster nodes that are spread across subnets. Overlay IP must be outside of the VPC CIDR block in which the nodes are present. You must specify a value for this attribute if no value is specified for PrivateIP. Type and dimension: string-scalar |
Table: Optional attributes
Attribute | Description |
---|---|
ProjectID | The customized name that you choose when you create a GCP project, or when you activate an API that requires you to create a project ID. Type and dimension: string-scalar |
VMName | Name of the GCP VM instance on which the agent is running. Type and dimension: string-scalar |
Zone | The GCP zone to which the VM instance belongs. Type and dimension: string-scalar |
type GoogleIP ( static keylist RegList = { MACAddress } static i18nstr ArgList[] = { PrivateIP, MACAddress, OverlayIP, ProjectID, Zone, VMName, tempProjectName, tempVMName, tempZoneName, tempRouteName, tempDeviceName } temp str tempProjectName temp str tempRouteName temp str tempZoneName temp str tempVMName temp str tempDeviceName str PrivateIP str MACAddress str OverlayIP str ProjectID str Zone str VMName )
Sample configuration with Private IP:
GoogleIP csg_GoogleIP ( PrivateIP = "10.208.8.21" MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) IP csg_ip ( Address = "10.208.8.21" SubNetMask = "255.255.252.0" MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) NIC csg_nic ( MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) csgip requires csgnic csg_GoogleIP requires csgip
Sample configuration with Overlay IP:
GoogleIP csg_GoogleIP ( OverlayIP = "192.168.9.3" MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) IP csg_ip ( Address = "192.168.9.3" SubNetMask = "255.255.252.0" MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) NIC csg_nic ( MACAddress @cloudvm1 = "42:01:0A:D0:08:06" MACAddress @cloudvm2 = "42:01:0A:D0:08:05" ) csgip requires csgnic csg_GoogleIP requires csgip
The GoogleIP agent uses the DBG_1 debug log level.
Veritas has tested and approved the GoogleIP agent with the following modules:
GCP Python module | Version |
---|---|
cachetools | 4.2.4 |
google-api-python-client | 2.31.0 |
google-auth | 2.3.3 |
google-auth-httplib2 | 0.1.0 |
httplib2 | 0.20.1 |
pyasn1 | 0.4.8 |
pyasn1-modules | 0.2.8 |
rsa | 4.7.2 |
six | 1.16.0 |
uritemplate | 4.1.1 |