Bootstrap SPM and then apply snapshot template - Error

Hi All,

I’m trying to use command central for remote provisioning using snapshot template.
For this I provisioned SPM by using bootstrap image created using push method on target server. This step worked fine and i can see SPM is installed properly and CC can connect to it.

Though only 2 components are installed in SPM
-> Platform manager
-> Web Manager
while comparing 9.5 SPM (NERV is missing in this default bootstrap installation). Can anybody suggest why? Is this component required or can be ignored??

Moving on - when I’m applying the custom snapshot template to the target machine I’m getting below error -

{"@id":“1434628778639”,“message”:“The specified runtime component OSGI-SPM-ENGINE could not be found on node http://xxx:9092.”,“code”:“SPMCLTE0018”,“description”:“There is no component called OSGI-SPM-ENGINE registered for node http://xxxx:9092. The data could not be retrieved.”,“action”:“Check the components for Platform Manager node http://***:9092.”,“cause”:{“message”:“java.net.SocketTimeoutException: connect timed out”}}

jun 18, 2015 1:59:38 PM com.sun.jersey.api.container.filter.LoggingFilter$Adapter finish
INFO: 76 * Server out-bound response
76 < 404
76 < PlatformManagement-ErrorId: 1434628778713
76 < Content-Type: application/json
76 < Cache-Control: no-cache
76 <
{"@id":“1434628778713”,“message”:“The specified runtime component OSGI-SPM-ENGINE could not be found on node http://xxxx:9092.”,“code”:“SPMCLTE0018”,“description”:“There is no component called OSGI-SPM-ENGINE registered for node http://xxxxx:9092. The data could not be retrieved.”,“action”:“Check the components for Platform Manager node http://xxxxx:9092.”,“cause”:{“message”:“java.net.SocketTimeoutException: connect timed out”}}

Error on Job status:

[SPMCOME0007] Un-handled internal server error. GET http://xxxxx:9092/spm/jobmanager/jobs/2 returned a response status of 401 Unauthorized >> UniformInterfaceException: GET http://xxxx:9092/spm/jobmanager/jobs/2 returned a response status of 401 Unauthorized

Snapshot template used was created from a lightweight IS running with minimum configurations and packages.


On trying to install the default snapshot template - IS installation for ‘default’ instance is incomplete… did this work for anybody?

I’m using CC 9.8 with Core Fix 2. I would appreciate any ideas/suggestions to fix the issues listed above.

Thanks
Naren

Most likely you bootstrapped 9.8 SPM in ‘Minimal’ or ‘Default’ distribution instead of ‘Complete’ distribution (which is the default). Minimal and Default distribution do not come with any product plugins. This would explain why you do not see NERV component under SPM. (Not that you need it, but still).
That would also explain the fact when applying is-min template or your custom template you get “java.net.SocketTimeoutException: connect timed out” because IS installation process also installs IS SPM plugin which brings SPM down and CCE looses connection to SPM. This is the main reason why ‘Complete’ distribution for SPM that comes with all product plugins pre-installed is the default choice for bootstrap, because it avoids SPM shutdown during product installation.

Also note that on 9.8, custom templates do NOT include instance information and that’s why a custom template with IS will not be properly applied by itself. This is from SPM 9.8 README

? SPM-2737
The following limitations apply for snapshot templates:

  • When applying default or custom snapshot templates on Platform Manager version 9.5 to 9.7, Platform Manager creates default instances of Integration Server, My webMethods Server, and Universal Messaging and applies their default configuration on the target installation. Platform Manager does not create custom product instances.
  • When applying default snapshot templates on Platform Manager 9.8, Platform Manager does not create default product instances on the target installation. To work around the issue, use the Command Central command line tool to create default instances of Integration Server, My webMethods Server, and Universal Messaging.
  • When applying a custom snapshot template on Platform Manager 9.8, Platform Manager does not create default or custom instances of Integration Server, My webMethods Server, and Universal Messaging on the target installation. To work around this issue, you should apply a combination of default and custom templates, using the Command Central command line tool. For example, if you apply the default “is-min” snapshot template and then apply the “myTemplate” custom template, the default template will install Integration Server and create the default Integration Server instance. The custom template will install all layered products and apply the required fixes and configuration.
  • If an installation includes several managed products, for example Integration Server and My webMethods Server, you must apply the default templates for all products before applying any custom templates.

Try to apply from Web UI or using CLI the following templates in this order
IMPORTANT: yourSpmAlias must be bootstrapped with Complete distribution

install minimal IS and create default instance

cc exec templates snapshot apply alias=is-min productsRepo=webMethods_9.8 nodeAlias=yourSpmAlias

install other/layered products, apply fixes and custom configuration

cc exec templates snapshot apply alias=yourCustomTemplate productsRepo=webMethods_9.8 fixesRepo=Empower nodeAlias=yourSpmAlias

In a future release Save Template operation will capture INSTANCES metadata and will be able to (re)create default and custom runtime instances automatically.

Thanks Sergei for your note.

Regarding the instances, i did figured it out that the limitation and managed it with the around (also mentioned by you).

For bootstrapping, i’ll take a note of the complete distribution.

I’ve another question on the similar situation. I see the composite template is not supported on SPM -so for my requirement. I’m planning to bootstrap SPM and then apply snapshot template to provision command central and finally using composite template to have provisioning of the products done. Is it a recommended approach??

Thanks,
Naren

Composite templates indeed only supported by CCE because they are intended/designed to cover entire environments across multiple SPM’s/hosts.

The standard/recommended approach is the following:

  1. Setup one CCE on a machine that has access to the internet/Empower/SDC and can be configured with Empower credentials to ensure access to the fixes and product releases using master repositories.
    This setup may even be done on a laptop of the person who has access to the Empower SDC area, but generally it is highly recommended to set it up on a server, let’s call it Gateway CC.
    This machine would be used to generate product and fix images from SDC which then can be distributed throughout the organization along with the license files.
    If this is not done then product and fix images, including bootstrap installer images, would need to be manually generated using Installer and Update Manager which is sub-optimal and error prone.

  2. Setup one CCE to provision and manage some/all of your dev/test/qa environments. This CCE does NOT have to have access to the internet (thought it would be easier if it does). The product and fix images would be imported from the Gateway CC.
    The decision about one vs many CCE’s depends on the network topology, number of projects/environments to manage, their scale, etc.

  3. Setup one CCE to provision and manage all/some/each staging and production environments. The reason why this is separate from 2) is primarily due to security and also typically due to network topology.
    This CC would import product and fix images as well as templates from 2).

The installation of 1) in 9.8- can only be done using SAG installer.

The installation of 2) can be done from Gateway CC if there is network access from Gateway CC to the machine to host new CC for 2). One of these methods can be used:
a) Bootstrapping remote SPM and installing CCE using CLI - only in 9.8
b) Bootstrapping remove SPM and applying a snapshot template created from Gateway CC - from 9.5+
c) Bootstrapping remote CCE using CLI - from 9.5+. Use product=cce instead of product=spm

If Gateway CC does not have network access to 2) machine then Gateway CC can generate bootstrap CCE installer using CLI. See doc for details.

The installation of 3) can be done the same way as 2), but most likely will require creating bootstrap CCE installer for offline delivery to the target pre/production machines.

In a future release (currently planned for CC 9.9) we’ll provide CCE bootstrap installer Empower/SDC so that 1), 2) and 3) can be done using the same simple one-command installation method.

1 Like

Thanks Sergei for your valuable feedback.