Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Code Block
usage: topo <subcommand> <options>

...

  • mz.standard-platform.conf
  • mz.standard-ec.conf

  • mz.standard-ecsamz.standard-sc

This command is useful to reduce the size of the pico configurations and thereby facilitate maintenance.

...

Info
titleExample - Updating a pico attribute


Code Block
languagetext
$ mzsh topo set topo://container:main1/pico:ec2/val:ec_type ecsaec


Run the following command to add or update an object that contains one or more attributes.

...

OptionDescription

[-c, --container <container>]

Use this option to specify a different container than the local one, which is the default value.

[-g, --container-group <container group>]Use this option to setup remote access to a container in specific container group. This is useful when you have multiple containers with identical names in different containers groups.
[--host-key <path>]Use this option to use a pre-generated host key instead of the one that is generated when you run topo setupremote.
[--java-home <path>]Use this option when the target container is located on a different host. The default value is specified by the environment variable JAVA_HOME in the current shell.
[--no-authorized-key]

By default, the topo setupremote command will obtain a public authorization key from the user home directory on the Platform Container host and store it in the STR, i e the file mz.conf. Use the option --no-authorized-key to skip this operation.

[--no-host-key]

By default, the topo setupremote command will store the public host key of the Execution Container in the STR, i e the file mz.conf. Use the option --no-host-key to skip this operation.

[--no-ssh-details]Use this option to exclude ssh-username and ssh-address from STR. These attributes are required for remote access. If you use this option you will need to update the STR manually.
[--ssh-address <ip/host>]Use this option when the target container is located on a different host or when you want to bind to a specific IP address or hostname. The default value is specified by the address attribute for container in mz.conf.
[--ssh-port <port>]Use this option when you want to use a different port than 22 for SSH.  
[--ssh-username <username>]Use this option when the target container is located on a different host or when a specific username is required for SSH. The default SSH user is the OS user that runs the topo setupremote command.

...

  • jvm-args - Displays the JVM arguments that are used by the pico instances in the system. JVM arguments that are set in templates are included.
  • status - Displays the container name, pico name, pico type and running state.
  • status-sc - Displays similar view as  status but only includes SCs.
  • status-ec - Displays similar view as status but only includes EC/ECSAsECs.
  • status-long - Displays similar view as status but also includes the status of replication between Platform Container and Execution Containers.
  • pico-view - Displays similar view as status but also includes memory usage and the pico response time.
  • pico-view2 - Displays similar view as pico-view but also includes uptime. 
  • ports - Displays the ports that are used by the pico instances in the system. Ports that are set in templates and on cell- and container level, are included.

Info
titleExample - Views


Code Block
$ mzsh topo show jvm-args
+-------------------------------------------------------------
| container | name     | config.jvmargs                      | 
+-----------+----------+-------------------------------------+
| main1     | platform | args=[                              | 
|           |          |     "-XX:MaxMetaspaceSize=256M",    | 
|           |          |     "-Xms192M",                     | 
|           |          |     "-Xmx1024M"                     | 
|           |          | ]                                   | 
+-----------+----------+-------------------------------------+
| main1     | ec1 ecsa1     | args=[                              | 
|           |          |     "-server"                       | 
|           |          | ]                                   | 
|           |          | maxDirect=[                         | 
|           |          |     "-XX:MaxDirectMemorySize=4096M" | 
|           |          | ]                                   | 
|           |          | maxMetaspace=[                      | 
|           |          |     "-XX:MaxMetaspaceSize=196M"     | 
|           |          | ]                                   | 
|           |          | xms=[                               | 
|           |          |     "-Xms64M"                       | 
|           |          | ]                                   | 
|           |          | xmx=[                               | 
|           |          |     "-Xmx256M"                      | 
|           |          | ]                                   | 
+-----------+----------+-------------------------------------+
| main1     | psc1     | args=[                              | 
|           |          |     "-server"                       | 
|           |          | ]                                   | 
|           |          | maxDirect=[                         | 
|           |          |     "-XX:MaxDirectMemorySize=4096M" | 
|           |          | ]                                   | 
|           |          | maxMetaspace=[                      | 
|           |          |     "-XX:MaxMetaspaceSize=196M"     | 
|           |          | ]                                   | 
|           |          | xms=[                               | 
|           |          |     "-Xms64M"                       | 
|           |          | ]                                   | 
|           |          | xmx=[                               | 
|           |          |     "-Xmx256M"                      | 
|           |          | ]                                   | 
+-----------+----------+-------------------------------------+
| exec1     | ec2      | args=[                              | 
|           |          |     "-server"                       | 
|           |          | ]                                   | 
|           |          | maxDirect=[                         | 
|           |          |     "-XX:MaxDirectMemorySize=4096M" | 
|           |          | ]                                   | 
|           |          | maxMetaspace=[                      | 
|           |          |     "-XX:MaxMetaspaceSize=196M"     | 
|           |          | ]                                   | 
|           |          | xms=[                               | 
|           |          |     "-Xms64M"                       | 
|           |          | ]                                   | 
|           |          | xmx=[                               | 
|           |          |     "-Xmx256M"                      | 
|           |          | ]                                   | 
+-------------------------------------------------------------


Code Block
$ mzsh topo show status
+---------------------------------------------------------------
| container | name     | type     | state       | config-state | 
+-----------+----------+----------+-------------+--------------+
| main1     | platform | platform | running     | in-sync      | 
| main1     | ecsa1ec1      | ecsaec.      | not-started |              | 
| main1     | psc1     | sc       | not-started |              | 
| exec1     | ec2      | ec       | not-started |              | 
+---------------------------------------------------------------


Code Block
$ mzsh topo show ports
+----------------------------------------------------------------------------
| container | name     | type     | ports                                   | 
+-----------+----------+----------+-----------------------------------------+
| main1     | platform | platform | "mz.pcc.restful.port"="9090"            | 
|           |          |          | "mz.servicehost.port.range"="5451-5500" | 
|           |          |          | "mz.wi.port"="9000"                     | 
|           |          |          | "pico.rcp.platform.port"="6790"         | 
|           |          |          | "pico.synchronizer.port"="6791"         | 
+-----------+----------+----------+-----------------------------------------+
| main1     | ec1  ecsa1    | ecsa     | "ec.httpd.port"="9093"                  | 
|           |          |          | "pico.rcp.platform.port"="6790"         | 
|           |          |          | "pico.synchronizer.port"="6791"         | 
+-----------+----------+----------+-----------------------------------------+
| main1     | psc1     | sc       | "mz.servicehost.port.range"="5801-5850" | 
|           |          |          | "pico.rcp.platform.port"="6790"         | 
|           |          |          | "pico.synchronizer.port"="6791"         | 
+-----------+----------+----------+-----------------------------------------+
| exec1     | ec2      | ec       | "ec.httpd.port"="9090"                  | 
|           |          |          | "pico.rcp.platform.port"="6790"         | 
|           |          |          | "pico.synchronizer.port"="6791"         | 
+----------------------------------------------------------------------------



...

Info
titleExample - Removing a pico attribute


Code Block
languagetext
$ mzsh topo unset topo://container:main1/pico:ec2/val:ec_type ecsaec



Excerpt

File Paths in Attributes

When you enter a path that is relative to MZ_HOME in the value of an attribute, it is recommend that you use ${mz.home} as a substitution.

In the following example MZ_HOME will be resolved to its current value e g /home/user/mz.

Info
titleExample - Resolved path


Code Block
languagetext
themeEclipse
$ mzsh topo set topo://container:main1/val:common.pico.rcp.tls.keystore $MZ_HOME/keys/platform.keys


The next example uses a path that is always relative to MZ_HOME.

Info
titleSubstituted path


Code Block
languagetext
themeEclipse
$ mzsh topo set topo://container:main1/obj:common.pico.rcp.tls.keystore '{ keystore=${mz.home}"/keys" }'


Note
titleNote!

When you are using ${mz.home} as a substitution, make sure to set attributes as part of an object, using the obj keyword.


Conflicting Attributes

The name of an attribute may contain the full name of another attribute. For instance, mz.httpd.security.keystore is a system property but its name is also a part of mz.httpd.security.keystore.password.

In this case you must ensure that the name of both properties are surrounded by quotes, or one of the properties will be overwritten at activation.

Info
titleExample - Handling conflicting attributes, manual editing


Code Block
common : {
    "pico.rcp.tls.keystore" : "home/mz/keys",
    "pico.rcp.tls.keystore.password" : "..."
}


When there are conflicting properties and you are using the mzsh topo command, also add single quotes, surrounding the target path (topo://..).

Info
titleExample - Handling conflicting attributes, scripted editing


Code Block
$ mzsh topo set 'topo://container:<platform container>/val:common."pico.rcp.tls.keystore"' "home/mz/keys"
 
$ mzsh topo set 'topo://container:<platform container>/val:common."pico.rcp.tls.keystore.password"' "..."



...