Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use better identifier names for ZOWESVR address spaces #385

Closed
Joe-Winchester opened this issue Feb 25, 2019 · 5 comments
Closed

Use better identifier names for ZOWESVR address spaces #385

Joe-Winchester opened this issue Feb 25, 2019 · 5 comments
Labels
Cupids Work for the Install and Package rework enhancement New feature or request
Milestone

Comments

@Joe-Winchester
Copy link
Member

Joe-Winchester commented Feb 25, 2019

Problem:
The Zowe address spaces are given default names,e.g.
ZOWESVR1 through ZOWESVR9.
This makes it difficult to identify which address space is associated with which USS process

Solution:
Use _BPX_JOBNAME environment variable in the .sh scripts that bring up the various Zowe components.

Note: Before the job name can be changed, the invoker must have appropriate privileges. The privileges include either superuser authority or READ permission to BPX.JOBNAME FACILITY class profile. The invoker must also be running in a space created by the fork callable services. Otherwise _BPX_JOBNAME is ignored.

For this we would want IZUSVR to have READ permission to the BPX.JOBNAME FACILITY class so the install script and verify script should check this.

Detail.
Choose two character IDs for each address space, and limit the ZOWESVR PROCLIB name to be 6 characters
(or we could limit the proclib to be 5 chars and use 3 for the address space, e.g. ZWESVnnn)
For a 6 char example we could choose ZOWESVR becomes ZOWESV

Gateway suffix AG, so the address space is ZOWESVAG
API Discovery AD address space is ZOWESVRAD
API Catalog AC address space is ZOWESVRAC
MVD Desktop MV address space is ZOWESVMV
ZSS Server ZS address space is ZOWESVZS

Explorer MVS API AM - ZOWESVAM
Explorer JES API AJ - ZOWESVAJ
Explorer USS UI IU - ZOWESVIU
Explorer JES UI IJ - ZOWESVIJ
Explorer MVS UI IM - ZOWESVIM

@MarkAckert MarkAckert added this to the Backlog milestone Feb 27, 2019
@MarkAckert
Copy link
Member

Hi Joe, I'm putting this in the Backlog (No Date) as implementation details may change based on the Architectural review of install/configure/deploy/upgrade processes.

@MarkAckert MarkAckert added enhancement New feature or request install labels Feb 27, 2019
@plavjanik
Copy link
Contributor

@vvvlc has started prototyping for this in current Zowe. It would make sense to use the same suffix/IDs as in message codes (https://github.com/zowe/zlc/blob/master/process/messageManagement.md) and log messages (zowe/zac#90).

@vvvlc
Copy link
Contributor

vvvlc commented Apr 25, 2019

Example of reasonable jobnames (see jobname column of SYSVIEW DA screen)

Actions

cd `dirname $0`/../../zlux-app-server/bin && ./nodeServer.sh --allowInvalidTLSProxy=true &
`dirname $0`/../../api-mediation/scripts/api-mediation-start-discovery.sh
`dirname $0`/../../api-mediation/scripts/api-mediation-start-catalog.sh
`dirname $0`/../../api-mediation/scripts/api-mediation-start-gateway.sh
`dirname $0`/../../explorer-jobs-api/scripts/jobs-api-server-start.sh
`dirname $0`/../../explorer-data-sets-api/scripts/data-sets-api-server-start.sh
`dirname $0`/../../jes_explorer/scripts/start-explorer-jes-ui-server.sh
`dirname $0`/../../mvs_explorer/scripts/start-explorer-mvs-ui-server.sh
`dirname $0`/../../uss_explorer/scripts/start-explorer-uss-ui-server.sh

there is another file zlux-app-server/bin/nodeCluster.sh (https://github.com/zowe/zlux-app-server/blob/master/bin/nodeCluster.sh#L142) that is not a part of run-zowe.sh

Examples how to introduce _BPX_JOBNAME in shell scripts (for example: https://github.com/zowe/api-layer/blob/master/zowe-install/src/main/resources/scripts/api-mediation-start-catalog-template.sh)
Add _BPX_JOBNAME=ZOWEMLC in front of java or node

  • node
    _BPX_JOBNAME=ZOWEZAC node --harmony zluxCluster.js --config=../deploy/instance/ZLUX/serverConfig/zluxserver.json "$@" 2>&1 | tee $ZLUX_NODE_LOG_FILE
    or
    _BPX_JOBNAME=ZOWEJES $NODE_BIN $SERVER_DIR/src/index.js -C config.json -v
  • java
# Variables to be replaced:
# - JAVA_SETUP -- sets JAVA_HOME by ZOWE_JAVA_HOME
# - IPADDRESS   -  The IP Address of the system running API Mediation
# - HOSTNAME   -  The hostname of the system running API Mediation (defaults to localhost)
# - DISCOVERY_PORT - The port the discovery service will use
# - CATALOG_PORT - The port the catalog service will use
# - GATEWAY_PORT - The port the gateway service will use
# - VERIFY_CERTIFICATES - true/false - Validation of TLS/SSL certitificates for services

export JAVA_HOME=/usr/lpp/java/J8.0_64
if [[ ":$PATH:" == *":$JAVA_HOME/bin:"* ]]; then
  echo "ZOWE_JAVA_HOME already exists on the PATH"
else
  echo "Appending ZOWE_JAVA_HOME/bin to the PATH..."
  export PATH=$PATH:$JAVA_HOME/bin
  echo "Done."
fi

DIR=`dirname $0`

_BPX_JOBNAME=ZOWEMLC java -Xms16m -Xmx512m -Dibm.serversocket.recover=true -Dfile.encoding=UTF-8 \
    -Djava.io.tmpdir=/tmp -Xquickstart -Denvironment.hostname=USILCA31.lvn.broadcom.net -Denvironment.port=60552  \
    -Denvironment.discoveryLocations=https://USILCA31.lvn.broadcom.net:60553/eureka/ -Denvironment.ipAddress=10.175.84.31 \
    -Denvironment.preferIpAddress=true -Denvironment.gatewayHostname=USILCA31.lvn.broadcom.net \
    -Denvironment.eurekaUserId=eureka \
    -Denvironment.eurekaPassword=password \
    -Dapiml.security.zosmfServiceId=zosmf \
    -Dapiml.security.verifySslCertificatesOfServices=false \
    -Dspring.profiles.include= \
    -Dserver.address=0.0.0.0 \
    -Dserver.ssl.enabled=true \
    -Dserver.ssl.keyStore=$DIR/../keystore/localhost/localhost.keystore.p12 \
    -Dserver.ssl.keyStoreType=PKCS12 \
    -Dserver.ssl.keyStorePassword=password \
    -Dserver.ssl.keyAlias=localhost \
    -Dserver.ssl.keyPassword=password \
    -Dserver.ssl.trustStore=$DIR/../keystore/localhost/localhost.truststore.p12 \
    -Dserver.ssl.trustStoreType=PKCS12 \
    -Dserver.ssl.trustStorePassword=password \
    -Djava.protocol.handler.pkgs=com.ibm.crypto.provider \
    -jar $DIR/../api-catalog-services.jar &

@Joe-Winchester Joe-Winchester added Cupids Work for the Install and Package rework and removed install labels Apr 25, 2019
@plavjanik
Copy link
Contributor

Format: pfxCssN
Example: ZOWEAGW1

Components of the format:

  • pfx - prefix up to four characters (e.g. ZOWE)
  • C - component character (same as for message IDs)
    • A - API Mediation Layer
      • GW - API Gateway
      • DS - Discovery Service
      • AC - API Catalog
    • C - Zowe CLI
    • D - Zowe Desktop
      • S - Zowe Application Server
    • E - Zowe Explorer
      • AJ
      • AD
      • UJ
      • UD
      • UU
    • S - Zowe System Services
    • Z - ZSS process
    • X - Cross memory server
  • ss - subcomponent (1 or 2 characters)
  • N - instance number (only 1 right now)

Use the prefix for the main started task + number

If the prefix is ZOWE:

  • ZOWE1
  • ZOWEAGW1
  • ZOWEADS1
  • ZOWEAAC1
  • ZOWEDS1
  • ZOWEEAJ1
  • ZOWEEAD1
  • ZOWEEUJ1
  • ZOWEEUD1
  • ZOWEEUU1
  • ZOWESZ1
  • ZOWESX1

@plavjanik
Copy link
Contributor

ps -A -o jobname,comm | grep ZOWES0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cupids Work for the Install and Package rework enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants