zowe / zowe-install-packaging

Packaging repository for the Zowe install scripts and files
Eclipse Public License 2.0
26 stars 52 forks source link

Remove node usage in startup when using configmgr #3756

Closed 1000TurquoisePogs closed 2 months ago

1000TurquoisePogs commented 3 months ago

This PR should allow users to start up zowe without having nodejs as long as they aren't using app-server.

This PR does not help you install zowe without nodejs. That's instead something you can do with https://github.com/zowe/zowe-install-packaging/pull/3718

While investigating the code, I realized that the actions of config-converter aren't difficult to replicate in plain JS in the same function we were calling it.

There are 3 things it appears to provide:

So since configmgr already transforms the yaml into json, some deep object merges can replace this behavior.

Then with the former config-converter code removed, I checked for remaining uses of node and saw that several other node-based functions were unused in our codebase so they can safely be removed.

TESTING: check the contents of workspace/.env before-after this PR. If you do a diff to compare the old and new json, you will notice 2 things: 1) items are reordered. this is fine.

github-actions[bot] commented 3 months ago

PAX build 4727 FAILED. Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8250641999

github-actions[bot] commented 3 months ago

PAX build 4737 SUCCEEDED. Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8265153779

github-actions[bot] commented 3 months ago

Test workflow 4117 is started. Running install test: Convenience Pax The zowe artifact being used by this test workflow: libs-snapshot-local/org/zowe/2.15.1-PR-3756/zowe-2.15.1-pr-3756-4737-20240313131133.pax Running on machine: zzow06 Result: SUCCESS Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8265255171

github-actions[bot] commented 3 months ago

build 4913 SUCCEEDED. Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8470313309

github-actions[bot] commented 3 months ago

Test workflow 4233 is started. Running install test: Convenience Pax The zowe artifact being used by this test workflow: libs-snapshot-local/org/zowe/2.15.1-PR-3756/zowe-2.15.1-pr-3756-4913-20240328162226.pax Running on machine: zzow06 Result: SUCCESS Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8470443919

Martin-Zeithaml commented 3 months ago

Test

1) No node in user's profile 2) No node in yaml file 3) App-server disabled

$ echo $NODE_HOME

$ cat 3756.yaml | grep -i node

$ cat 3756.yaml | grep -C 1 -i server

  app-server:
    enabled: false

$ zwe start -c 3756.yaml
Temporary directory '/tmp/.zweenv-5074' created.
Zowe will remove it on success, but if zwe exits with a non-zero code manual cleanup would be needed.
===============================================================================
>> STARTING ZOWE

-------------------------------------------------------------------------------
>> Job ZWE8SV is started successfully.

Temporary directory /tmp/.zweenv-5074 removed successfully.
github-actions[bot] commented 2 months ago

build 4972 SUCCEEDED. Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8602058276

github-actions[bot] commented 2 months ago

Test workflow 4268 is started. Running install test: Convenience Pax The zowe artifact being used by this test workflow: libs-snapshot-local/org/zowe/2.15.1-PR-3756/zowe-2.15.1-pr-3756-4972-20240408145049.pax Running on machine: zzow08 Result: SUCCESS Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/8602191299