ibm_zos_core icon indicating copy to clipboard operation
ibm_zos_core copied to clipboard

[Epic] [community] [code] enhance SSH connection for better z/OS compatibility

Open ketankelkar opened this issue 10 months ago • 0 comments

Currently, an Ansible user must set about 10 environment variables in order to target a z/OS managed node.

environment:
  _BPXK_AUTOCVT: "ON"
  _CEE_RUNOPTS: "FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)"
  _TAG_REDIR_ERR: "txt"
  _TAG_REDIR_IN: "txt"
  _TAG_REDIR_OUT: "txt"
  LANG: "C"

  LIBPATH: "{{ ZOAU }}/lib/:{{ PYZ }}/lib:/lib:/usr/lib:."
  PYTHONPATH: "{{ ZOAU }}/lib/{{ PYZ_VERSION }}"
  PATH: "{{ ZOAU }}/bin:{{ PYZ }}/bin:/bin:/usr/sbin:/var/bin:/usr/lpp/java/java180/J8.0_64/bin"

  PYTHONSTDINENCODING: "cp1047"

While some variables are necessary to configure based on target systems, eg: PATH, LIBPATH, PYTHONPATH based on where dependencies are located and installed on target systems, other variables have fairly consistent values across all z/OS systems:

_BPXK_AUTOCVT: "ON"
_CEE_RUNOPTS: "FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)"
_TAG_REDIR_ERR: "txt"
_TAG_REDIR_IN: "txt"
_TAG_REDIR_OUT: "txt"
LANG: "C"

This epic tracks the effort to change the community code such that certain environment variable values are pre-configured for the z/OS Ansible user "out-of-the-box".

Notice in the Ansible community src code - connection dir, there exist provisions for Windows OS (winrm and psrp) as well as for Python shell (paramiko). There may be a way to include customization for z/OS targets.

For additional context:

  • #1221

The items in this epic:

  • #1221
  • #1433
  • #1434
  • #1435
  • #1436
  • #1437

ketankelkar avatar Apr 06 '24 02:04 ketankelkar