Table of Contents Previous Next PDF


Oracle Tuxedo Applications Packaging and Deployment

Oracle Tuxedo Applications Packaging and Deployment
This topic contains the following sections:
Overview
This feature provides a centralized control platform to allow users to automatically deploy/undeploy one Tuxedo application (domain) on different remote machines using a set of new commands on the master node of domain. Deployment process typically contains several steps: application packages distribution, Tuxedo system environment setup, Tuxedo configuration, Tuxedo system booting and so on.
Components
This feature contains the following main components:
New-added Tuxedo commands tmcrdom and tmdeldom
Enhanced Tuxedo tlisten daemon.
The relationship among these components is illustrated in Figure 18‑1:
Figure 18‑1 Applications Packaging and Deployment Component Relationship
To use this feature, first, the users need to allocate two big enough disk space or something like this to act as the Application Packages Repository and Deployment Repository on the NFS. And make sure the two places are accessible by all the Tuxedo System such as its new added commands, tlisten and so on. Second, the Tuxedo System must have been installed on every compute node which the Tuxedo Application will be deployed to. Last, you need to start up tlisten on every compute nodes. All the Tuxedo servers' running dependent libraries, such as DataBase client libraries, are not in this feature's deployment scope, it needs the customers themselves to assure their availabilities.
Constraints
This feature doesn't support to deploy machine level ENVFILE (which is specified in UBBCONFIG MACHINES section by ENVFILE parameter), groups level ENVFILE, servers level ENVFILE, servers level RCMD file to other directories than APPDIR.
The JAVA JDK has been installed on the master node on which will run the tmcrdom command.
How to Deploy/Undeploy Tuxedo Applications
Introduction to Application Package Organization and Contents
A Tuxedo application (domain), as defined in a TUXCONFIG (UBBCONFIG) configuration file, is the set of machines, groups, servers, and other resources. It can exist on a single machine or cross multiple network-connected machines. For this feature, to deploy the whole Tuxedo application, users need to add their Application Packages to the Application Packages Repository by themselves first. One Application Package is an entity which holds all the binary or non-binary files referenced by one or more groups defined in a UBBCONFIG file. That means, every Application Package is mapped to one or more groups defined in a UBBCONFIG file, and all these groups must belong to the same machine in UBBCONFIG. So a Tuxedo application can consist of one or more application packages. Also every Application Package can be repeatly deployed to one or more domains.
The application package is a user generated .zip file and can have several tiers in it. For example:
Figure 18‑2 Application Package
Every Application Package is required to contain a file named "Properties.xml" in Tier1. This file is a group level's part UBBCONFIG file. It contains some properties in GROUPS, RMS, SERVERS, and SERVICES sections of a complete UBBCONFIG file and is mainly used to describe the relationship and parameters of all the servers within this package's groups. The Properties.xml file will be used to generate the ultimate UBBCONFIG file when decide to deploy this package to a machine using tmcrdom and its content can be modified in the according deployment plan.
All the items in the GROUPS, RMS, SERVERS, SERVICES section of UBBCONFIG are divided into four categories:
 
 
 
 
In the Properties.xml file, users must assure all the parameters' references are valid. For example, the GROUP which is indicated by SRVGRP in the SERVICES section must have already been defined in this Properties.xml file's GROUPS section or it will report error when system generates the UBBCONFIG.
Besides the items of the GROUPS, RMS, SERVERS, SERVICES section of UBBCONFIG in Properties.xml, this file also contains some package global attributes at the beginning:
 
Actually the values of these package global attributes will not be checked by Tuxedo tmcrdom/tmdeldom commands. The reason to keep these values in the Properties.xml is that, the contents requirement of the Application Package are the same with the similar Tuxedo EM function. So we suggest you to fill these values as the table described, then when you want to use the Tuxedo EM deploy/undeploy function, you can use these packages directly without any change.
For more information, please refer to Properties.xml Schema.
Uploading/Deleting an Application Package
User can add/delete the Application Packages to/from the Application Package Repository freely by themselves. That means it's the users' duty to maintain the Application Packages Repository.
Creating and Deploying a Domain
Users need to use tmcrdom to create and deploy the domain. This command must be run on the master node of the domain which will be created by this command.
Before running this command, the customer need to export their JAVA_HOME and JVMLIBS environment.
The command syntax is:
tmcrdom -d "domain_name" -f "deployment_plan"
Where:
"domain_name" will be checked. If the domain has already existed in the Deployment Repository, it will report error, or it will create this domain in the repository.
"deployment_plan" is a text file. This feature assumes that it has already been created by the customer before invoking this command. It contains the deployment information needed by this domain. It can be specified in the command as an absolute path or relative path on the master node. Its format is similar to UBBCONFIG.
Note:
In some scenarios, although tmcrdom execution fails, it actually has created a domain in the Deployment Repository, thus if you create the domain again you will receive an error message saying the domain already exists. To solve this, you need to delete the domain using the tmdeldom command with -f option before you can create the domain.
deployment_plan
A deployment_plan file is made up of nine possible specification sections. Allowable section names are:
RESOUCES Section
Required parameters are:
IPCKEY numeric_value
Refer to the same parameter in UBBCONFIG.
MASTER string_value1[,string_value2]
Refer to the same parameter in UBBCONFIG.
MODEL {SHM | MP}
Refer to the same parameter in UBBCONFIG.
APPREPOSITORY string_value
It specifies the repository path which the Application Packages will be put on. This parameter is required. The place which is specified by this parameter must be NFS accessible. The string length can't be larger than 256. It must be an absolute path.
DEPREPOSITORY string_value
It specifies the repository path which all the domain deployment information will be put. This parameter is required. The place which is specified by this parameter must be NFS accessible. The string length can't be larger than 256. It must be an absolute path.
All other parameters are same as RESOURCES section parameters in UBBCONFIG.
MACHINES Section
It's same as the UBBCONFIG's MACHINES section. It must be included in the deployment plan. Its contents will be used as the MACHINES section in the ultimate UBBCONFIG.
Besides these, this feature introduce some new parameters:
CONFIGSCRIPT = string_value[0..256]
It specifies the configuration script which will be run on each compute node before booting the Tuxedo System. It must be an absolute path on the master node. The tmcrdom command will copy this script to the deployment repository specified by DEPREPOSITORY and deploy it to the destination machine later. After deployed to the destination machine, it will be run under the destination machine's APPDIR.
BOOTSCRIPT = string_value[0..256]
It specifies the booting script which will be run on the mater node to boot the Tuxedo System. It must be an absolute path on the master node. The tmcrdom command will copy this script to the deployment repository specified by DEPREPOSITORY and deploy it to the destination machine later. After deployed to the destination machine, it will be run under the destination machine's APPDIR.
SHUTDOWNSCRIPT = string_value[0..256]
It specifies the shutdown script which will be run on the mater node to shutdown the Tuxedo System. It must be an absolute path on the master node. The tmcrdom command will copy this script to the deployment repository specified by DEPREPOSITORY and deploy it to the destination machine later. After deployed to the destination machine, it will be run under the destination machine's APPDIR.
UNCONFIGSCRIPT = string_value[0.. 256]
It specifies the unconfigure script which will be run on each compute node after the Tuxedo System is shutdown. It must be an absolute path on the master node. The tmcrdom command will copy this script to the deployment repository specified by DEPREPOSITORY and deploy it to the destination machine later. After deployed to the destination machine, it will be run under the destination machine's APPDIR.
For every machine, machine address, LMID, TUXCONFIG, TUXDIR and APPDIR are required. For master machine, CONFIGSCRIPT, BOOTSCRIPT and SHUTDOWNSCRIPT are required. For slave machine, BOOTSCRIPT and SHUTDOWNSCRIPT are forbidden.
Note:
The scripts specified by CONFIGSCRIPT, BOOTSCRIPT, SHUTDOWNSCRIPT, and UNCONFIGSCRIPT must be able to be found by tmcrdom on the master machine where the command runs.
GROUPS Section
Required parameters are:
GROUPNAME
Refer to the same parameter in UBBCONFIG. This group name will be used in the ultimate UBBCONFIG.
LMID = string_value1 [,string_value2]
Refer to the same parameter in UBBCONFIG.
GRPNO = number
Refer to the same parameter in UBBCONFIG. This group number will be used in the ultimate UBBCONFIG.
Optional parameters are:
For information about above parameters, refer to the same parameters in UBBCONFIG.
These parameters below are new for the Optional parameters:
PAKNAME = string_value[0..256]
It associates this group with one Application Package. That means, this Application Package will be deployed to the machine which is specified by this group's LMID parameter. If PAKNAME parameter is specified, the GROUPS parameters which can be specified in the properties.xml file like:ENVFILE, TMSNAME, MRM, SIGNATURE_REQUIRED, ENCRYPTION_REQUIRED can't appear in this group definition in the deployment plan, their values will come from the Application Package's properties.xml file. If PAKNAME is not specified, this group is a normal one. Then all the parameters in this group will be the same with the UBBCONFIG. We recommend the customers to use this normal group to hold their Tuxedo System level servers, for example, GWADM.
If PAKNAME is specified, PAKGRPNAME and PAKINSTANCE must also be specified for this group entry.
PAKGRPNAME= string_value [1..30]
It specifies the logical name of the group in the Application Package, and the Application Package's name is specified by PAKNAME parameter. It cannot contain an asterisk (*), comma, or colon. If a non-empty value is specified, PAKNAME and PAKINSTANCE must also be specified for this group entry. Two group entries with the same PAKNAME and PAKINSTANCE cannot have the same PAKGRPNAME. That means two group entries cannot be associated with one same group entry in one Application Package.
PAKINSTANCE = number [1...30000]
It specifies the index for the same Application Package. This is for the situation that one Application Package being deployed to the same domain for more than once. This number must be greater than 0 and less than 30000. If PAKINSTANCE is specified, PAKNAME and PAKGRPNAME must also be specified.
If PAKNAME is not specified, the parameters below are the same as the parameters in UBBCONFIG:
RMS Section
If one rms entry belongs to a group which is not associated with any Application Package, all the parameters are same as those in UBBCONFIG.
If not:
Required parameters are:
RMSNAME
Refer to the same parameter in UBBCONFIG. This rms entry name will be used in the ultimate UBBCONFIG.
SRVGRP = string_value
Refer to the same parameter in UBBCONFIG. All the entries in this RMS section which belong to this group must be associated with one Application Package group's all rms entries, or it will report error. The according group in the Application Package is specified by the group's PAKGRPNAME in the deployment plan.
RMID = number
Refer to the same parameter in UBBCONFIG.
PAKRMID = number
This specifies the RMID appears in the Application Package. It must be between 1 and 31 inclusive. The rms entries belong to the same group cannot have the same PAKRMID.
If one RMS entry belong to a group which has PAKNAME defined, it must specify PAKRMID parameter in the deployment plan, or it will report error.
Optional parameters are:
For information about above parameters, refer to the same parameters in UBBCONFIG.
TMSNAME = string_value[0..256] can't be specified in the deployment plan. It will be from the properties.xml file.
NETGROUPS Section
Same as NETGROUPS section in UBBCONFIG. It must be included in the deployment plan if customer needs it in the ultimate generated UBBCONFIG. Its contents will be used as the NETGROUPS section in the ultimate UBBCONFIG.
NETWORK Section
Same as NETWORK section in UBBCONFIG. It must be included in the deployment plan. Its contents will be used as the NETWORK section in the ultimate UBBCONFIG.
SERVERS Section
If one server belongs to a group which is not associated with any Application Package, then all the parameters are the same with UBBCONFIG.
If not:
Required parameters are:
AOUT
It must be the same with the aout in the corresponding Application Package's properties.xml.
SRVGRP = string_value
Refer to the same parameters in UBBCONFIG.
SRVID = number
Refer to the same parameters in UBBCONFIG. This value will be used in the ultimate UBBCONFIG.
PAKSRVID = number
It specifies the SRVID in the Application Package's properties file. Every server in the Application Package's properties file must be associated with one entry in this section in the deployment plan.
If one server belongs to a group which has PAKNAME defined, then PAKSRVID must be specified for this server. And two servers belong to the same group can not have the same PAKSRVID. If one server belongs to a normal group which has no PAKNAME defined, then it can not define PAKSRVID parameter.
Optional parameters listed below are same as those in UBBCONFIG:
The parameters listed below cannot appear in this section, the ultimate UBBCONFIG will keep the properties.xml file value.
ROUTING
It's same as UBBCONFIG's ROUTING section. It must be included in the deployment plan if customer needs it in the ultimate generated UBBCONFIG. Its contents will be used as the ROUTING section in the ultimate UBBCONFIG.
SERVICES Section
If one service belongs to a group which is not associated with any Application Package, then all the parameters are same as those in UBBCONFIG.
If not:
Required parameters are:
SVCNM
It must be the same with the SVCNM in the corresponding Application Package's properties.xml. All the services in the properties.xml file must have an associated entry in this section.
SRVGRP = string_value
Refer to the same parameters in UBBCONFIG
Optional parameters listed below are same as those in UBBCONFIG:
The parameters listed below can't appear in this section, the ultimate UBBCONFIG will keep the properties.xml file value:
This command will generate one domain's all information including UBBCONFIG and save it to the Deployment Repository.
This command will configure every compute node according to the configure script including creating the TLOG device and so on.
This command will boot the whole Tuxedo System.
Undeploying a Domain
Users can use tmdeldom to shut down and undeploy the domain. This command must be run on the master node of the domain.
The command syntax is:
tmdeldom -d "domain_name" -r "deprepository" -f
The command functions are:
The parameter domain_name is the domain's name which is specified in the previous tmcrdom command. The deprepository is the Deployment Repository which is specified by the DEPREPOSITORY parameter in the previous deployment plan.
Without "-f", once any step of tmdeldom fail, the command will not continue to execute.
If -f is specified, even if step 1, 2, or 3 is failed, this command will also delete the domain information in the repository.
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.