From 577725c510158203f6090a4c75b7353d0ee926d5 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 6 Nov 2024 13:44:56 +0100 Subject: [PATCH 1/3] Add files via upload Signed-off-by: 1000TurquoisePogs --- Launcher.svg | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Launcher.svg 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 From 32003b3de3abc5c8a9a64eb0952dbcc167fd8688 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 6 Nov 2024 13:48:43 +0100 Subject: [PATCH 2/3] Update README.md Signed-off-by: 1000TurquoisePogs --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7dfe0fd..4f07bc4 100644 --- a/README.md +++ b/README.md @@ -70,4 +70,12 @@ F ZWELNCH,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 + +## 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) From 100421d4bb2d2b91c18981e94e19ba6408a68f73 Mon Sep 17 00:00:00 2001 From: Martin Zeithaml Date: Fri, 8 Nov 2024 12:54:29 +0100 Subject: [PATCH 3/3] Minor changes Signed-off-by: Martin Zeithaml --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 4f07bc4..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,28 +49,28 @@ 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 +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