samples/amf/non_sa_aware/net-snmp-longDN.xml | 339 +++++++++++++++ samples/amf/proxy/Makefile.am | 1 + samples/amf/proxy/proxy-longDN.xml | 265 ++++++++++++ samples/amf/proxy/proxy.c | 83 ++- samples/amf/proxy/proxy_script | 3 +- samples/amf/sa_aware/AppConfig-2N-longDN.xml | 315 ++++++++++++++ samples/amf/sa_aware/AppConfig-nwayactive-longDN.xml | 408 +++++++++++++++++++ samples/amf/sa_aware/Makefile.am | 1 + samples/amf/sa_aware/amf_demo.c | 53 ++- samples/amf/sa_aware/amf_demo_script | 4 +- samples/amf/wrapper/Makefile.am | 1 + samples/amf/wrapper/net-snmp-longDN.xml | 331 +++++++++++++++ samples/amf/wrapper/wrapper.c | 7 +- samples/amf/wrapper/wrapper.sh | 5 +- 14 files changed, 1779 insertions(+), 37 deletions(-)
diff --git a/samples/amf/non_sa_aware/net-snmp-longDN.xml b/samples/amf/non_sa_aware/net-snmp-longDN.xml new file mode 100755 --- /dev/null +++ b/samples/amf/non_sa_aware/net-snmp-longDN.xml @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * -*- OpenSAF -*- + * + * (C) Copyright 2011 The OpenSAF Foundation + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed + * under the GNU Lesser General Public License Version 2.1, February 1999. + * The complete license can be accessed from the following location: + * http://opensource.org/licenses/lgpl-license.php + * See the Copying file included with the OpenSAF distribution for full + * licensing terms. + * + * Author(s): Ericsson + * + +This file contains an example of an AMF integration of a local, non-SA-aware, +non-proxied component. In this case snmpd from the net-snmp project: + +http://www.net-snmp.org/ + +net-snmp is modelled as an application with a 2N Service Group with two +Service Units, on for each controller. Each Service Unit has one +component, snmpd. + +Some things to note: +- saAmfCtCompCategory=SA_AMF_COMP_LOCAL(8) +- saAmfCtDefTerminateCmdArgv is required for non-sa-aware components +- the init script provided by the net-snmp package is directly used, no +additional scripts added + +This file can be loaded into a running OpenSAF system with 'immcfg -f net-snmp.xml' + +The SUs are in admin state "locked instantiation" and needs to be unlocked: +amf-adm unlock-in safSu=1,safSg=2N,safApp=net-snmp +amf-adm unlock safSu=1,safSg=2N,safApp=net-snmp +amf-adm unlock-in safSu=2,safSg=2N,safApp=net-snmp +amf-adm unlock safSu=2,safSg=2N,safApp=net-snmp + +Component Monitoring +==================== +The concept of Active Monitoring is used. In a system integration of snmpd +the health of the service needs to be actively monitored. + +But for simplicity in this sample (and for a seamless integration not requiring +any additional scripts), passive monitoring is started in _context_ of the +AM_START command. This means that only the sudden death of the snmpd process is +detected. + +In a real system integration a long lived active monitor would probably also +start passive monitoring but then enter a forever loop checking the health of +snmpd. + +See the saAmfCtRelPathAmStartCmd and saAmfCtRelPathAmStopCmd attributes in the +component type. It is using the amfpm command to control AMF passive monitoring. + +--> + +<imm:IMM-contents xmlns:imm="http://www.saforum.org/IMMSchema" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.01.01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + +<!-- BASE TYPES --> + + <object class="SaAmfAppBaseType"> + <dn>safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSGBaseType"> + <dn>safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSUBaseType"> + <dn>safSuType=snmpd</dn> + </object> + <object class="SaAmfCompBaseType"> + <dn>safCompType=snmpd</dn> + </object> + <object class="SaAmfSvcBaseType"> + <dn>safSvcType=snmpd</dn> + </object> + <object class="SaAmfCSBaseType"> + <dn>safCSType=snmpd</dn> + </object> + <object class="SaAmfSvcType"> + <dn>safVersion=1,safSvcType=snmpd</dn> + </object> + +<!-- VERSIONED TYPES --> + + <object class="SaAmfAppType"> + <dn>safVersion=1,safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfApptSGTypes</name> + <value>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSGType"> + <dn>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSgtRedundancyModel</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSgtValidSuTypes</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSgtDefAutoAdjustProb</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartMax</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartMax</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSUType"> + <dn>safVersion=1,safSuType=snmpd</dn> + <attr> + <name>saAmfSutIsExternal</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSutDefSUFailover</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSutProvidesSvcTypes</name> + <value>safVersion=1,safSvcType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompType"> + <dn>safVersion=5.6.1-4.5.1,safCompType=snmpd</dn> + <attr> + <name>saAmfCtCompCategory</name> + <value>8</value> + </attr> + <attr> + <name>saAmfCtSwBundle</name> + <value>safSmfBundle=net-snmp-5.6.1-4.5.1.x86_64</value> + </attr> + <attr> + <name>saAmfCtDefClcCliTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtRelPathInstantiateCmd</name> + <value>snmpd start</value> + </attr> + <attr> + <name>saAmfCtRelPathCleanupCmd</name> + <value>snmpd stop</value> + </attr> + <attr> + <name>saAmfCtRelPathTerminateCmd</name> + <value>snmpd stop</value> + </attr> + <attr> + <name>saAmfCtRelPathAmStartCmd</name> + <value>../../srv/osaftest/workspace/rootfs/usr/local/sbin/amfpm --start</value> + </attr> + <attr> + <name>saAmfCtRelPathAmStopCmd</name> + <value>../../srv/osaftest/workspace/rootfs/usr/local/sbin/amfpm --stop</value> + </attr> + <attr> + <name>saAmfCtDefRecoveryOnError</name> + <value>3</value> +<!-- COMPONENT_RESTART=3, NODE_FAILOVER=5, see saAmf.h --> + </attr> + <attr> + <name>saAmfCtDefDisableRestart</name> + <value>0</value> + </attr> + </object> + <object class="SaAmfCSType"> + <dn>safVersion=1,safCSType=snmpd</dn> + </object> + <object class="SaAmfSutCompType"> + <dn>safMemberCompType=safVersion=5.6.1-4.5.1\,safCompType=snmpd,safVersion=1,safSuType=snmpd</dn> + </object> + <object class="SaAmfSvcTypeCSTypes"> + <dn>safMemberCSType=safVersion=1\,safCSType=snmpd,safVersion=1,safSvcType=snmpd</dn> + </object> + <object class="SaAmfCtCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safVersion=5.6.1-4.5.1,safCompType=snmpd</dn> + <attr> + <name>saAmfCtCompCapability</name> + <value>1</value> + </attr> + </object> + +<!-- COMMON INSTANCES --> + + <object class="SaAmfApplication"> + <dn>safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfAppType</name> + <value>safVersion=1,safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSG"> + <dn>safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSGType</name> + <value>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSGAutoRepair</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGAutoAdjust</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGNumPrefInserviceSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGNumPrefAssignedSUs</name> + <value>10</value> + </attr> + </object> + <object class="SaSmfSwBundle"> + <dn>safSmfBundle=net-snmp-5.6.1-4.5.1.x86_64</dn> + </object> + <object class="SaAmfSI"> + <dn>safSi=1,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSvcType</name> + <value>safVersion=1,safSvcType=snmpd</value> + </attr> + <attr> + <name>saAmfSIProtectedbySG</name> + <value>safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIRank</name> + <value>1</value> + </attr> + </object> + <object class="SaAmfCSI"> + <dn>safCsi=snmpd,safSi=1,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSType</name> + <value>safVersion=1,safCSType=snmpd</value> + </attr> + </object> + +<!-- SC1 INSTANCES --> + + <object class="SaAmfSU"> + <dn>safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSUHostNodeOrNodeGroup</name> + <value>safAmfNode=SC-1,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=snmpd,safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=5.6.1-4.5.1,safCompType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safComp=snmpd,safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=net-snmp-5.6.1-4.5.1.x86_64,safAmfNode=SC-1,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/etc/init.d</value> + </attr> + </object> + +<!-- SC2 INSTANCES --> + + <object class="SaAmfSU"> + <dn>safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSUHostNodeOrNodeGroup</name> + <value>safAmfNode=SC-2,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>2</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=snmpd,safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=5.6.1-4.5.1,safCompType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safComp=snmpd,safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=net-snmp-5.6.1-4.5.1.x86_64,safAmfNode=SC-2,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/etc/init.d</value> + </attr> + </object> + +</imm:IMM-contents> diff --git a/samples/amf/proxy/Makefile.am b/samples/amf/proxy/Makefile.am --- a/samples/amf/proxy/Makefile.am +++ b/samples/amf/proxy/Makefile.am @@ -28,6 +28,7 @@ EXTRA_DIST = \ bin_PROGRAMS = proxy proxy_CPPFLAGS = \ + -DSA_EXTENDED_NAME_SOURCE \ $(AM_CPPFLAGS) proxy_SOURCES = \ diff --git a/samples/amf/proxy/proxy-longDN.xml b/samples/amf/proxy/proxy-longDN.xml new file mode 100755 --- /dev/null +++ b/samples/amf/proxy/proxy-longDN.xml @@ -0,0 +1,265 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * -*- OpenSAF -*- + * + * (C) Copyright 2013 The OpenSAF Foundation + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed + * under the GNU Lesser General Public License Version 2.1, February 1999. + * The complete license can be accessed from the following location: + * http://opensource.org/licenses/lgpl-license.php + * See the Copying file included with the OpenSAF distribution for full + * licensing terms. + * + * Author(s): Ericsson + * + +IMM XML for a proxy component + +--> + +<imm:IMM-contents xmlns:imm="http://www.saforum.org/IMMSchema" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.01.01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <object class="SaAmfAppBaseType"> + <dn>safAppType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSGBaseType"> + <dn>safSgType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSUBaseType"> + <dn>safSuType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCompBaseType"> + <dn>safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcBaseType"> + <dn>safSvcType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCSBaseType"> + <dn>safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcType"> + <dn>safVersion=1,safSvcType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfAppType"> + <dn>safVersion=1,safAppType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfApptSGTypes</name> + <value>safVersion=1,safSgType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSGType"> + <dn>safVersion=1,safSgType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSgtRedundancyModel</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSgtValidSuTypes</name> + <value>safVersion=1,safSuType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSgtDefAutoAdjustProb</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartMax</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartMax</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSUType"> + <dn>safVersion=1,safSuType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSutIsExternal</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSutDefSUFailover</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSutProvidesSvcTypes</name> + <value>safVersion=1,safSvcType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompType"> + <dn>safVersion=1,safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCategory</name> + <value>1</value> + </attr> + <attr> + <name>saAmfCtSwBundle</name> + <value>safSmfBundle=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfCtDefClcCliTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefCallbackTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtRelPathInstantiateCmd</name> + <value>proxy_script</value> + </attr> + <attr> + <name>saAmfCtDefInstantiateCmdArgv</name> + <value>instantiate</value> + </attr> + <attr> + <name>saAmfCtRelPathCleanupCmd</name> + <value>proxy_script</value> + </attr> + <attr> + <name>saAmfCtDefCleanupCmdArgv</name> + <value>cleanup</value> + </attr> + <attr> + <name>saAmfCtDefQuiescingCompleteTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefRecoveryOnError</name> + <value>2</value> + </attr> + <attr> + <name>saAmfCtDefDisableRestart</name> + <value>0</value> + </attr> + <attr> + <name>saAmfCtDefCmdEnv</name> + <value>PROXIED_X_DN=safComp=1,safSu=1,safSg=2N,safApp=Proxied</value> + <value>PROXIED_Y_DN=safComp=2,safSu=1,safSg=2N,safApp=Proxied</value> + </attr> + </object> + <object class="SaAmfCSType"> + <dn>safVersion=1,safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSutCompType"> + <dn>safMemberCompType=safVersion=1\,safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSuType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcTypeCSTypes"> + <dn>safMemberCSType=safVersion=1\,safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSvcType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCtCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCapability</name> + <value>1</value> + </attr> + </object> + <object class="SaAmfHealthcheckType"> + <dn>safHealthcheckKey=default,safVersion=1,safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfHctDefPeriod</name> + <value>60000000000</value> + </attr> + <attr> + <name>saAmfHctDefMaxDuration</name> + <value>10000000000</value> + </attr> + </object> + + <object class="SaAmfApplication"> + <dn>safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfAppType</name> + <value>safVersion=1,safAppType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSG"> + <dn>safSg=2N,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSGType</name> + <value>safVersion=1,safSgType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSGSuHostNodeGroup</name> + <value>safAmfNodeGroup=SCs,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSGAutoRepair</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGAutoAdjust</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGNumPrefInserviceSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGNumPrefAssignedSUs</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSI"> + <dn>safSi=1,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSvcType</name> + <value>safVersion=1,safSvcType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIProtectedbySG</name> + <value>safSg=2N,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCSI"> + <dn>safCsi=1,safSi=1,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSType</name> + <value>safVersion=1,safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaSmfSwBundle"> + <dn>safSmfBundle=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=SC-1,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_proxy_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=1,safSg=2N,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=1,safSu=1,safSg=2N,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=1,safSu=1,safSg=2N,safApp=Proxy-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> +</imm:IMM-contents> diff --git a/samples/amf/proxy/proxy.c b/samples/amf/proxy/proxy.c --- a/samples/amf/proxy/proxy.c +++ b/samples/amf/proxy/proxy.c @@ -42,6 +42,8 @@ #include <assert.h> #include <saAmf.h> +#define MD5_LEN 32 + /* AMF Handle for the proxy */ static SaAmfHandleT proxy_amf_hdl; @@ -76,9 +78,9 @@ static int register_proxied_comps(SaAmfH SaAisErrorT rc; const char *name = getenv("PROXIED_X_DN"); SaNameT comp_name; - comp_name.length = sprintf((char*)comp_name.value, "%s", name); - syslog(LOG_INFO, "registering proxied 'X' with DN '%s'", comp_name.value); + saAisNameLend(name, &comp_name); + syslog(LOG_INFO, "registering proxied 'X' with DN '%s'", saAisNameBorrow(&comp_name)); rc = saAmfComponentRegister(amf_hdl, &comp_name, proxy_name); if (rc != SA_AIS_OK) { @@ -87,8 +89,8 @@ static int register_proxied_comps(SaAmfH } name = getenv("PROXIED_Y_DN"); - comp_name.length = sprintf((char*)comp_name.value, "%s", name); - syslog(LOG_INFO, "registering proxied 'Y' with DN '%s'", comp_name.value); + saAisNameLend(name, &comp_name); + syslog(LOG_INFO, "registering proxied 'Y' with DN '%s'", saAisNameBorrow(&comp_name)); rc = saAmfComponentRegister(amf_hdl, &comp_name, proxy_name); if (rc != SA_AIS_OK) { syslog(LOG_ERR, "saAmfComponentRegister proxied FAILED %u", rc); @@ -110,9 +112,9 @@ static int unregister_proxied_comps(SaAm SaAisErrorT rc; const char *name = getenv("PROXIED_X_DN"); SaNameT comp_name; - comp_name.length = sprintf((char*)comp_name.value, "%s", name); - syslog(LOG_INFO, "unregistering: 'X' with DN '%s'", comp_name.value); + saAisNameLend(name, &comp_name); + syslog(LOG_INFO, "unregistering: 'X' with DN '%s'", saAisNameBorrow(&comp_name)); rc = saAmfComponentUnregister(amf_hdl, &comp_name, proxy_name); if (rc != SA_AIS_OK) { @@ -121,8 +123,8 @@ static int unregister_proxied_comps(SaAm } name = getenv("PROXIED_Y_DN"); - comp_name.length = sprintf((char*)comp_name.value, "%s", name); - syslog(LOG_INFO, "unregistering: 'Y' with DN '%s'", comp_name.value); + saAisNameLend(name, &comp_name); + syslog(LOG_INFO, "unregistering: 'Y' with DN '%s'", saAisNameBorrow(&comp_name)); rc = saAmfComponentUnregister(amf_hdl, &comp_name, proxy_name); if (rc != SA_AIS_OK) { syslog(LOG_ERR, "saAmfComponentRegister proxied FAILED %u", rc); @@ -139,7 +141,7 @@ static int unregister_proxied_comps(SaAm */ static int instantiate_proxied_comp(const SaNameT *proxied_name) { - syslog(LOG_INFO, "%s '%s'", __FUNCTION__, proxied_name->value); + syslog(LOG_INFO, "%s '%s'", __FUNCTION__, saAisNameBorrow(proxied_name)); /* * instantiate/start the proxied component here! @@ -155,7 +157,7 @@ static int instantiate_proxied_comp(cons */ static int terminate_proxied_comp(const SaNameT *proxied_name) { - syslog(LOG_INFO, "%s '%s'", __FUNCTION__, proxied_name->value); + syslog(LOG_INFO, "%s '%s'", __FUNCTION__, saAisNameBorrow(proxied_name)); /* * terminate/stop the proxied component here! @@ -176,7 +178,7 @@ static int start_hc_for_proxied_comp(SaA SaAisErrorT rc; SaAmfHealthcheckKeyT key1 = {"shallow", 7}; - syslog(LOG_INFO, "%s '%s'", __FUNCTION__, proxied_name->value); + syslog(LOG_INFO, "%s '%s'", __FUNCTION__, saAisNameBorrow(proxied_name)); rc = saAmfHealthcheckStart(amf_hdl, proxied_name, &key1, SA_AMF_HEALTHCHECK_AMF_INVOKED, SA_AMF_COMPONENT_RESTART); @@ -208,7 +210,7 @@ static int stop_hc_for_proxied_comp(SaAm SaAisErrorT rc; SaAmfHealthcheckKeyT key1 = {"shallow", 7}; - syslog(LOG_INFO, "%s '%s'", __FUNCTION__, proxied_name->value); + syslog(LOG_INFO, "%s '%s'", __FUNCTION__, saAisNameBorrow(proxied_name)); rc = saAmfHealthcheckStop(amf_hdl, proxied_name, &key1); if (rc != SA_AIS_OK) { @@ -245,7 +247,7 @@ static void proxy_csi_set_callback(SaInv if (csi_desc.csiFlags == SA_AMF_CSI_ADD_ONE) { syslog(LOG_INFO, "%s: '%s' ADD '%s' HAState %s", __FUNCTION__, - comp_name->value, csi_desc.csiName.value, ha_state_name[ha_state]); + saAisNameBorrow(comp_name), saAisNameBorrow(&csi_desc.csiName), ha_state_name[ha_state]); /* For debug log the CSI attributes, they could ** define the workload characteristics */ @@ -258,11 +260,11 @@ static void proxy_csi_set_callback(SaInv } else if (csi_desc.csiFlags == SA_AMF_CSI_TARGET_ALL) { syslog(LOG_INFO, "%s: '%s' CHANGE HAState to %s for all assigned CSIs", __FUNCTION__, - comp_name->value, ha_state_name[ha_state]); + saAisNameBorrow(comp_name), ha_state_name[ha_state]); } else { syslog(LOG_INFO, "%s: '%s' CHANGE HAState to %s for '%s'", __FUNCTION__, - comp_name->value, ha_state_name[ha_state], csi_desc.csiName.value); + saAisNameBorrow(comp_name), ha_state_name[ha_state], saAisNameBorrow(&csi_desc.csiName)); } switch (ha_state) { @@ -305,7 +307,7 @@ static void proxy_csi_remove_callback(Sa const SaNameT *csi_name, SaAmfCSIFlagsT csi_flags) { - syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, comp_name->value); + syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, saAisNameBorrow(comp_name)); SaAisErrorT rc = saAmfResponse(proxy_amf_hdl, invocation, SA_AIS_OK); if (rc != SA_AIS_OK) { @@ -327,7 +329,7 @@ static void proxy_healthcheck_callback(S { SaAisErrorT rc; - syslog(LOG_DEBUG, "%s: '%s', key '%s'", __FUNCTION__, comp_name->value, + syslog(LOG_DEBUG, "%s: '%s', key '%s'", __FUNCTION__, saAisNameBorrow(comp_name), key->key); rc = saAmfResponse(proxy_amf_hdl, inv, SA_AIS_OK); @@ -347,7 +349,7 @@ static void proxy_healthcheck_callback(S static void proxy_terminate_callback(SaInvocationT inv, const SaNameT *comp_name) { - syslog(LOG_INFO, "componentTerminateCallback: '%s'", comp_name->value); + syslog(LOG_INFO, "componentTerminateCallback: '%s'", saAisNameBorrow(comp_name)); SaAisErrorT rc = saAmfResponse(proxy_amf_hdl, inv, SA_AIS_OK); if (rc != SA_AIS_OK) { @@ -378,7 +380,7 @@ static void proxied_csi_set_callback(SaI if (csi_desc.csiFlags == SA_AMF_CSI_ADD_ONE) { syslog(LOG_INFO, "%s: '%s' ADD '%s' HAState %s", __FUNCTION__, - comp_name->value, csi_desc.csiName.value, ha_state_name[ha_state]); + saAisNameBorrow(comp_name), saAisNameBorrow(&csi_desc.csiName), ha_state_name[ha_state]); /* For debug log the CSI attributes, they could ** define the workload characteristics */ @@ -391,11 +393,11 @@ static void proxied_csi_set_callback(SaI } else if (csi_desc.csiFlags == SA_AMF_CSI_TARGET_ALL) { syslog(LOG_INFO, "%s: '%s' CHANGE HAState to %s for all assigned CSIs", __FUNCTION__, - comp_name->value, ha_state_name[ha_state]); + saAisNameBorrow(comp_name), ha_state_name[ha_state]); } else { syslog(LOG_INFO, "%s: '%s' CHANGE HAState to %s for '%s'", __FUNCTION__, - comp_name->value, ha_state_name[ha_state], csi_desc.csiName.value); + saAisNameBorrow(comp_name), ha_state_name[ha_state], saAisNameBorrow(&csi_desc.csiName)); } switch (ha_state) { @@ -440,7 +442,7 @@ static void proxied_csi_remove_callback( const SaNameT *csi_name, SaAmfCSIFlagsT csi_flags) { - syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, comp_name->value); + syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, saAisNameBorrow(comp_name)); stop_hc_for_proxied_comp(proxied_amf_hdl, comp_name); terminate_proxied_comp(comp_name); @@ -465,7 +467,7 @@ static void proxied_healthcheck_callback { SaAisErrorT rc; - syslog(LOG_DEBUG, "%s: '%s', key '%s'", __FUNCTION__, comp_name->value, + syslog(LOG_DEBUG, "%s: '%s', key '%s'", __FUNCTION__, saAisNameBorrow(comp_name), key->key); /* @@ -509,7 +511,7 @@ static void proxied_component_cleanup_ca static void proxied_terminate_callback(SaInvocationT inv, const SaNameT *comp_name) { - syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, comp_name->value); + syslog(LOG_INFO, "%s: '%s'", __FUNCTION__, saAisNameBorrow(comp_name)); SaAisErrorT rc = saAmfResponse(proxied_amf_hdl, inv, SA_AIS_OK); if (rc != SA_AIS_OK) { @@ -640,6 +642,24 @@ done: return rc; } +static int getMD5Code(const char *str, char *md5_sum) { + char cmd[2048]; + FILE *pipe; + int i, ch; + + sprintf(cmd, "echo %s | md5sum | awk '{print $1}' 2>/dev/null", str); + pipe = popen(cmd, "r"); + if (pipe == NULL) return 0; + + for (i = 0; i < MD5_LEN && isxdigit(ch = fgetc(pipe)); i++) { + *md5_sum++ = ch; + } + + *md5_sum = '\0'; + pclose(pipe); + return i == MD5_LEN; +} + int main(int argc, char **argv) { SaAisErrorT rc; @@ -647,6 +667,7 @@ int main(int argc, char **argv) SaSelectionObjectT proxied_sel_obj; struct pollfd fds[2]; char *env_comp_name; + char md5[MD5_LEN + 1]; /* Environment variable "SA_AMF_COMPONENT_NAME" exist when started by AMF */ if ((env_comp_name = getenv("SA_AMF_COMPONENT_NAME")) == NULL) { @@ -673,7 +694,19 @@ int main(int argc, char **argv) ** Use AMF component name as file name so multiple instances of this ** component can be managed by the same script. */ - create_pid_file("/tmp", env_comp_name); + //create_pid_file("/tmp", env_comp_name); + // This is a temporary solution to overcome the limit of linux in filename length (255) + //create_pid_file("/tmp", env_comp_name); + if (!getMD5Code(env_comp_name, md5)) { + syslog(LOG_ERR, "failed to get the hash code of comp: %s", env_comp_name); + goto done; + } + create_pid_file("/tmp", md5); + + // Enable long DN + if(setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1)) { + syslog(LOG_ERR, "failed to set SA_ENABLE_EXTENDED_NAMES"); + } /* Use syslog for logging */ openlog(basename(argv[0]), LOG_PID, LOG_USER); diff --git a/samples/amf/proxy/proxy_script b/samples/amf/proxy/proxy_script --- a/samples/amf/proxy/proxy_script +++ b/samples/amf/proxy/proxy_script @@ -35,7 +35,8 @@ fi . /lib/lsb/init-functions piddir="/tmp" -pidfile="$piddir/${SA_AMF_COMPONENT_NAME}.pid" +compname_md5=`echo $SA_AMF_COMPONENT_NAME | md5sum | awk '{print $1}'` +pidfile="$piddir/${compname_md5}.pid" RETVAL=0 diff --git a/samples/amf/sa_aware/AppConfig-2N-longDN.xml b/samples/amf/sa_aware/AppConfig-2N-longDN.xml new file mode 100755 --- /dev/null +++ b/samples/amf/sa_aware/AppConfig-2N-longDN.xml @@ -0,0 +1,315 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * -*- OpenSAF -*- + * + * (C) Copyright 2009 The OpenSAF Foundation + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed + * under the GNU Lesser General Public License Version 2.1, February 1999. + * The complete license can be accessed from the following location: + * http://opensource.org/licenses/lgpl-license.php + * See the Copying file included with the OpenSAF distribution for full + * licensing terms. + * + * Author(s): Ericsson + * + +- Admin state of SUs is LOCKED-INSTANTIATION which makes it possible to load +this file using "immcfg -f" + +- With only node in the cluster this object needs to be removed: +"safInstalledSwBundle=safSmfBundle=AmfDemo,safAmfNode=SC-2,safAmfCluster=myAmfCluster" +from the file before loaded. + +--> + +<imm:IMM-contents xmlns:imm="http://www.saforum.org/IMMSchema" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.01.01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <object class="SaAmfAppBaseType"> + <dn>safAppType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSGBaseType"> + <dn>safSgType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSUBaseType"> + <dn>safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCompBaseType"> + <dn>safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcBaseType"> + <dn>safSvcType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCSBaseType"> + <dn>safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcType"> + <dn>safVersion=1,safSvcType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfAppType"> + <dn>safVersion=1,safAppType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfApptSGTypes</name> + <value>safVersion=1,safSgType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSGType"> + <dn>safVersion=1,safSgType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSgtRedundancyModel</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSgtValidSuTypes</name> + <value>safVersion=1,safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSgtDefAutoAdjustProb</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartMax</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartMax</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSUType"> + <dn>safVersion=1,safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSutIsExternal</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSutDefSUFailover</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSutProvidesSvcTypes</name> + <value>safVersion=1,safSvcType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompType"> + <dn>safVersion=1,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCategory</name> + <value>1</value> + </attr> + <attr> + <name>saAmfCtSwBundle</name> + <value>safSmfBundle=AmfDemo</value> + </attr> + <attr> + <name>saAmfCtDefClcCliTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefCallbackTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtRelPathInstantiateCmd</name> + <value>amf_demo_script</value> + </attr> + <attr> + <name>saAmfCtDefInstantiateCmdArgv</name> + <value>instantiate</value> + </attr> + <attr> + <name>saAmfCtRelPathCleanupCmd</name> + <value>amf_demo_script</value> + </attr> + <attr> + <name>saAmfCtDefCleanupCmdArgv</name> + <value>cleanup</value> + </attr> + <attr> + <name>saAmfCtDefQuiescingCompleteTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefRecoveryOnError</name> + <value>2</value> + </attr> + <attr> + <name>saAmfCtDefDisableRestart</name> + <value>0</value> + </attr> + <attr> + <name>saAmfCtDefCmdEnv</name> + <value>AMF_DEMO_VAR1=CT_VALUE1</value> + <value>AMF_DEMO_VAR2=CT_VALUE2</value> + </attr> + </object> + <object class="SaAmfCSType"> + <dn>safVersion=1,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSutCompType"> + <dn>safMemberCompType=safVersion=1\,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcTypeCSTypes"> + <dn>safMemberCSType=safVersion=1\,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSvcType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCtCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCapability</name> + <value>1</value> + </attr> + </object> + <object class="SaAmfHealthcheckType"> + <dn>safHealthcheckKey=AmfDemo,safVersion=1,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfHctDefPeriod</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfHctDefMaxDuration</name> + <value>6000000000</value> + </attr> + </object> + + <object class="SaAmfApplication"> + <dn>safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfAppType</name> + <value>safVersion=1,safAppType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSG"> + <dn>safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSGType</name> + <value>safVersion=1,safSgType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSGSuHostNodeGroup</name> + <value>safAmfNodeGroup=SCs,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSGAutoRepair</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGAutoAdjust</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGNumPrefInserviceSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGNumPrefAssignedSUs</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSI"> + <dn>safSi=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSvcType</name> + <value>safVersion=1,safSvcType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIProtectedbySG</name> + <value>safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCSI"> + <dn>safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSType</name> + <value>safVersion=1,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaSmfSwBundle"> + <dn>safSmfBundle=AmfDemo</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo,safAmfNode=SC-1,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfCompCmdEnv</name> + <value>AMF_DEMO_VAR2=COMP1_OVERLOAD_VALUE2</value> + <value>AMF_DEMO_VAR3=COMP1_VALUE3</value> + <value>AMF_DEMO_VAR4=COMP1_VALUE4</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo,safAmfNode=SC-2,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU2,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>2</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfCompCmdEnv</name> + <value>AMF_DEMO_VAR2=COMP2_OVERLOAD_VALUE2</value> + <value>AMF_DEMO_VAR3=COMP2_VALUE3</value> + <value>AMF_DEMO_VAR4=COMP2_VALUE4</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo1LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> +</imm:IMM-contents> diff --git a/samples/amf/sa_aware/AppConfig-nwayactive-longDN.xml b/samples/amf/sa_aware/AppConfig-nwayactive-longDN.xml new file mode 100755 --- /dev/null +++ b/samples/amf/sa_aware/AppConfig-nwayactive-longDN.xml @@ -0,0 +1,408 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * -*- OpenSAF -*- + * + * (C) Copyright 2009 The OpenSAF Foundation + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed + * under the GNU Lesser General Public License Version 2.1, February 1999. + * The complete license can be accessed from the following location: + * http://opensource.org/licenses/lgpl-license.php + * See the Copying file included with the OpenSAF distribution for full + * licensing terms. + * + * Author(s): Ericsson + * + +- Admin state of SUs is LOCKED-INSTANTIATION which makes it possible to load +this file using "immcfg -f" + +- The config is for a cluster of 5 nodes (2+3) which is the default in the +UML env. If used in a smaller cluster, all instances of class SaAmfNodeSwBundle +for the missing nodes has to be removed from the file before loaded. + +--> + +<imm:IMM-contents xmlns:imm="http://www.saforum.org/IMMSchema" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.01.01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <object class="SaAmfAppBaseType"> + <dn>safAppType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSGBaseType"> + <dn>safSgType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSUBaseType"> + <dn>safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCompBaseType"> + <dn>safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcBaseType"> + <dn>safSvcType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCSBaseType"> + <dn>safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcType"> + <dn>safVersion=1,safSvcType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfAppType"> + <dn>safVersion=1,safAppType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfApptSGTypes</name> + <value>safVersion=1,safSgType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSGType"> + <dn>safVersion=1,safSgType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSgtRedundancyModel</name> + <value>4</value> + </attr> + <attr> + <name>saAmfSgtValidSuTypes</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSgtDefAutoAdjustProb</name> + <value>10000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartProb</name> + <value>4000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartMax</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartProb</name> + <value>4000000</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartMax</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSUType"> + <dn>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSutIsExternal</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSutDefSUFailover</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSutProvidesSvcTypes</name> + <value>safVersion=1,safSvcType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompType"> + <dn>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCategory</name> + <value>1</value> + </attr> + <attr> + <name>saAmfCtSwBundle</name> + <value>safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfCtDefClcCliTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefCallbackTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtRelPathInstantiateCmd</name> + <value>amf_demo_script</value> + </attr> + <attr> + <name>saAmfCtDefInstantiateCmdArgv</name> + <value>instantiate</value> + </attr> + <attr> + <name>saAmfCtRelPathCleanupCmd</name> + <value>amf_demo_script</value> + </attr> + <attr> + <name>saAmfCtDefCleanupCmdArgv</name> + <value>cleanup</value> + </attr> + <attr> + <name>saAmfCtDefQuiescingCompleteTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefRecoveryOnError</name> + <value>2</value> + </attr> + <attr> + <name>saAmfCtDefDisableRestart</name> + <value>0</value> + </attr> + </object> + <object class="SaAmfCSType"> + <dn>safVersion=1,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSutCompType"> + <dn>safMemberCompType=safVersion=1\,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSvcTypeCSTypes"> + <dn>safMemberCSType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safSvcType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCtCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCtCompCapability</name> + <value>1</value> + </attr> + </object> + <object class="SaAmfHealthcheckType"> + <dn>safHealthcheckKey=AmfDemo,safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfHctDefPeriod</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfHctDefMaxDuration</name> + <value>6000000000</value> + </attr> + </object> + + <object class="SaAmfApplication"> + <dn>safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfAppType</name> + <value>safVersion=1,safAppType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSG"> + <dn>safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSGType</name> + <value>safVersion=1,safSgType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSGSuHostNodeGroup</name> + <value>safAmfNodeGroup=AllNodes,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSGAutoRepair</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGAutoAdjust</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGNumPrefInserviceSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGNumPrefAssignedSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGMaxActiveSIsperSU</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSGMaxStandbySIsperSU</name> + <value>0</value> + </attr> + </object> + <object class="SaAmfSI"> + <dn>safSi=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSvcType</name> + <value>safVersion=1,safSvcType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIProtectedbySG</name> + <value>safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIPrefActiveAssignments</name> + <value>5</value> + </attr> + <attr> + <name>saAmfSIPrefStandbyAssignments</name> + <value>0</value> + </attr> + </object> + <object class="SaAmfCSI"> + <dn>safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSType</name> + <value>safVersion=1,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCSIAttribute"> + <dn>safCsiAttr=AttrNoValue,safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfCSIAttribute"> + <dn>safCsiAttr=AttrSingleValue,safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSIAttriValue</name> + <value>val11</value> + </attr> + </object> + <object class="SaAmfCSIAttribute"> + <dn>safCsiAttr=AttrMultiValue,safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSIAttriValue</name> + <value>val21</value> + <value>val22</value> + <value>val23</value> + </attr> + </object> + <object class="SaSmfSwBundle"> + <dn>safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=SC-1,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=SC-2,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU2,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=PL-3,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU3,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU3,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU3,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=PL-4,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU4,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU4,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU4,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safAmfNode=PL-5,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/amf_demo</value> + </attr> + </object> + <object class="SaAmfSU"> + <dn>safSu=SU5,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=AmfDemo,safSu=SU5,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,safComp=AmfDemo,safSu=SU5,safSg=AmfDemo,safApp=AmfDemo2LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> +</imm:IMM-contents> diff --git a/samples/amf/sa_aware/Makefile.am b/samples/amf/sa_aware/Makefile.am --- a/samples/amf/sa_aware/Makefile.am +++ b/samples/amf/sa_aware/Makefile.am @@ -27,6 +27,7 @@ EXTRA_DIST = \ bin_PROGRAMS = amf_demo amf_demo_CPPFLAGS = \ + -DSA_EXTENDED_NAME_SOURCE \ $(AM_CPPFLAGS) amf_demo_SOURCES = \ diff --git a/samples/amf/sa_aware/amf_demo.c b/samples/amf/sa_aware/amf_demo.c --- a/samples/amf/sa_aware/amf_demo.c +++ b/samples/amf/sa_aware/amf_demo.c @@ -38,7 +38,13 @@ #include <libgen.h> #include <signal.h> #include <saAmf.h> +#include <saAis.h> +#include <malloc.h> +#include <ctype.h> +#define MD5_LEN 32 +//extern void saAisNameLend(SaConstStringT value, SaNameT* name); +//extern SaConstStringT saAisNameBorrow(const SaNameT* name); /* Some dummies in place of real service logic */ int foo_activate(void) { @@ -102,7 +108,7 @@ static void amf_csi_set_callback(SaInvoc if (csi_desc.csiFlags == SA_AMF_CSI_ADD_ONE) { syslog(LOG_INFO, "CSI Set - add '%s' HAState %s", - csi_desc.csiName.value, ha_state_name[ha_state]); + saAisNameBorrow(&csi_desc.csiName), ha_state_name[ha_state]); /* For debug log the CSI attributes, they could ** define the workload characteristics */ @@ -117,7 +123,7 @@ static void amf_csi_set_callback(SaInvoc ha_state_name[ha_state]); } else { syslog(LOG_INFO, "CSI Set - HAState %s for '%s'", - ha_state_name[ha_state], csi_desc.csiName.value); + ha_state_name[ha_state], saAisNameBorrow(&csi_desc.csiName)); } switch (ha_state) { @@ -206,7 +212,7 @@ static void amf_csi_remove_callback(SaIn if (csi_flags == SA_AMF_CSI_TARGET_ALL) syslog(LOG_INFO, "CSI Remove for all CSIs"); else if (csi_flags == SA_AMF_CSI_TARGET_ONE) - syslog(LOG_INFO, "CSI Remove for '%s'", csi_name->value); + syslog(LOG_INFO, "CSI Remove for '%s'", saAisNameBorrow(csi_name)); else // A non valid case, see 7.9.3 abort(); @@ -332,7 +338,6 @@ static SaAisErrorT amf_initialize(SaSele amf_callbacks.saAmfCSIRemoveCallback = amf_csi_remove_callback; amf_callbacks.saAmfHealthcheckCallback = amf_healthcheck_callback; amf_callbacks.saAmfComponentTerminateCallback = amf_comp_terminate_callback; - rc = saAmfInitialize(&my_amf_hdl, &amf_callbacks, &api_ver); if (rc != SA_AIS_OK) { syslog(LOG_ERR, " saAmfInitialize FAILED %u", rc); @@ -351,7 +356,9 @@ static SaAisErrorT amf_initialize(SaSele goto done; } + syslog(LOG_INFO, "before saAmfComponentRegister [%s]", saAisNameBorrow(&my_comp_name)); rc = saAmfComponentRegister(my_amf_hdl, &my_comp_name, 0); + syslog(LOG_INFO, "after saAmfComponentRegister "); if (rc != SA_AIS_OK) { syslog(LOG_ERR, "saAmfComponentRegister FAILED %u", rc); goto done; @@ -367,12 +374,33 @@ done: return rc; } +static int getMD5Code(const char *str, char *md5_sum) { + char cmd[2048]; + FILE *pipe; + int i, ch; + + sprintf(cmd, "echo %s | md5sum | awk '{print $1}' 2>/dev/null", str); + pipe = popen(cmd, "r"); + if (pipe == NULL) return 0; + + for (i = 0; i < MD5_LEN && isxdigit(ch = fgetc(pipe)); i++) { + *md5_sum++ = ch; + } + + *md5_sum = '\0'; + pclose(pipe); + return i == MD5_LEN; +} + + int main(int argc, char **argv) { SaAisErrorT rc; SaSelectionObjectT amf_sel_obj; struct pollfd fds[1]; char *env_comp_name; + char md5[MD5_LEN + 1]; + size_t comp_name_length = 0; /* Environment variable "SA_AMF_COMPONENT_NAME" exist when started by AMF */ if ((env_comp_name = getenv("SA_AMF_COMPONENT_NAME")) == NULL) { @@ -384,7 +412,7 @@ int main(int argc, char **argv) ** This important since our start script will hang forever otherwise. ** Note daemon() is not LSB but impl by libc so fairly portable... */ - if (daemon(0, 0) == -1) { + if (daemon(0, 1) == -1) { syslog(LOG_ERR, "daemon failed: %s", strerror(errno)); goto done; } @@ -399,7 +427,20 @@ int main(int argc, char **argv) ** Use AMF component name as file name so multiple instances of this ** component can be managed by the same script. */ - create_pid_file("/tmp", env_comp_name); + // This is a temporary solution to overcome the limit of linux in filename length (255) + //create_pid_file("/tmp", env_comp_name); + if (!getMD5Code(env_comp_name, md5)) { + syslog(LOG_ERR, "failed to get the hash code of comp: %s", env_comp_name); + goto done; + } + + // Create a file with the hashed name + create_pid_file("/tmp", md5); + + // Enable long DN + if(setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1)) { + syslog(LOG_ERR, "failed to set SA_ENABLE_EXTENDED_NAMES"); + } /* Use syslog for logging */ openlog(basename(argv[0]), LOG_PID, LOG_USER); diff --git a/samples/amf/sa_aware/amf_demo_script b/samples/amf/sa_aware/amf_demo_script --- a/samples/amf/sa_aware/amf_demo_script +++ b/samples/amf/sa_aware/amf_demo_script @@ -34,8 +34,8 @@ fi # Source LSB functions library . /lib/lsb/init-functions -piddir="/tmp" -pidfile="$piddir/${SA_AMF_COMPONENT_NAME}.pid" +compname=`echo $SA_AMF_COMPONENT_NAME | md5sum | awk '{print $1}'` +pidfile="$piddir/${compname}.pid" RETVAL=0 diff --git a/samples/amf/wrapper/Makefile.am b/samples/amf/wrapper/Makefile.am --- a/samples/amf/wrapper/Makefile.am +++ b/samples/amf/wrapper/Makefile.am @@ -27,6 +27,7 @@ EXTRA_DIST = \ sbin_PROGRAMS = wrapper wrapper_CPPFLAGS = \ + -DSA_EXTENDED_NAME_SOURCE \ $(AM_CPPFLAGS) wrapper_SOURCES = \ diff --git a/samples/amf/wrapper/net-snmp-longDN.xml b/samples/amf/wrapper/net-snmp-longDN.xml new file mode 100755 --- /dev/null +++ b/samples/amf/wrapper/net-snmp-longDN.xml @@ -0,0 +1,331 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * -*- OpenSAF -*- + * + * (C) Copyright 2011 The OpenSAF Foundation + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed + * under the GNU Lesser General Public License Version 2.1, February 1999. + * The complete license can be accessed from the following location: + * http://opensource.org/licenses/lgpl-license.php + * See the Copying file included with the OpenSAF distribution for full + * licensing terms. + * + * Author(s): Ericsson + * +--> + +<imm:IMM-contents xmlns:imm="http://www.saforum.org/IMMSchema" xsi:noNamespaceSchemaLocation="SAI-AIS-IMM-XSD-A.01.01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + +<!-- BASE TYPES --> + + <object class="SaAmfAppBaseType"> + <dn>safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSGBaseType"> + <dn>safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfSUBaseType"> + <dn>safSuType=snmpd</dn> + </object> + <object class="SaAmfCompBaseType"> + <dn>safCompType=snmpd</dn> + </object> + <object class="SaAmfSvcBaseType"> + <dn>safSvcType=snmpd</dn> + </object> + <object class="SaAmfCSBaseType"> + <dn>safCSType=snmpd</dn> + </object> + <object class="SaAmfSvcType"> + <dn>safVersion=1,safSvcType=snmpd</dn> + </object> + +<!-- VERSIONED TYPES --> + + <object class="SaAmfAppType"> + <dn>safVersion=1,safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfApptSGTypes</name> + <value>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + <object class="SaAmfSGType"> + <dn>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSgtRedundancyModel</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSgtValidSuTypes</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSgtDefAutoAdjustProb</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefCompRestartMax</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartProb</name> + <value>4000000000</value> + </attr> + <attr> + <name>saAmfSgtDefSuRestartMax</name> + <value>10</value> + </attr> + </object> + <object class="SaAmfSUType"> + <dn>safVersion=1,safSuType=snmpd</dn> + <attr> + <name>saAmfSutIsExternal</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSutDefSUFailover</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSutProvidesSvcTypes</name> + <value>safVersion=1,safSvcType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompType"> + <dn>safVersion=1,safCompType=snmpd</dn> + <attr> + <name>saAmfCtCompCategory</name> + <value>1</value> + </attr> + <attr> + <name>saAmfCtSwBundle</name> + <value>safSmfBundle=AmfWrapper</value> + </attr> + <attr> + <name>saAmfCtDefCmdEnv</name> + <value>STARTSCRIPT=/etc/init.d/snmpd start</value> + <value>STOPSCRIPT=/etc/init.d/snmpd stop</value> + <value>HEALTHCHECKSCRIPT=snmpwalk -v 1 -c public -O e localhost</value> + <value>PIDFILE=/var/run/snmpd.pid</value> + </attr> + <attr> + <name>saAmfCtDefClcCliTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefCallbackTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtRelPathInstantiateCmd</name> + <value>wrapper.sh</value> + </attr> + <attr> + <name>saAmfCtDefInstantiateCmdArgv</name> + <value>instantiate</value> + </attr> + <attr> + <name>saAmfCtRelPathCleanupCmd</name> + <value>wrapper.sh</value> + </attr> + <attr> + <name>saAmfCtDefCleanupCmdArgv</name> + <value>cleanup</value> + </attr> + <attr> + <name>saAmfCtDefQuiescingCompleteTimeout</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfCtDefRecoveryOnError</name> + <value>2</value> + </attr> + <attr> + <name>saAmfCtDefDisableRestart</name> + <value>0</value> + </attr> + </object> + <object class="SaAmfCSType"> + <dn>safVersion=1,safCSType=snmpd</dn> + </object> + <object class="SaAmfSutCompType"> + <dn>safMemberCompType=safVersion=1\,safCompType=snmpd,safVersion=1,safSuType=snmpd</dn> + </object> + <object class="SaAmfSvcTypeCSTypes"> + <dn>safMemberCSType=safVersion=1\,safCSType=snmpd,safVersion=1,safSvcType=snmpd</dn> + </object> + <object class="SaAmfCtCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safVersion=1,safCompType=snmpd</dn> + <attr> + <name>saAmfCtCompCapability</name> + <value>1</value> + </attr> + </object> + <object class="SaAmfHealthcheckType"> + <dn>safHealthcheckKey=Wrapper,safVersion=1,safCompType=snmpd</dn> + <attr> + <name>saAmfHctDefPeriod</name> + <value>10000000000</value> + </attr> + <attr> + <name>saAmfHctDefMaxDuration</name> + <value>6000000000</value> + </attr> + </object> + +<!-- COMMON INSTANCES --> + + <object class="SaAmfApplication"> + <dn>safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfAppType</name> + <value>safVersion=1,safAppType=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + </object> + + <object class="SaAmfSG"> + <dn>safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSGType</name> + <value>safVersion=1,safSgType=2N-net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSGAutoRepair</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGAutoAdjust</name> + <value>0</value> + </attr> + <attr> + <name>saAmfSGNumPrefInserviceSUs</name> + <value>10</value> + </attr> + <attr> + <name>saAmfSGNumPrefAssignedSUs</name> + <value>10</value> + </attr> + </object> + + <object class="SaSmfSwBundle"> + <dn>safSmfBundle=AmfWrapper</dn> + </object> + + <object class="SaAmfSI"> + <dn>safSi=1,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSvcType</name> + <value>safVersion=1,safSvcType=snmpd</value> + </attr> + <attr> + <name>saAmfSIProtectedbySG</name> + <value>safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</value> + </attr> + <attr> + <name>saAmfSIRank</name> + <value>1</value> + </attr> + </object> + + <object class="SaAmfCSI"> + <dn>safCsi=snmpd,safSi=1,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSType</name> + <value>safVersion=1,safCSType=snmpd</value> + </attr> + </object> + + <object class="SaAmfCSIAttribute"> + <dn>safCsiAttr=SNMPD_LOGFILE,safCsi=snmpd,safSi=1,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCSIAttriValue</name> + <value>/tmp/net-snmpd.log</value> + </attr> + </object> + +<!-- SC1 INSTANCES --> + + <object class="SaAmfSU"> + <dn>safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSUHostNodeOrNodeGroup</name> + <value>safAmfNode=SC-1,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>1</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=snmpd,safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safComp=snmpd,safSu=1,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfWrapper,safAmfNode=SC-1,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/wrapper</value> + </attr> + </object> + +<!-- SC2 INSTANCES --> + + <object class="SaAmfSU"> + <dn>safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfSUType</name> + <value>safVersion=1,safSuType=snmpd</value> + </attr> + <attr> + <name>saAmfSUHostNodeOrNodeGroup</name> + <value>safAmfNode=SC-2,safAmfCluster=myAmfCluster</value> + </attr> + <attr> + <name>saAmfSURank</name> + <value>2</value> + </attr> + <attr> + <name>saAmfSUAdminState</name> + <value>3</value> + </attr> + </object> + <object class="SaAmfComp"> + <dn>safComp=snmpd,safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + <attr> + <name>saAmfCompType</name> + <value>safVersion=1,safCompType=snmpd</value> + </attr> + </object> + <object class="SaAmfCompCsType"> + <dn>safSupportedCsType=safVersion=1\,safCSType=snmpd,safComp=snmpd,safSu=2,safSg=2N,safApp=net-snmp-LongDNTestingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</dn> + </object> + <object class="SaAmfNodeSwBundle"> + <dn>safInstalledSwBundle=safSmfBundle=AmfWrapper,safAmfNode=SC-2,safAmfCluster=myAmfCluster</dn> + <attr> + <name>saAmfNodeSwBundlePathPrefix</name> + <value>/opt/wrapper</value> + </attr> + </object> + +</imm:IMM-contents> diff --git a/samples/amf/wrapper/wrapper.c b/samples/amf/wrapper/wrapper.c --- a/samples/amf/wrapper/wrapper.c +++ b/samples/amf/wrapper/wrapper.c @@ -200,7 +200,7 @@ static void csi_set_callback(SaInvocatio if (csi_desc.csiFlags == SA_AMF_CSI_ADD_ONE) { syslog(LOG_DEBUG, "CSI Set - add '%s' HAState %s", - csi_desc.csiName.value, ha_state_name[ha_state]); + saAisNameBorrow(&csi_desc.csiName), ha_state_name[ha_state]); for (i = 0; i < csi_desc.csiAttr.number; i++) { attr = &csi_desc.csiAttr.attr[i]; @@ -411,6 +411,11 @@ int main(int argc, char **argv) pidfile = getenv("PIDFILE"); + // Enable long DN + if(setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1)) { + syslog(LOG_ERR, "failed to set SA_ENABLE_EXTENDED_NAMES"); + } + if (amf_initialize(&amf_sel_obj) != SA_AIS_OK) goto done; diff --git a/samples/amf/wrapper/wrapper.sh b/samples/amf/wrapper/wrapper.sh --- a/samples/amf/wrapper/wrapper.sh +++ b/samples/amf/wrapper/wrapper.sh @@ -17,7 +17,7 @@ # name=$(basename $0) -progdir="/usr/local/sbin" +progdir="/opt/wrapper" prog="wrapper" if [ -z $SA_AMF_COMPONENT_NAME ]; then @@ -36,7 +36,8 @@ fi . /lib/lsb/init-functions piddir="/tmp" -pidfile="$piddir/${SA_AMF_COMPONENT_NAME}.pid" +compname_md5=`echo $SA_AMF_COMPONENT_NAME | md5sum | awk '{print $1}'` +pidfile="$piddir/${compname_md5}.pid" export WRAPPERPIDFILE=$pidfile RETVAL=0 ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
