-
Notifications
You must be signed in to change notification settings - Fork 8
Creating Run time Instances
Some products like Integration Server, Universal Messaging, My webMethods Server, Apama, support multiple instances. When you install these products using Command Central you don't get instances created. You have an opportunity to create a fully customized instance based on the environment instance configuration.
To find out what products support instance management you can use the following CC CLI command:
# list products on a particular SPM node that support instance management
sagcc list instances dev8192 supportedproductswhere dev8192 is the node alias for the managed installation
Product instance management requires corresponding product SPM Plugin. Most products install SPM Plugin automatically, but not all. Ensure you have required plugin(s) installed along with the products.
For the tutorial purposes we will need a valid IS and UM instances that will be imported into Command Central and then distributed. In case you don't have them present, just skip the license instructions in the template itself.
To use the licenses:
- In Command Central Web UI, navigate to Licensing > Keys. Use + icon to import license files and assign them license key aliases.
- Configure the template to the referenced licenses using
licenses:section with<targetFilePath> : <licenseKeyAlias>pairs
The template fragment to handle licenses looks like this:
templates: # TEMPLATES definition
is: # template alias
licenses: # copy lincense from the license repository to a template location
"IntegrationServer/config/licenseKey.xml": ${is.license.key}
products: # product list to install
integrationServer: # Integration Server productId
fixes: ${is.fixes} # fixes to install
um: # template alias
licenses: # copy lincense from the license repository to a template location
"UniversalMessaging/server/templates/licence.xml": ${um.license.key}
products: # product list to install
NUMRealmServer: # Universal Messaging productId
fixes: ${um.fixes} # fixes to installwhere the license aliases are already parameterized. This will copy a specified license from Command Central repository to the target managed node and save as a file. The license file then can be used when creating runtime instances of the products.
- Open
template/tutorial/template.yamlin the text editor. - Add
inst1:underintegrationServer:to create inst1 IS instance. Uselicense.fileinstance configuratino property to point to IS license file location from thelicenses:section. - Repeat the same for
inst1:instance underNUMRealmServer:but use UM specific instance configration properties. - Add other required instance configuraiton properties to both IS and UM instances.
Please refer to Command Central Documentation for more details how to create instances. See Command Central Template Library for examples of templates for different products.
The template should looks like this:
alias: tutorial
description: How to install and update main products
version: 0.7
changes:
- 0.1 Initial draft
- 0.2 Added input parameters
- 0.3 Added local node bootstrap
- 0.4 Added products/plugins installation
- 0.5 Added fix installation
- 0.6 Added main products and fix installation
- 0.7 Added licenses and runtime instances
environments:
default:
cc.installer: ${} # CC bootstrap installer
install.dir: ${} # SPM installation directory
spm.port: 8192 # SPM connection port
spm.alias: dev${spm.port} # SPM alias
repo.product: ${} # Product repo
repo.fix: ${} # Fixes repository
spm.fixes: ALL # Default list of fixes to install
is.fixes: ALL # Set of IS fixes
um.fixes: ALL # Set of UM fixes
is.license.key: ${} # Alias for IS license key
um.license.key: ${} # Alias for UM license key
layers: # LAYERS definition
default:
productRepo: ${repo.product} # product repository for this layer
fixRepo: ${repo.fix} # fix repository for this layer
management: # management layer with SPMs
templates: [plugins] # templates to apply to this layer
messaging:
templates: [um] # templates to apply to this layer
integration:
templates: [is] # templates to apply to this layer
templates: # TEMPLATES definition
plugins: # template alias
products: # product list to install
ISspm: # Platform Manager Plug-Ins / IS
NUMspm: # Platform Manager Plug-Ins / UM
fixes: ${spm.fixes} # fixes to install
is: # template alias
licenses: # copy lincense from the license repository to a template location
"IntegrationServer/config/licenseKey.xml": ${is.license.key}
products: # product list to install
integrationServer: # Integration Server productId
inst1: # instance name to create or update
license.file: IntegrationServer/config/licenseKey.xml
primary.port: 5551
diagnostic.port: 5552
jmx.port: 5553
fixes: ${is.fixes} # fixes to install
um: # template alias
licenses: # copy lincense from the license repository to a template location
"UniversalMessaging/server/templates/licence.xml": ${um.license.key}
products: # product list to install
NUMRealmServer: # Universal Messaging productId
inst1: # instance name to create or update
license.file: UniversalMessaging/server/templates/licence.xml
instance.port: 9001
instance.ip: localhost
runtimeComponentId: Universal-Messaging-${instance.name}
fixes: ${um.fixes} # fixes to install
nodes: # NODES definition
default: # defaults for any environment type
default: # default node definition
port: ${spm.port} # SPM connection HTTP/S port
secure: false # do not use SSL port
bootstrapInfo:
installDir: ${install.dir} # installation directory
installer: ${cc.installer} # cc installer that can be found in cc_home/profiles/CCE/data/installers
${spm.alias}: # definition for specific nodeAlias
host: localhost # Use localhost
provision: # PROVISIONing mapping of layers to nodes
default: # default environment type
management: ${spm.alias} # management layer is single node
messaging: ${spm.alias} # messaging layer is single node
integration: ${spm.alias} # integration layer is single nodeGo to the environment/default/env.properties and add is.license.key= and um.license.key= to point the respective aliases in
the Command Central license repository.
cc.installer=
install.dir=${user.home}/dev/${spm.alias}
repo.product=
repo.fix=
is.license.key=
um.license.key=
# temporary limitation to avoid fix validation.
skip.fix.dep.validation=trueThe new elements are the two license key alias variables!
If you don't have license files you can comment out license related template sections and properties. UM will be functional with the default evaluation license but IS instance will only run for 30 minutes and then shut down!
Apply the template:
[user@linuxbox tutorial]$ ant up
...
BUILD SUCCESSFUL
Total time: ....When the job successfully completes the Web UI will show two new instances under Instances tab, up and running and having your licenses applied.
If you have not achieved the goals of this tutorial stage, use the following command to checkout everything that needed to be done so far.
Make a note about your modifications of environment/default/env.properties because the version that you'll check out will overwrite them.
[user@linuxbox tutorial]$ git checkout stage-07 -f
Switched to branch 'stage-07'Each product support different instance parameters. Consult documentation on supported properties for each product by searching for sagcc create instances command.
See Command Central Template Library for examples of templates for different products and how they define instances.
Congratulations! You've created instances of the core products and applied licenses to them.
- Overview
- Project Structure and Navigation Through the Tutorial Steps
- Hello World Basic Development Life Cycle
- Using Parameters for Customization
- Bootstrapping Managed Installations
- Installing Products
- Installing Fixes
- Installing and Updating Core Products
- Creating Run time Instances
- Configuring Instances
- End 2 End Remote Test Environment Setup
- What's Next and Additional Resources