Skip to content

Conversation

@MarkAckert
Copy link
Member

@MarkAckert MarkAckert commented May 1, 2025

Addressing other node.js removal tasks as described in #3543. This PR is built on the JCL Init refactor to take advantage of improvements there and the zwe integration test framework.

Requires these 2 PRs to be merged:

As far as I know the below list is all remaining work to address node.js

Complete:

  • Removing fconv+njq by changing occurrences of read_yaml to read_yaml_configmgr. Note: later changed so all *_zowe_yaml_configmgr variants are instead *_zowe_yaml, replacing the old code paths completely.
  • Replacing config-converter by changing *_zowe_yaml functions in json.sh to *_zowe_yaml_configmgr variants.
  • Replacing two config-convert commands (convert and to-env) with configmgr variants
  • Replace ncert with enhancements to keyring-utility
  • zowe-install-packaging-tools no longer a binary dependency.
  • org.zopencommunity.curl introduced as a binary dependency.
  • Replace curl.js with pre-built zopentools port of curl.
  • Update test framework code to remove zowe-install-packaging-tools
  • Test changes end-to-end.
  • Remove many traces of require_node.
  • Support curl and yq transparently for container environments - no reliance on configmgr code.
  • z/OSMF curl checks now always run, since curl is always available.

In progress:

  • Validating replacements functionality incrementally.

To do:

  • Done!

Changed Behaviors:

  • zwe migrate for kubernetes outputs the zowe.yaml | block in the k8s ConfigMap without comments. In my mind, this is acceptable - users should not be extensively modifying this ConfigMap directly.
  • note: keyring-utilites was changed to support zwe's use cases. notably, the command syntax has changed and keyring private keys are output in .p12 format. see: Remove node-binding, enhance keyring-util, create github action keyring-utilities#13
  • note: ncert was being used to generate csr signed certs with wildcard SANs. Java 8 keytool did not support wildcards, but 17+ does, and we require 17 for v3. Therefore, we went back to using Java keytool completely instead of branching to ncert for wildcard SANs.
  • The config.ts:generateInstanceEnvFromYamlConfig method was updated so environment variables with spaces are surrounded by quotes.
    • Before: some_spaced_field=some spaced value
    • After: some_spaced_field="some spaced value"
  • The components.ts configmgr library was modified to lazily load config.
    • This changes where some log messages related to creating /tmp/zweenv-yyyy appear in the console output
    • This was necessary for updating zowe yaml regardless of validity. Ansible automation creates invalid zowe.yaml and runs sequential updates to fix it. The default components.ts load would always validate against schema and fail the update command, preventing the change that would fix the YAML.
  • The config.ts file was also modified to lazily load config (it checks for ZWE_CLI_PARAMETER_CONFIG env).
    • Necessary for same reasons above. If the ENV var is unset, it prints gibberish to the console, so we should replace std.out.printf anyway.

Other:

  • zwe install - noted as a medium priority in the issue, this looks complete between read_yaml_configmgr updates and zwe install in JCL #4282
  • Containers will require additional testing. Efforts were made to ensure compatibility remained in-place for them, however, the lack of test suites leaves room for errors to be introduced.

@MarkAckert MarkAckert changed the title Node Removal Tasks Node Removal Tasks - v3.x May 1, 2025
@github-actions
Copy link

github-actions bot commented May 1, 2025

build 7570 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14781219061

@github-actions
Copy link

github-actions bot commented May 1, 2025

build 7571 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14781263617

@github-actions
Copy link

github-actions bot commented May 1, 2025

build 7572 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14781366481

@github-actions
Copy link

github-actions bot commented May 6, 2025

build 7605 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14869508849

@github-actions
Copy link

github-actions bot commented May 7, 2025

build 7609 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14892463067

@github-actions
Copy link

github-actions bot commented May 8, 2025

build 7615 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/14915536895

@github-actions
Copy link

github-actions bot commented May 19, 2025

build 7677 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15121324021

@github-actions
Copy link

github-actions bot commented May 20, 2025

build 7698 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15144790386

@github-actions
Copy link

github-actions bot commented May 20, 2025

build 7699 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15146774259

@MarkAckert MarkAckert removed the Test: None Used in CI label May 20, 2025
@github-actions
Copy link

github-actions bot commented May 20, 2025

build 7700 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15146893915

@github-actions
Copy link

github-actions bot commented May 20, 2025

build 7701 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15146911181

@github-actions
Copy link

github-actions bot commented May 20, 2025

build 7702 FAILED.
Link to workflow run: https://github.com/zowe/zowe-install-packaging/actions/runs/15146992744

… is unset and app-server is disabled, zOSMF connectivity check always runs

Signed-off-by: MarkAckert <[email protected]>
Signed-off-by: MarkAckert <[email protected]>
@MarkAckert MarkAckert marked this pull request as ready for review October 31, 2025 14:27
@MarkAckert MarkAckert deployed to marist-zzow11 October 31, 2025 14:57 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD_Quiet Used by automation to disable cicd comments on PRs.

Projects

Status: No status
Status: No status

Development

Successfully merging this pull request may close these issues.

7 participants