Configure SIB Objects
Configure SIB Objects at Node or Server Scope
Prerequisites
When defining Node scope JMS SIB objects you must ensure that the specifiedNodes variable is set in your python file even if you are only deploying to a single Node.
specifiedNodes = ["mvcloud22"]
Also ensure that you have both SIBScopeType and SIBJMSScopeType specified in your py files.
installSIB = "true" SIBScopeType = "server" SIBJMSScopeType = "server"
Failure to set SIBJMSScopeType correctly will see your deployment fail with the following error:
---> Installing SIB QCF SIBQCFName_1 = PRAsyncQCF SIBproviderEndPoints is set to: "localhost:"+str(SIB_ENDPOINT_ADDRESS)+":BootstrapBasicMessaging" Creating SIBJMSConnectionFactory PRAsyncQCF ...... clusterOrServerOrNode: MVCServerUAT01(cells/MVProdEnvNetwork/clusters/MVCServerUAT01|cluster.xml#ServerCluster_1244627792446) busNameNew PRPC_Bus com.ibm.ws.scripting.ScriptingException: java.lang.IllegalArgumentException: WASX7122E: Expected "-" not found. [-name "PRAsyncQCF" -jndiName "jms/PRAsyncQCF" -type "queue" -authDataAlias "MVCorrespondenceUAT01_SIBAuthInfo" -category -description -xaRecoveryAuthAlias "MVCorrespondenceUAT01_SIBAuthInfo" -busName "PRPC_Bus" -nonPersistentMapping "ExpressNonPersistent" -persistentMapping "ReliablePersistent" -readAhead "Def ault" -target "" -targetType "BusMember" -targetSignificance "Preferred" -targetTransportChain "InboundBasicMessaging" -providerEndPoints ""localhost:"+str(S IB_ENDPOINT_ADDRESS)+":BootstrapBasicMessaging"" -connectionProximity "Bus" -tempQueueNamePrefix -shareDataSourceWithCMP "false" ] ^ SIBJMSConnectionFactory Exists. Modifying SIBJMSConnectionFactory PRAsyncQCF ...... WASX7017E: Exception received while running file "/software_install/working/builds/TeamSite/TeamSite_working/864316_MVC_DEV_OTHER_BUILD_1_0_236_deploy/scrip ts/bin/../py/genericWAS5Functions.py"; exception information: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: WASX7122E: Expected "-" not found. [-name "PRAsyncQCF" -jndiName "jms/PRAsyncQCF" -authDataAlias "MVCorrespondenceUAT01_SIBAuthInfo" -category -description -xaRecoveryAuthAlias "MVCorrespond enceUAT01_SIBAuthInfo" -busName "PRPC_Bus" -nonPersistentMapping "ExpressNonPersistent" -persistentMapping "ReliablePersistent" -readAhead "Default" -target "" -targetType "BusMember" -targetSignificance "Preferred" -targetTransportChain "InboundBasicMessaging" -providerEndPoints ""localhost:"+str(SIB_ENDPOINT_AD DRESS)+":BootstrapBasicMessaging"" -connectionProximity "Bus" -tempQueueNamePrefix -shareDataSourceWithCMP "false" ] WASX7341W: No "save" was performed before the interactive scripting session exited; configuration changes will not be saved. ===> ERROR!!! The following command: /usr/websphere6/MVProdEnv/DeploymentManager/bin/wsadmin.sh -username jxadmin -password jxadmin -lang jython -f /so ftware_install/working/builds/TeamSite/TeamSite_working/864316_MVC_DEV_OTHER_BUILD_1_0_236_deploy/scripts/bin/../py/genericWAS5Functions.py -profile /softwa re_install/working/builds/TeamSite/TeamSite_working/864316_MVC_DEV_OTHER_BUILD_1_0_236_deploy/scripts/bin/../py/profile_defaults.py -profile /tmp/profile_16 34340_converted_bindings_file.py -profile /tmp/1634340_profile.py -profile /usr/websphere6/config/MVProdEnv/MVCServerUAT01/project_env.py -profile /usr/we bsphere6/config/MVProdEnv/MVCServerUAT01/MVCServerUAT01_env.py Returned error code: 105. ERROR ocurred in command "chmod 755 /tmp/1654794_doInstall.sh; /tmp/1654794_doInstall.sh", script exiting. -- A file or directory in the path name does not exist. ERROR ocurred in command ". ~/.profile; /software_install/working/builds/TeamSite/TeamSite_working/864316_MVC_DEV_OTHER_BUILD_1_0_236_deploy/scripts/bin/. ./../scripts/websphere/install_was.pl -mq -install -wasenv MVProdEnv -wasapp MVCServerUAT01", script exiting. -- A file or directory in the path name doe s not exist.
Important notes on SIBJMSScopeType
If SIBJMSScopeType is set to 'server', you must set the SIBproviderEndPoints as follows:
SIBproviderEndPoints = "\"localhost:\"+str(SIB_ENDPOINT_ADDRESS)+\":BootstrapBasicMessaging\""
This ensures that each server points to its own EndPoint. Note that the SIB_ENDPOINT_ADDRESS variable is NOT set in your jython file but is dynamically incremented at deployment time to match the SIB_ENDPOINT_ADDRESS that is actually set on the cluster member. Failure to do this will mean all cluster members on a node will point to the same port. If SIBJMSScopeType is set to 'cluster' or 'node', set SIBproviderEndPoints as follows:
SIBproviderEndPoints = "localhost:"+str(SIB_ENDPOINT_ADDRESS_port)+":BootstrapBasicMessaging"
Custom properties
In order to create custom properties for a certain SIB you must declare the following variable where "_n" is the number of the bus you want to create the properties for (i.e. busName_n):
busCustomProperties_n = [[["name", "prop1"], ["value", "val1"]]] busCustomProperties_n.append([["name", "prop2"], ["value", "val2"]]) busCustomProperties_n.append([["name", "prop3"], ["value", "val3"]]) busCustomProperties_n.append([["name", "prop4"], ["value", "val4"]])
SIB members "Messaging engine policy assistance"
In order to configure the "Messaging engine policy assistance" for a certain SIB member you must declare the following variable where "_n" is the number of the bus you want to create the properties for (i.e. busName_n). Possible values: "HA", "SCALABILITY" or "SCALABILITY_HA"
busMemberPolicy_n = "SCALABILITY_HA" # Possible values: "HA", "SCALABILITY" or "SCALABILITY_HA"