Add two sections. The section that describes the new flag for enabling features in 5.17.11, and the section that describes the removal of disconnected appliers
Rename IMM schema from OpensafImm_Upgrade_5.17.10.xml to OpensafImm_Upgrade_5.17.11.xml --- samples/immsv/OpensafImm_Upgrade_5.17.10.xml | 120 --------------------------- samples/immsv/OpensafImm_Upgrade_5.17.11.xml | 120 +++++++++++++++++++++++++++ src/imm/README | 78 +++++++++++++++++ 3 files changed, 198 insertions(+), 120 deletions(-) delete mode 100644 samples/immsv/OpensafImm_Upgrade_5.17.10.xml create mode 100644 samples/immsv/OpensafImm_Upgrade_5.17.11.xml diff --git a/samples/immsv/OpensafImm_Upgrade_5.17.10.xml b/samples/immsv/OpensafImm_Upgrade_5.17.10.xml deleted file mode 100644 index fb70880..0000000 --- a/samples/immsv/OpensafImm_Upgrade_5.17.10.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0"?> -<imm:IMM-contents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.02.13.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:imm="http://www.saforum.org/IMMSchema"> - <class name="OpensafImm"> - <category>SA_CONFIG</category> - <rdn> - <name>opensafImm</name> - <type>SA_NAME_T</type> - <category>SA_CONFIG</category> - <flag>SA_INITIALIZED</flag> - </rdn> - <attr> - <name>maxClasses</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>1000</default-value> - </attr> - <attr> - <name>maxImplementers</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>3000</default-value> - </attr> - <attr> - <name>maxAdminowners</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>2000</default-value> - </attr> - <attr> - <name>maxCcbs</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>10000</default-value> - </attr> - <attr> - <name>scAbsenceAllowed</name> - <type>SA_UINT32_T</type> - <category>SA_RUNTIME</category> - <flag>SA_PERSISTENT</flag> - <flag>SA_CACHED</flag> - <default-value>0</default-value> - </attr> - <attr> - <name>accessControlMode</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>0</default-value> - </attr> - <attr> - <name>authorizedGroup</name> - <type>SA_STRING_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - </attr> - <attr> - <name>longDnsAllowed</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>0</default-value> - </attr> - <attr> - <name>opensafImmSyncBatchSize</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>65223</default-value> - </attr> - <attr> - <name>opensafImmNostdFlags</name> - <type>SA_UINT32_T</type> - <category>SA_RUNTIME</category> - <flag>SA_CACHED</flag> - <default-value>0</default-value> - </attr> - <attr> - <name>opensafImmEpoch</name> - <type>SA_UINT32_T</type> - <category>SA_RUNTIME</category> - <flag>SA_PERSISTENT</flag> - <flag>SA_CACHED</flag> - </attr> - <attr> - <name>opensafImmClassNames</name> - <type>SA_STRING_T</type> - <category>SA_RUNTIME</category> - <flag>SA_MULTI_VALUE</flag> - <flag>SA_PERSISTENT</flag> - <flag>SA_CACHED</flag> - </attr> - <attr> - <name>minApplierTimeout</name> - <type>SA_UINT32_T</type> - <category>SA_CONFIG</category> - <flag>SA_WRITABLE</flag> - <default-value>0</default-value> - </attr> - <attr> - <name>SaImmAttrImplementerName</name> - <type>SA_STRING_T</type> - <category>SA_CONFIG</category> - </attr> - <attr> - <name>SaImmAttrClassName</name> - <type>SA_STRING_T</type> - <category>SA_CONFIG</category> - <default-value>OpensafImm</default-value> - </attr> - <attr> - <name>SaImmAttrAdminOwnerName</name> - <type>SA_STRING_T</type> - <category>SA_CONFIG</category> - </attr> - </class> -</imm:IMM-contents> diff --git a/samples/immsv/OpensafImm_Upgrade_5.17.11.xml b/samples/immsv/OpensafImm_Upgrade_5.17.11.xml new file mode 100644 index 0000000..fb70880 --- /dev/null +++ b/samples/immsv/OpensafImm_Upgrade_5.17.11.xml @@ -0,0 +1,120 @@ +<?xml version="1.0"?> +<imm:IMM-contents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.02.13.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:imm="http://www.saforum.org/IMMSchema"> + <class name="OpensafImm"> + <category>SA_CONFIG</category> + <rdn> + <name>opensafImm</name> + <type>SA_NAME_T</type> + <category>SA_CONFIG</category> + <flag>SA_INITIALIZED</flag> + </rdn> + <attr> + <name>maxClasses</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>1000</default-value> + </attr> + <attr> + <name>maxImplementers</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>3000</default-value> + </attr> + <attr> + <name>maxAdminowners</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>2000</default-value> + </attr> + <attr> + <name>maxCcbs</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>10000</default-value> + </attr> + <attr> + <name>scAbsenceAllowed</name> + <type>SA_UINT32_T</type> + <category>SA_RUNTIME</category> + <flag>SA_PERSISTENT</flag> + <flag>SA_CACHED</flag> + <default-value>0</default-value> + </attr> + <attr> + <name>accessControlMode</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>0</default-value> + </attr> + <attr> + <name>authorizedGroup</name> + <type>SA_STRING_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + </attr> + <attr> + <name>longDnsAllowed</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>0</default-value> + </attr> + <attr> + <name>opensafImmSyncBatchSize</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>65223</default-value> + </attr> + <attr> + <name>opensafImmNostdFlags</name> + <type>SA_UINT32_T</type> + <category>SA_RUNTIME</category> + <flag>SA_CACHED</flag> + <default-value>0</default-value> + </attr> + <attr> + <name>opensafImmEpoch</name> + <type>SA_UINT32_T</type> + <category>SA_RUNTIME</category> + <flag>SA_PERSISTENT</flag> + <flag>SA_CACHED</flag> + </attr> + <attr> + <name>opensafImmClassNames</name> + <type>SA_STRING_T</type> + <category>SA_RUNTIME</category> + <flag>SA_MULTI_VALUE</flag> + <flag>SA_PERSISTENT</flag> + <flag>SA_CACHED</flag> + </attr> + <attr> + <name>minApplierTimeout</name> + <type>SA_UINT32_T</type> + <category>SA_CONFIG</category> + <flag>SA_WRITABLE</flag> + <default-value>0</default-value> + </attr> + <attr> + <name>SaImmAttrImplementerName</name> + <type>SA_STRING_T</type> + <category>SA_CONFIG</category> + </attr> + <attr> + <name>SaImmAttrClassName</name> + <type>SA_STRING_T</type> + <category>SA_CONFIG</category> + <default-value>OpensafImm</default-value> + </attr> + <attr> + <name>SaImmAttrAdminOwnerName</name> + <type>SA_STRING_T</type> + <category>SA_CONFIG</category> + </attr> + </class> +</imm:IMM-contents> diff --git a/src/imm/README b/src/imm/README index 184ae63..4454b8a 100644 --- a/src/imm/README +++ b/src/imm/README @@ -720,6 +720,10 @@ An application/service must design for a static set of OIs implying a static set of OI names, including a static set of applier OIs and a static set of applier names. +In OpenSAF 5.17.11, a new feature for removing disconnected applies is added +to IMM. The feature can be enabled to remove disconnected appliers from the +cluster after applier timeout expires. + Another difference between regular regular implementers and appliers, is that regular implementer names and their binding to a set of objects will survive a cluster restart, whereas applier names and their binding @@ -2955,6 +2959,80 @@ In case of CLM node lock, and HEADLESS is triggered after CLM node lock, then CL node is nullified. The node is considered as HEADLESS and all other agent functions supported in HEADLESS are supported. +Notes on upgrading to OpenSAF 5.17.11 +===================================== +OpenSAF 5.17.11 adds new attribute flag allowing the removal of disconnected +appliers (#2579). During a rolling upgrade from an earlier OpenSAF release +to the 5.17.11 release there will be nodes executing the older release concurrently +with nodes executing OpenSAF 5.17.11. Nodes executing the earlier release will not +recognize the new attribute flag originating from nodes executing 5.17.11. + +Because of this upgrade issue, the new attribute flag added in OpenSAF 5.17.11 is +not allowed unless a flag is toggled on in the opensafImmNostdFlags runtime +attribute in the object: + + opensafImm=opensafImm,safApp=safImmService. + +The following is the shell command: + + immadm -o 1 -p opensafImmNostdFlags:SA_UINT32_T:1024 \ + opensafImm=opensafImm,safApp=safImmService + +This will set bit 10 of the 'opensafImmNostdFlags' runtime attribute inside the immsv. +Operation-id '1' invoked on the object: + + 'opensafImm=opensafImm,safApp=safImmService' + +has the meaning of 'flags-ON'. Operation-id '2' has the meaning of 'flags-OFF'. +This flag (and possibly other relevant flags) needs to be toggled ON when the upgrade +to OpenSAF 5.17.11 has been successfully completed. This would be in some final step of +the upgrade. Any cluster start/restart of an OpenSAF 5.17.11 system will always +automatically toggle on relevant flags. + +An imm xml file containing the extended class definition for OpensafImm has +been added at samples/immsv/OpensafImm_Upgrade_5.17.11.xml. + +In summary: + +Bit 1 controls schema (imm class) changes allowed or not (normally off/0). +Bit 2 controls OpenSAF4.1 protocols allowed or not (normally on/1). +Bit 3 controls OpenSAF4.3 protocols allowed or not (normally on/1). +Bit 4 controls 2PBE oneSafe2PBE, see 2PBE feature in OpenSAF4.4 above (normally off/0). +Bit 5 controls OpenSAF4.5 protocols allowed or not (normally on/1). +Bit 6 controls OpenSAF4.6 protocols allowed or not (normally on/1). +Bit 7 controls OpenSAF4.7 protocols allowed or not (normally on/1). +Bit 8 controls OpenSAF5.0 protocols allowed or not (normally on/1). +Bit 9 controls OpenSAF5.1 protocols allowed or not (normally on/1). +Bit 10 controls OpenSAF5.17.11 protocols allowed or not (normally on/1). + +Removal of disconnected applier (5.17.11) +================================================= +Once an implementer is created, it resides in the system to the cluster +restart. There is no way to remove implementers from the system. Applier is +a special type of implementers and the same feature applies to appliers. + +Applier names usually contain the node name where they are created to avoid +the collision with the same appliers on other nodes. In systems where new +nodes come with new names every time they join the cluster, this can be +a problem and the limit of 3000 implementer and appliers can be reached. + +The new feature is introduced in 5.17.11 which will handle the time for +keeping disconnected appliers in the system. When the time expires, +disconnected appliers will be removed from the system. + +The applier timeout is configurable, and it is set in the new attribute +minApplierTimeout in IMM object. If minApplierTimeout attribute is set to 0, +the removal of disconnected appliers is disabled. The unit in counting +the timeout is in seconds. + +With enabling the removal of disconnected appliers, there might be a risk that +some applications in the cluster rely on reattaching appliers. This will not +work if the application try to reattach aplliers after the applier timeout +expires. + +To be possible to use this new feature, bit 10 must be set in +opensafImmNostdFlags attribute in IMM object. + ---------------------------------------- DEPENDENCIES ============ -- 1.9.1 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
