IBM Support

How to fix or avoid a missing network equivalency using the procedure to change the network equivalency from static to dynamic in IBM Smart Analytics System

Question & Answer


Question

How to fix or avoid a missing network equivalency? Or How to change from a static to dynamic equivalency in the IBM Smart Analytics System (formerly known as bcu - Balanced Configuration Unit)?

Cause

An adapter previously defined, available, and operational is temporarily unavailable. The ifdown command is an example of a known command to introduce this problem.

A static definition indicates that all members defined will exist. If a defined member or adapter is down, it is expected that the missing or unavailable network adapter will be removed from the static definition. To fix this problem and avoid any further occurrences, change the definition to be dynamic. After the change is complete, the dynamic definition will refresh after a member has been down and later becomes available.

Problem identification
To determine if you have a static or dynamic definition, find the "SelectString" in the "lsequ -Ab" output.

In a dynamic definition, the select string will contain a string to search. For example:


    SelectString                        = "Name like "eth0""

In a static definition, the select string will contain no values. For example:

    SelectString                        = ""

Examples (AIX and Linux)
An AIX example of static definition for db2_FCM_network definition.

    Equivalency 37:
    Name = db2_FCM_network
    MemberClass = IBM.NetworkInterface
    Resource:Node[Membership] = {en11:bcuadm01,en11:bcudata01,en11:bcustandby01}
    SelectString = ""
    SelectFromPolicy = ANY
    MinimumNecessary = 1
    Subscription = {}
    Color = 0
    ActivePeerDomain = bcudomain
    Resource:Node[ValidSelectResources] = {en11:bcuadm01,en11:bcudata01,en11:bcustandby01}
    Resource:Node[InvalidResources] = {}
    ConfigValidity =
    AutomationDetails[CompoundState] = Automation

An Linux example of static definition for db2_FCM_network definition.

    Equivalency 28:
    Name = db2_FCM_network
    MemberClass = IBM.NetworkInterface
    Resource:Node[Membership] = {bond0:bcudata06,bond0:bcustdby01}
    SelectString = ""
    SelectFromPolicy = ANY
    MinimumNecessary = 1
    Subscription = {}
    ActivePeerDomain = bcudomain
    Resource:Node[ValidSelectResources] = {bond0:bcudata06,bond0:bcustdby01}
    Resource:Node[InvalidResources] = {}
    ConfigValidity =
    AutomationDetails[CompoundState] = Automation

Answer

To change the definitions to be dynamic, complete steps similar to the appropriate example to your environment.

All commands must be run as root on the administration node.

The definitions can be changed to dynamic while resources are online. You want to ensure that no resources or equivalencies are stuck or failed before making the changes. TSAMP must be in Automatic (not manual) mode.

1. Verify the resources and equivalencies are online. There should not be any stuck, sacrificed, or failed status reported. Issue the following command:


    lssam

    If there are stuck, sacrificed, or failed status, you need to clear these states before moving forward.

2. Lock the resource groups. Run the following script to lock the resources

    for x in $(lsrg | awk 'NF==1{print $1}'); do rgreq -o lock $x;done

3. Change the "SelectString" from static to dynamic, complete the AIX or Linux commands

For AIX, adjust the following commands to your environment and run on your system

    a. For the corporate network:
      chequ -u r -D "Name == 'en12' && (NodeNameList={'bcuadm01'} || NodeNameList={'bcustandby01'})" db2_public_network IBM.NetworkInterface

    b. For the FCM network:
      chequ -u r -D "Name =='en11'" db2_FCM_network IBM.NetworkInterface

For Linux, adjust the following commands to your environment and run on your system

    a. For the corporate network:
      chequ -u r -D "Name == 'eth1' && (NodeNameList={'bcuadmn01'} || NodeNameList={'bcustdby01'})" db2_CORP_network IBM.NetworkInterface

    b. For the FCM network:
      chequ -u r -D "Name =='bond0'" db2_FCM_network IBM.NetworkInterface

    c. For the nfs equivalency:
      chequ -u r -D "Name =='bond0' & (NodeNameList={'bcuadmn01'} || NodeNameList={'bcustdby01'})" SA-nfsserver-nieq-1 IBM.NetworkInterface
After completing the appropriate chequ commands, the definition is dynamic. You can verify the select string contains a string to search and is dynamic. For example:

    SelectString                        = "Name like "eth0""

4. Reset the master
5. Unlock the resource groups. Run the following script to unlock the resources
      for x in $(lsrg | awk 'NF==1{print $1}'); do rgreq -o unlock $x;done

[{"Product":{"code":"SSKT3D","label":"IBM Smart Analytics System"},"Business Unit":{"code":"BU050","label":"BU NOT IDENTIFIED"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"}],"Version":"9.5;9.7","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
16 June 2018

UID

swg21631778