Composite Template for IS, Extended Settings configuration

I created a template to configure extended settings for IS and tried several possibilities (see above). All were executed without errors but only the 1st changed the setting “watt.server.soapjms.request.timeout” to “30”.

Are the others not valid?


  is-ext-settings:                                   # template for Integration Server JNDI settings configuration
    products:
      integrationServer:                                  # Integration Server productId
        ${is.instance.name}:                              # instance name to update
          configuration:                                  # CONFIGURATION definition
            integrationServer-${is.instance.name}:        # runtimeComponentId
              COMMON-SYSPROPS:                            # configuration instance id
                COMMON-SYSPROPS:
                  watt.server.soapjms.request.timeout=30

  is-ext-settings:                                   # template for Integration Server JNDI settings configuration
    products:
      integrationServer:                                  # Integration Server productId
        ${is.instance.name}:                              # instance name to update
          configuration:                                  # CONFIGURATION definition
            integrationServer-${is.instance.name}:        # runtimeComponentId
              COMMON-SYSPROPS:                            # configuration instance id
                COMMON-SYSPROPS:
                  {"watt.server.soapjms.request.timeout":"30"}


# The next 2 include all extended settings (but are too large here)
  is-ext-settings:                                   # template for Integration Server JNDI settings configuration
    products:
      integrationServer:                                  # Integration Server productId
        ${is.instance.name}:                              # instance name to update
          configuration:                                  # CONFIGURATION definition
            integrationServer-${is.instance.name}:        # runtimeComponentId
              COMMON-SYSPROPS:                            # configuration instance id
                COMMON-SYSPROPS:
                  {"watt.core.xmlreader":"","watt.server.requestCerts":"false",...,"watt.server.soapjms.request.timeout":"30",...,"watt.net.ssl.server.cipherSuiteList":"default","watt.server.math.floatOperation.mode":"default"}

  is-ext-settings:                                   # template for Integration Server JNDI settings configuration
    products:
      integrationServer:                                  # Integration Server productId
        ${is.instance.name}:                              # instance name to update
          configuration:                                  # CONFIGURATION definition
            integrationServer-${is.instance.name}:        # runtimeComponentId
              COMMON-SYSPROPS:                            # configuration instance id
                COMMON-SYSPROPS: {"watt.core.xmlreader":"",...,"watt.server.soapjms.request.timeout":"30",...,"watt.server.math.floatOperation.mode":"default"}

There are several options/formats but the easiest one is to define it as plain text as key=value pairs.
You need to use pipe symbol (|) after configuration instance id to be able to specify plan text value for this configuration type:


  is-ext-settings:                                   # template for Integration Server JNDI settings configuration  
    products:  
      integrationServer:                                  # Integration Server productId  
        ${is.instance.name}:                              # instance name to update  
          configuration:                                  # CONFIGURATION definition  
            integrationServer-${is.instance.name}:        # runtimeComponentId  
              COMMON-SYSPROPS:                            # configuration instance id  
                COMMON-SYSPROPS:  |  # IMPORTANT: use pipe for text/plain
                  watt.server.soapjms.request.timeout=30
                  watt.foo=bar

Thanks
Sergei

Hi Sergei,

the possibility you mentioned was the only one that changed the extended settings in my case. What are the other possibilites?

Thanks,
Silke

The other possibilities were JSON/XML/YAML, but I was not successful in my tests.

It does work well using CLI


$ cc get configuration data local OSGI-SPM COMMON-SYSPROPS -o props.json
$ cat props.json
{"java.io.tmpdir":"\"%OSGI_INSTALL_AREA%/workspace/temp\"","osgi.noShutdown":"true","osgi.install.area":"\"%OSGI_INSTALL_AREA%\"","eclipse.ignoreApp":"true"}%             
$ cat props2.json
{"java.io.tmpdir":"/tmp","foo":"bar"}%                                                                                                                                     $ cc update configuration data local OSGI-SPM COMMON-SYSPROPS -i props2.json
PENDING_RESTART
$ cc get configuration data local OSGI-SPM COMMON-SYSPROPS
Name             	Value
osgi.noShutdown  	true
java.io.tmpdir   	/tmp
osgi.install.area	"%OSGI_INSTALL_AREA%"
eclipse.ignoreApp	true
foo              	bar

But not from a template.


templates:
  jvm-configure:
    products:
      SPM:
        default:
          configuration:
            OSGI-SPM:               # this can be any runtime instance JVM, not just SPM
#              COMMON-SYSPROPS:
#                COMMON-SYSPROPS: |  # JVM system properties
#                  foo=bar1
              COMMON-SYSPROPS:
                COMMON-SYSPROPS: # using YAML/JSON/XML does NOT work yet!
                  java.io.tmpdir: /tmp
                  foo: bar

I’ll take it up with the team.

For now please use text/plain .properties format as it is native for this configuration type.
YAML/JSON/XML formats and all transformations and work only from CLI at the moment but we’ll see if we can fix that.

Thanks
Sergei

Ok, thanks for clarification