Hi Zoran, Ack from me. Thanks!
Regards, Vu > -----Original Message----- > From: Zoran Milinkovic [mailto:[email protected]] > Sent: Monday, November 6, 2017 11:33 PM > To: [email protected] > Cc: [email protected]; Zoran Milinkovic > <[email protected]> > Subject: [PATCH 1/1] imm: update README with IMM changes in OpenSAF > 5.17.11 and rename IMM schema [#2665] > > 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
