A principle behind the configuration representation used in the STR, is to support both manual configuration, i e editing configuration files in a text editor, and scripted configuration using the mzsh topo
command. Most changes to the files can be done in either way.
The figure below illustrates how you can edit a particular system property, either using a command or a text editor.
Manual Configuration
There are three methods of manually editing configurations in STR.
Method 1
Open a configuration file under
MZ_HOME/common/config/cell/default/master
.Edit the file and save.
Run the mzsh command
topo activate
. This is required in order the for changes to become effective.$ mzsh topo activate
Method 2
Open a configuration by running the
mzsh command
topo open. The configuration opens in vi or the editor specified by the environment variable EDITOR.
Example - Opening a cell configuration
$ mzsh topo open cell:default
Example - Opening a container configuration
$ mzsh topo open main1
Example - Opening a pico configuration
$ mzsh topo open ec1
$ mzsh topo open container:main1/pico:ec1
If the pico name is not unique in the system, you will be prompted to specify the container.
Example - Multiple pico configurations sharing the same name
$ mzsh topo open ec2 (/home/main1/common/config/cell/default/master/containers/main1/picos/ec2.conf,ec2,topo://container:main1/pico:ec2) (/home/main1/common/config/cell/default/master/containers/exec1/picos/ec2.conf,ec2,topo://container:exec1/pico:ec2) Multiple entries, select one: (1) topo://container:main1/pico:ec2 (2) topo://container:exec1/pico:ec2 [1] :
Edit the configuration and save. The mzsh command
topo activate
will be called with the--verbose
option and the saved changes are displayed in a scripted syntax.
Method 3
As an alternative to the command line tool, you can manage pico configurations and start/stop pico instances from the System Administration GUI. For further information, see Managing Picos in Desktop.
Activation and Validation
When you use the mzsh commands topo
set
or topo open
, changes are automatically validated before they are copied to the active registry. If the command and its arguments can be parsed but fails the validation, you can update the configuration or use a reset command to undo the changes.
You can disable the validation by using the option --no-activation
. Changes performed by the mzsh topo
will then remain in the master registry until you submit a separate activate command.
$ mzsh topo set --no-activation
Hint! The options Example output from activation with verbose option: You can then restore the master registry with the the command Restart the picos to apply the changes. Caution! Changes to the STR are not applied on running pico instances or services. For instance, if you have updated the properties of the Platform and an EC, both must be restarted after activation. Example of how to use mzsh shutdown and startup is done to apply changes after an mzsh topo activate of ec5:--dry-run
and --verbose
are useful to learn the mzsh topo
syntax. When you have edited the configuration manually, use the following command, to view the corresponding edits in a scripted syntax:$ mzsh topo activate --dry-run --verbose
$ mzsh topo activate -v --dry-run
mzsh topo set topo://container:main1/pico:ec1/val:config.properties.ec.httpd.port 9096 # (was: 9092)
Dry-run: Validation successful
Dry-run: Stopping without performing activation
Dry-run: Active registry not changed
mzsh topo reset
.$ mzsh shutdown ec5
$ mzsh startup ec5
Note!
The sorting and layout of the configuration files may change when it is updated both using manual editing and the commands. That means that the exact ordering of keys, and layout of the file could change. However: this will not affect how the system interprets the configuration at runtime. It is not supported to edit the configuration files using command line utilities (such as sed or awk), all scripted changes must be done via the mzsh topo command, to minimize the risk of invalid assumptions regarding the exact layout of the configuration files.
For further information about the various sub-commands that are available in the mzsh topo
command, see topo.
For further information about how to manage pico- and service configurations, see Managing Picos with Topo and Managing Service Configurations.