Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
TOC
TOC
Include Page
KBCOMMON:KB-CSSstyle
KBCOMMON:KB-CSSstyle

...

To be able to perform a clean shutdown of your Tru64 or OpenVMS virtual machine, you will have either to use the provided scripts (see above) or to add your own shutdown scripts.

...

MethodComments
expect

Requires you pass user and password to the script so that it can connect to the OPA0 console via "telnet" and execute the shutdown commands. The "guest_shutdown.exp" script, located in the /opt/charon/utils folder, can perform operations to:

  • log off a user connected on the console run the shutdown if the prompt is detected,
  • enter a username/password to login if "login:" or "usernameConsole Login:" is detected,
  • execute the shutdown command if the prompt is detected,
  • detect the SRM prompt (>>>) Main Menu or ISL prompt to issue the "power offexit" command (AXP) or send the F6 key (AXP & VAX) if enabled.

This method is useful if the virtual machine has no telnet connection available and cannot handle "rsh" and "ssh" remote connections. For more, please read Tips and Tricks - Shutdown guests with Expect tool.

Important notes:

  • For MPE/iX systems, this is the only available method. Username and password are then not necessary
  • Note any local existing connection to the console has to be killed before executing the expect script.
  • If the console is locked from an external connection or if the prompt is not detected after sending a carriage return, the expect script will fail.
rsh

Requires : a trust to be created between the Linux server and the

Tru64 or OpenVMS guest (proxy)

HP-UX guest to issue password free remote commands. For more, please read the Tips and Tricks chapter dedicated to rsh trusts.

  • if the virtual machine is running OpenVMS, the CHARON_SHUTDOWN.COM script, located in the /opt/charon/utils folder, has to be copied in the SYS$MANAGER folder on the OpenVMS machine.
  • ssh

    Requires : a secured trust to be created between the Linux server and the

    Tru64 or OpenVMS

    HP-UX guest (key pair) to issue password and passphrase free remote commands. For more, please read the Tips and Tricks chapter dedicated to ssh trusts

    .if the virtual machine is running OpenVMS, the CHARON_SHUTDOWN

    .

    COM script, located in the /opt/charon/utils folder, has to be copied in the SYS$MANAGER folder on the OpenVMS machine.


    Div
    classpagebreak



    Info
    titleNote for Red Hat Enterprise Linux/CentOS 7 and 8Shutdown timeout

    If your application and server need time to shutdown, it could be necessary to give more time in the service definition to prevent from the service stop procedure to fail due to timeout.

    To do so, open the "Manage 'systemd' services" option and edit the service configuration file. You can then add the TimeoutStopSec= parameter in the Service section. The default value is 20 minutes and can be changed in the preferences menu options.

    Example:

    [Service]
    ...
    TimeoutStopSec=3min

    (info) More information can be found using the "# man systemd.service" command on your Linux server

    Options

    Status
    colourRed
    titleTODO

    • Options 1 to 5 are explanations on how to setup and prepare the virtual machine and the Charon Linux server (if necessary) to use the three available methods. 
    • Option 6 edits the script. This script is in a form of "case in <configuration filename> do ..."
    • Option 7 is used to test the script. Use with caution on production machines.

    ...

    When the script is initialized using option 6 or when a new virtual machine is added, the following lines are added:

    ...

    # Parameter $1: contains full path to cfg file
    # Parameter $2: contains full path to emulator exe file
    #
    # Important notes:
    # - comments & commands must be on separate lines
    # - respect the structure of the file with case/in/esac
    # - only place your commands between the selection and the ';;' line
    #
    . /opt/charon/utils/charon_common
    #
    case "$1"
    in
      <configuration file>)
        #-- Uncomment and complete one of the following lines:
        #${CHARONDIR}/utils/charon_gstop_expect \$1 \$2 root <password> "<prompt>" <TRU64/VMS>
        #${CHARONDIR}/utils/charon_gstop_rsh \$1 \$2 <hostname> <TRU64/VMS>
        #${CHARONDIR}/utils/charon_gstop_ssh \$1 \$2 <hostname> <TRU64/VMS>
        #/<path>/<myscript>
        ;;

    ...

    esac

    One of the blue colored lines above has to be uncommented depending on the method chosen. Other lines can remain in the script or can be deleted.

    ...

    Div
    classpagebreak


    Example:

    #!/bin/sh
    #
    case "$1"
    in
      /charon/pluto.cfg)
        ssh -o ConnectTimeout=2 pluto5 "uptime|cut -f1 -d','" 2>/dev/null
        RETVAL=$?
        ;;
      *)
        echo "Invalid parameter '$1'"
        RETVAL=1
        ;;
    esac
    echo "==RETVAL=${RETVAL}=="
    exit ${RETVAL}

    ...