diff --git a/Launcher.svg b/Launcher.svg new file mode 100644 index 0000000..6eed12c --- /dev/null +++ b/Launcher.svg @@ -0,0 +1,4 @@ + + + +
Start ZWESLSTC
https://github.com/zowe/launcher

EXEC ZWELNCH
(Launcher, C)
https://github.com/zowe/launcher

Config Valid
Config
Invalid
Load config from 
configmgr C library
Prepare workspace directory
Determine which components to start
Find "enabled: true" components in YAML
No
Yes
Does component 
manifest.yaml have 
start script?
Ignore
Add to list
Prepare 
has error
Prepare all Zowe components for startup via
Run configmgr JS script
"zwe internal start prepare"

https://github.com/zowe/zowe-install-packaging
Quit
Quit
For each startable component
Run configmgr JS script
"zwe internal start"

https://github.com/zowe/zowe-install-packaging

For each startable component
Run configmgr JS script
"zwe internal start"

https://github.com/zowe/zowe-install-packaging

For each startable component
Run configmgr JS script
"zwe internal start"

https://github.com/zowe/zowe-install-packaging

Monitor Unix process
Yes
No
Does STDOUT
Have message included in
zowe.sysMessages?
Print truncated line to syslog
Print to SYSPRINT DD
Yes
No
Did process end?
Yes
No
Restart allowed
by config?
Wait n Seconds to avoid restart loops
Clean
Abend
Clean or abend?
Component remains stopped
No
Yes
Launcher
STOP
Requested
Stop each component
Then Launcher
Print error,
Component remains stopped
C: Blue
JS: Green
\ No newline at end of file diff --git a/README.md b/README.md index 7dfe0fd..749e9b4 100644 --- a/README.md +++ b/README.md @@ -11,16 +11,16 @@ Copyright Contributors to the Zowe Project. The Zowe launcher is a part of the Zowe server architecture that was added as an optional program for HA/FT usage in v1. In v2, the Zowe laucher became the sole way to start the Zowe servers. The launcher's purpose is to start, restart, and stop each Zowe server component which has a `start` command, -And in doing so it watches over such components for health (restarting them if they crash) and log management. +and in doing so it watches over such components for health (restarting them if they crash) and log management. ## Current features * Stopping Zowe using the conventional `P` operator command -* Ability to handle modify commands +* Ability to handle `MODIFY` commands * Stopping and starting specific Zowe components without restarting the entire Zowe ## Future features * Issuing WTOs indicating the start and termination of specific components (this should simplify the integration with z/OS automation) -* Passing modify commands to Zowe components +* Passing `MODIFY` commands to Zowe components * Clean termination of the components in case if the launcher gets cancelled ## Building @@ -49,25 +49,33 @@ The launcher binary will be saved into the bin directory. * To start the launcher use the `S` operator command: ``` -S ZWELNCH +S ZWESLSTC ``` * To stop use the `P` operator command: ``` -P ZWELNCH +P ZWESLSTC ``` -* To stop a specific component use the following modify command: +* To stop a specific component use the following `MODIFY` command: ``` -F ZWELNCH,APPL=STOP(component_name) +F ZWESLSTC,APPL=STOP(component_name) ``` -* To start a specific component use the following modify command: +* To start a specific component use the following `MODIFY` command: ``` -F ZWELNCH,APPL=START(component_name) +F ZWESLSTC,APPL=START(component_name) ``` -* To list the components use the following modify command: +* To list the components use the following `MODIFY` command: ``` -F ZWELNCH,APPL=DISP +F ZWESLSTC,APPL=DISP ``` ## Community -This part of Zowe is currently developed by the zOS squad, which you can find on Slack at #zowe-zos-interface or +This part of Zowe is currently developed by the zOS squad, which you can find on Slack at [#zowe-zos-interface](https://openmainframeproject.slack.com/archives/C034VLT3W2G). + +## Architecture + +The launcher is a z/OS program which utilizes [configmgr](https://github.com/zowe/zowe-common-c/blob/v3.x/staging/c/configmgr.c) to read the Zowe config in order to determine which components to start, and then prepares Zowe to run, starts the components, and manages their unix processes. + +It's behavior is summarized in this flow chart diagram. + +![Launcher flow chart](./Launcher.svg)