TOC PREV NEXT INDEX

Put your logo here!


3 UNDERSTANDING ENVIRONMENTS

3.1 Types of Environments

The VLTSW is based on the concept of environments where processes can run and exchange messages with other processes, either in the same environment or in a remote environment, on the same machine or in other machines.

Environment can be:

CCS environment (on WS)
based on an RTAP environment, providing database and communication facilities (q-server), and used to build WS applications. There can be one or more such environments per WS.
CCS-Lite (or QSEMU) environment (on WS)
a limited environment used when no RTAP is installed (CCS-Lite). The present version provides both database and communication facilities.
LCC environment (on LCU)
provides database and communication facilities (lcu-Qserver) to build WS applications. Maximum one environment per LCU. There can be one or more such environments per WS

An environment is uniquely identified by the environment name. Remember that environment names are limited to 7 chars and the first letter is mandatory "w" for WS and "l" for LCU.

REMARK: Real VLT environment names must follows the conventions defined by the applicable version of "VLT LAN's Specification". In the following example generic names are used.

3.2 Tools to Manage Environments

The following WS-based tools are available for the user:

· vccEnv* - a set of commands to deal with all types of environments (see 8.1)
· vccEnv - a panel that allows interactive use of the vccEnv* commands (see 4)
· vccConfigLcu - a panel specifically intended for configuration of LCU environments (see 5)

Their usage is described by examples in the next sections.

3.3 Operations on Environments

The provided tools implement some standard operations on environments.

The diagram shows which operations are defined. They exist for each type of environment, although the underlying steps are type-dependent: .

The following examples will explain the meaning of the operations for each environment type.

In order to execute the examples, please first start the vccEnv panel from the command line. Refer to chapter 4 for full instructions.

3.4 To Setup an RTAP Environment

The following steps demonstrate the possible actions with an RTAP environment named wtest, and assigned to host te49.

· Create the environment:
Enter wtest as environment-name and press <Return>.
Then press the Create action-button.
Executing: vccEnvCreate -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvCreate: copy standard template to "te49:/vlt/data/ENVIRONMENTS/wtest" ...
vccEnvCreate: make database from "te49:/vlt/data/ENVIRONMENTS/wtest/dbl" ...
vccEnvCreate: make env. directory world writable ...

Application-specific databases must be added manually in the dbl subdirectory now, inclusive the make db. Alternatively, a template can be specified in the panel before Create, which then overrides the defaults, see chapter 4.

· Configure the environment:
At this point the environment usually needs to be further configured for your specific case, e.g. the RtapEnvTable must be modified to add more application processes. Do do this, press the Config action-button to start Rtap's configuration facilities, or edit the file $VLTDATA/ENVIRONMENTS/wtest/RtapEnvTable.normal directly.
Note that RtapEnvTable.normal will be copied to RtapEnvTable during the Init operation.

· Initialize the environment:
Press the Init action-button and confirm the dialog.
Executing: vccEnvInit -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

RTAP/Plus Copyright (c) Hewlett-Packard (Canada) Ltd. 1988-1994
All rights reserved.
Real-Time Applications Platform (RTAP/Plus) release A.06.60

vccEnvInit: create empty database in "te49:/vlt/data/ENVIRONMENTS/wtest" ...
vccEnvInit: load database from DB branch ...
vccEnvInit: restore normal RtapEnvTable ...

· Check the environment before start:
Press the Check action-button. All checks should be OK until the sequence comes to processes, which are not running at this point.
Executing: vccEnvCheck -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvCheck: locate environment directory "te49:/vlt/data/ENVIRONMENTS/wtest" ...
vccEnvCheck: locate wtest in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate wtest in /usr/rtap/etc/RtapEnvList ...
vccEnvCheck: send PING command to cmdManager ...
vccEnvCheck@te49: Error: failed to send PING command to cmdManager:

---------------- Error Structure ----------------
Time Stamp : 96-06-10 13:31:58.419563
Process Number : 66 Process Name : msgSend
Environment : wtest StackId : 2 Sequence : 4
Error Number : 24 Severity : W
Module : ccs Location : ccsInit.c
Error Text : ccsERR_ENV_NOT_ACTIVE : Environment wtest not active

child process exited abnormally
vccEnvCheck: FAILED.

· Start the environment:
Press the Start action-button.
Executing: vccEnvStart -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvStart: store log in "/vlt/data/ENVIRONMENTS/wtest/.RtapScheduler.log" ...
vccEnvStart: run RtapScheduler in background ...

· Check the environment after start:
Press the Check action-button a second time. Now all checks should be OK.
Executing: vccEnvCheck -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvCheck: locate environment directory "te49:/vlt/data/ENVIRONMENTS/wtest" ...
vccEnvCheck: locate wtest in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate wtest in /usr/rtap/etc/RtapEnvList ...
vccEnvCheck: send PING command to cmdManager ...
vccEnvCheck: send PING command to logManager ...
vccEnvCheck: send PING command to msgServer ...

· Stop the environment:
Press the Stop action-button.
Executing: vccEnvStop -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvStop: update snapshots with RtapForceSnap ...
vccEnvStop: stop wtest with RtapShutdown ...

· Delete the environment:
Press the Delete action-button and confirm the dialog.
Executing: vccEnvDelete -e wtest -t RTAP -h te49 -d $VLTDATA/ENVIRONMENTS/wtest

vccEnvDelete@te49: Warning: failed to unprotect environment files under \
"te49:/vlt/data/ENVIRONMENTS/wtest":
chmod: can't change .licensed: Not owner
vccEnvDelete: locate environment directory "te49:/vlt/data/ENVIRONMENTS/wtest" ...
vccEnvDelete: unprotect environment files under "te49:/vlt/data/ENVIRONMENTS/wtest"
vccEnvDelete: delete environment files under "te49:/vlt/data/ENVIRONMENTS/wtest"

3.5 To Setup a QSEMU (CCS-Lite) Environment

The following steps demonstrate the possible actions with a QSEMU environment named wtestqs, running on host te49.

· Create the environment:
Enter wte49qs as environment-name and press <Return>. Then press the Create action-button.
Executing: vccEnvCreate -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j
vccEnvCreate: copy standard template to "te49:/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvCreate: locate environment directory "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvCreate: make database from "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs/dbl" ...
vccEnvCreate: make env. directory world writable ...xecuting: vccEnvCreate -e wtestqs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wtestqs

· Check the environment before start:
Press the Check action-button. All checks should be OK until the sequence comes to processes, which are not running at this point.
Executing: vccEnvCheck -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j

vccEnvCheck: locate environment directory "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvCheck: locate wte49qs in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate wte49qs in /vlt/data/config/CcsEnvList ...
vccEnvCheck: send PING command to cmdManager ...
vccEnvCheck@te49: Error: failed to send PING command to cmdManager:

---------------- Error Structure ----------------
Time Stamp : 98-11-02 11:45:01.888001
Process Number : 74 Process Name : msgSend
Environment : wte49qs StackId : 2 Sequence : 2
Error Number : 24 Severity : W
Module : ccs Location : ccsInit.c
Error Text : ccsERR_ENV_NOT_ACTIVE : Environment wte49qs not active

child process exited abnormally
vccEnvCheck: FAILED.

· Start the environment:
Press the Start action-button.
Executing: vccEnvStart -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j

vccEnvStart: store log in "/diska/vlt/data/ENVIRONMENTS/wte49qs/.ccsScheduler.log" ...
vccEnvStart: run ccsScheduler in background ...
vccEnvStart: verify start-up log /diska/vlt/data/ENVIRONMENTS/wte49qs/.ccsScheduler.log ...
vccEnvStart: register to wte49qs and verify database access ...

· Check the environment after start:
Press the Check action-button a second time. Now all checks should be OK.
Executing: vccEnvCheck -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j

vccEnvCheck: locate environment directory "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvCheck: locate wte49qs in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate wte49qs in /vlt/data/config/CcsEnvList ...
vccEnvCheck: send PING command to cmdManager ...
vccEnvCheck: send PING command to logManager ...
vccEnvCheck: send PING command to msgServer ...

· Stop the environment:
Press the Stop action-button.
Executing: vccEnvStop -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j

vccEnvStop: update snapshots with dbForceSnap ...
vccEnvStop: stop wte49qs with ccsShutdown ...

· Delete the environment:
Press the Delete action-button and confirm the dialog.
Executing: vccEnvDelete -e wte49qs -t QSEMU -h te49 -d $VLTDATA/ENVIRONMENTS/wte49qs -s `' -l `' -w `wte49qs' -m `minimum' -j

vccEnvDelete: locate environment directory "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvDelete: unprotect environment files under "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...
vccEnvDelete: delete environment files under "te49:/diska/vlt/data/ENVIRONMENTS/wte49qs" ...

3.6 To Setup an LCU Environment

The following steps demonstrate the possible actions with an LCU environment named ltest, which is assigned to the LCU-node te41 and shall boot from wtest.

· Create the environment:
Enter ltest as environment-name and press <Return>. Adjust the fields LCU-host and Boot-Env in the LCU Options and select Maximum for module-configuration. Then press the Create action-button.
Executing: vccEnvCreate -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-s `' -l `te41' -w `wtest' -m `maximum'

vccEnvCreate@te49: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvCreate@te49: Error: failed to generate bootScript using: maximum:
VccInfo: no valid result from query: GetByEnv ltest {hostName tcpPort}
vccEnvCreate: copy standard template to "te49:/vlt/data/ENVIRONMENTS/ltest" ...
vccEnvCreate: make database from "te49:/vlt/data/ENVIRONMENTS/ltest/dbl" ...
vccEnvCreate: make env. directory world writable ...
vccEnvCreate: generate bootScript using: maximum ...
vccEnvCreate: FAILED.
In this example no VCCDB is used, therefore some values could not be queried, and the procedure failed to create a fully configured bootScript. In such a case, all missing configuration parameters must be added manually in the next step. Otherwise further configuration is optional.
Application-specific databases must be added manually in the dbl subdirectory now, inclusive the make db. Alternatively, a template can be specified in the panel before Create, which then overrides the defaults, see chapter 4.
· Configure the environment:
We assume now that the previous step failed (partly) due to the missing VCCDB.
Press the Config action-button to start vccConfigLcu (see chapter 5). Enter ltest again and press <Return>, then enter all missing parameters in order.
The module configuration can now be adjusted according to your specific case.
Finally press the Write Files button to regenerate the target files.
· Initialize the environment:
Press the Init action-button and confirm the dialog.
Executing: vccEnvInit -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest -l `te41'

vccEnvInit@te49: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvInit: execute bootChange sequence on LCU te41 and reboot ...

· Check the environment before start:
Press the Check action-button. All checks should be OK until the sequence comes to processes, which are not running at this point.
Executing: vccEnvCheck -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-l `te41' -w `wtest'

vccEnvCheck: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvCheck: locate environment directory "te49:/vlt/data/ENVIRONMENTS/ltest" ...
vccEnvCheck: locate ltest in /etc/services ...
vccEnvCheck: locate wtest in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate te41 in /etc/hosts ...
vccEnvCheck: locate te41 in /etc/exports ...
vccEnvCheck: locate ltest in /vlt/data/config/logLCU.config ...
vccEnvCheck: locate wtest in /vlt/data/config/logLCU.config ...
vccEnvCheck: send PING command to inducerServer ...
vccEnvCheck@te49: Error: failed to send PING command to inducerServer:

---------------- Error Structure ----------------
Time Stamp : 96-06-10 14:47:14.101329
Process Number : 66 Process Name : msgSend
Environment : wtest StackId : 2094 Sequence : 2
Error Number : 24 Severity : W
Module : msg Location : msgSetFilter.c
Error Text : ccsERR_ENV_NOT_ACTIVE : Environment ltest not active

child process exited abnormally
vccEnvCheck: FAILED.

· Start the environment:
Adjust the timeout scales in the LCU Options according to the estimated values (the default settings will usually be sufficient for standard database and module configuration). Then press the Start action-button. After a few seconds a pop-up window appears that displays the output during the reboot of the LCU.
Executing: vccEnvStart -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-l `te41' -w `wtest'

vccEnvStart@te49: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvStart: reboot LCU te41 with VxWorks only ...
vccEnvStart: install bootScript in boot-line on LCU te41 ...
vccEnvStart: store boot output in "/vlt/data/ENVIRONMENTS/ltest/.reboot.log" ...
vccEnvStart: execute bootScript on LCU te41 (timeout: 300 s) ...

· Check the environment after start:
Press the Check action-button a second time. Now all checks should be OK.
Executing: vccEnvCheck -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-l `te41' -w `wtest'

vccEnvCheck@te49: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvCheck: locate environment directory "te49:/vlt/data/ENVIRONMENTS/ltest" ...
vccEnvCheck: locate ltest in /etc/services ...
vccEnvCheck: locate wtest in /etc/services ...
vccEnvCheck: locate te49 in /etc/hosts ...
vccEnvCheck: locate te41 in /etc/hosts ...
vccEnvCheck: locate te41 in /etc/exports ...
vccEnvCheck: locate ltest in /vlt/data/config/logLCU.config ...
vccEnvCheck: locate wtest in /vlt/data/config/logLCU.config ...
vccEnvCheck: send PING command to inducerServer ...
vccEnvCheck: send PING command to lccServer ...
vccEnvCheck: send PING command to msgServer ...
vccEnvCheck: send PING command to rdbServer ...

· Stop the environment:
Press the Stop action-button. After that the LCU will no longer be accessible via message system.
Executing: vccEnvStop -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-l `te41' -w `wtest'

vccEnvStop@te49: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvStop: uninstall bootScript and reboot te41 with VxWorks only ...

· Delete the environment:
Press the Delete action-button and confirm the dialog.
Executing: vccEnvDelete -e ltest -t LCU -h te49 -d $VLTDATA/ENVIRONMENTS/ltest \
-l `te41' -w `wtest' -m `maximum' -j

vccEnvDelete: Warning: VccInfo: no valid result from query: GetByEnv wtest hostName
vccEnvDelete: locate environment directory "te49:/vlt/data/ENVIRONMENTS/ltest" ...
vccEnvDelete: unprotect environment files under "te49:/vlt/data/ENVIRONMENTS/ltest" ..
vccEnvDelete: delete environment files under "te49:/vlt/data/ENVIRONMENTS/ltest" ...

3.7 To Create an Environment Off-Line

In special cases it is necessary to create the enviornment files on a different (off-line) machine, and move the files later to their final target. The vccEnvCreate program supports that by means of the `-d' option. The operation is only possible from the command line, not from the vccEnv panel. In this example the enviornment lt0hb is actually assigned to wt0tcs, but created on te67:

> vccEnvCreate -e lt0hb -d te67:
Warning: Files are created on te67, but only operational when moved to wt0tcs!
vccEnvCreate: copy standard template to "te67:/vlt/data/ENVIRONMENTS/lt0hb" ...
vccEnvCreate: locate environment directory "te67:/diskb/vlt/data/ENVIRONMENTS/lt0hb"
vccEnvCreate: generate bootScript using configuration-set: minimum ...
vccEnvCreate: generate bootChange sequence scripts ...
vccEnvCreate: make database from "te67:/diskb/vlt/data/ENVIRONMENTS/lt0hb/dbl" ...

Similar off-line operation is possible with vccEnvDelete, but not with the other vccEnv* programs.



Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX