- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- RX2800 - Clean shutdown of OpenVMS when power butt...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 02:37 AM - edited 12-12-2011 04:50 AM
12-12-2011 02:37 AM - edited 12-12-2011 04:50 AM
RX2800 - Clean shutdown of OpenVMS when power button tapped.
Hi Folks,
On the RX2800 (OpenVMS 8-4 fully patched), tapping the power button (assuming the system is running) results in a clean shutdown of OpenVMS. Does anyone know if this can be tapped into so that a clean application shutdown could be done as well?
cheers
Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 05:07 AM
12-12-2011 05:07 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 05:15 AM
12-12-2011 05:15 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Hi Steven,
I did, but I couldn't see any evidence of it being called as part of the shutdown procedure invked when the power button was pressed.
I'm going to keep digging but was was wondering if someone else has tried this.
cheers
Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 05:32 AM
12-12-2011 05:32 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 05:43 AM
12-12-2011 05:43 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
AFAIK, the front power button does not call the OpenVMS shutdown routines.
I'd expect the front-panel power button powers off the box. Hard.
VMS itself is fairly tolerant of a hard shutdown (and which is related to why its I/O processing tends to be much slower than other operating systems), but various applications may not be quite so tolerant.
If there were a front-power shutdown event arriving at OpenVMS, then that processing would call SHUTDOWN or analogous, and that would call SYSHUTDWN and related, and you'd have already found evidence of that invocation in the operator logs (eg: the usual OPCOM chatter during a controlled shutdown) and the accounting data, among other places. Or there'd be documentation in parallel to the existing SHUTDOWN documentation for this path. There'd be some information around this shutdown sequencing somewhere in the docs. Or in the HP IA64 Core Hardware Monitor (Events) or WBEM documentation. Or in the recent Power Management documentation, or near the CPU_POWER_MGMT/CPU_POWER_THRSH parameters.
And there isn't.
Googling the core manuals for "SYSHUTDWN", "button" or analogous finds nothing. (Well, a few references and a doc bug or two, but nothing about a controlled front-panel-initiated server shutdown.)
If you want the official answer here of course, please ring up the HP support center and ask.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 05:57 AM - edited 12-12-2011 06:00 AM
12-12-2011 05:57 AM - edited 12-12-2011 06:00 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Hi Hoff,
From what I've seen it looks as though the SMHANDLER process gets the message that the power button has been pressed and released (a single tap) and issues the shutdown command. The logs certainly support this.
The gracefull shutdown is described here. (bottom of page 85). As stated in the manual anything less than 4 seconds triggers a clean (graceful) shutdown. I'm just curiious as to whether nor not I can easily tap into this.
cheers
Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 07:08 AM - edited 12-12-2011 07:08 AM
12-12-2011 07:08 AM - edited 12-12-2011 07:08 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Call HP support, and ask for the official answer.
I'd expect that a "normal" SHUTDOWN.COM shutdown sequence (only on V8.3-1H1 MANAGE V2.0 and later) would invoke SYSHUTDWN_0010.COM and would then invoke SYSHUTDWN.COM as part of its normal processing, or that there'd be OpenVMS documentation around that documented the variant shutdown path processing for the front-panel button.
It would not surprise me to learn that the cited soft power-off text in that rx2800 manual refers to Microsoft Windows and to operating systems that have implemented the feature; that the hardware team's "aspirational" support for this feature within the operating systems was what was documented there. Not, um, reality.
(And while I have a test server available, I don't have an rx2800 available for "target practice" testing.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 07:36 AM
12-12-2011 07:36 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Brian,
according to the OpenVMS Alpha sources listings (module [SMDRIVER]SMHANDLER), the following shutdown command would be issued from routine shutdown_system:
@SYS$SYSTEM:SHUTDOWN 2 YES NO LATER NO POWER_OFF
This command has parameters P4 and P5 in the wrong order ! P4 should be "YES" for invocation of SYSHUTDWN.COM and P5 should be "LATER". And "POWER_OFF" should be P7, i.e. P6 is missing at all (should be "NO" for no automatic reboot).
You should maybe search in your copy of SYS$SYSTEM:SYS$SMHANDLER.EXE for the SHUTDOWN command parameters used in your OpenVMS version.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 08:03 AM
12-12-2011 08:03 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Hi Volker,
I'd already tried that, I can see the error messages the process outputs when it detects the event but I can't see the construction of the command line.
This is the start of what I get in the log
SYS$SYSROOT:[SYSMGR]SYS$SMHANDLER.LOG;52
$ Set NoOn
$ VERIFY = F$VERIFY(F$TRNLNM("SYLOGIN_VERIFY"))
12-DEC-2011 11:59:58.30 %SMHANDLER-S-STARTUP, server management event handler st
artup
12-DEC-2011 11:59:58.30 ASTs queued, waiting for event....
12-DEC-2011 12:00:36.59 *** In Fatal AST routine
12-DEC-2011 12:00:36.59 Event Mask = 40000
12-DEC-2011 12:00:36.59 Starting system shutdown....
12-DEC-2011 12:00:36.59 lib$spawn status = 1
12-DEC-2011 12:00:36.59 AST routine complete...
SHUTDOWN -- Perform an Orderly System Shutdown
on node CATA1
%SHUTDOWN-I-OPERATOR, this terminal is now an operator's console
So its doing a spawn, I may have a look at SHUTDOWN.COM and verify what is being passed.
cheers
Brian.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 08:08 AM
12-12-2011 08:08 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
That SHUTDOWN command will probably also malfunction if/when the SHUTDOWN$MINIMUM_MINUTES logical name is defined.
>You should maybe search in your copy of SYS$SYSTEM:SYS$SMHANDLER.EXE for the SHUTDOWN command parameters used in your OpenVMS version.
Use the strings tool.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 08:27 AM
12-12-2011 08:27 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Brian,
just add a couple of SHOW SYMB P1 up to SHOW SYMB P7 into the beginning of SYS$SYSTEM:SHUTDOWN.COM and press the Power button again...
Or $ DEFINE/SYSTEM SHUTDOWN$VERIFY TRUE
The actual shutdown command and parameters strings are nearly impossible to find in SYS$SMHANDLER.EXE
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 01:07 PM
12-12-2011 01:07 PM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Brian,
You've discovered the weakest part of OpenVMS - shutdown and startup. For most folk the time between startups and shutdowns is measured in years, so startups almost never get debugged properly. Looks like you've found a rather basic typo in this new feature (that no one else has ever heard of?)
First step, report the bug to HP, including a reference to this thread. Chances are they will refuse to fix it, claiming that "some people may be dependent on the bug" - these days most of the "engineering" done is in manufacturing excuses to not fix things that are clearly and unarguably bugs.
Since the buggy line is inside an image, the best way to get around it is to make your own SHUTDOWN.COM. Make a copy of the original, calling it REAL_SHUTDOWN.COM and write your own SYS$COMMON:[SYSEXE]SHUTDOWN.COM
Two approaches, first is to unconditionally shutdown your application and pass the parameters to the real routine. For example
SYS$COMMON:[SYSEXE]SHUTDOWN.COM $ real=F$PARSE("REAL_SHUTDOWN",";",F$ENVIRONMENT("PROCEDURE")) $ @dev:[dir]MY_APPLICATION_CLEAN_SHUTDOWN $ @'real' "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p7'" "''p8'"
Another is to recognise the buggy parameter list and correct it in line. Any other set of parameters is passed through directly. For example: (assuming you agree with Volker's parameters):
SYS$COMMON:[SYSEXE]SHUTDOWN.COM $ real=F$PARSE("REAL_SHUTDOWN",";",F$ENVIRONMENT("PROCEDURE")) $ IF p1.EQS.2.AND.p2.EQS."YES".AND.p3.EQS."NO".AND.p4.EQS."LATER".AND.p5.EQS."NO".AND.p6.EQS."POWER_OFF" $ THEN $ @'real' 2 YES NO YES LATER NO POWER_OFF $ ELSE $ @'real' "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p7'" "''p8'" $ ENDIF
Add your application shutdown to SYSHUTDWN.COM
You'll need to remember to save and restore your customised version of SHUTDOWN.COM when the system is upgraded or patched.
The first approach means you can be sure your application will be shutdown REGARDLESS of parameters. This may make sense in your case. The second means that if HP pulls their finger out and fixes the bug, all you need do is restore the default SHUTDOWN.COM.
Good Luck!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2011 02:19 PM - edited 12-12-2011 02:20 PM
12-12-2011 02:19 PM - edited 12-12-2011 02:20 PM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
>Since the buggy line is inside an image, the best way to get around it is to make your own SHUTDOWN.COM. Make a copy of the original, calling it REAL_SHUTDOWN.COM and write your own SYS$COMMON:[SYSEXE]SHUTDOWN.COM
Another option: patch the image to invoke something called DOWNSHUT.COM or such, fix the parameter settings in your DOWNSHUT.COM, and invoke the real SHUTDOWN.COM from there. Keeping the same number of characters in the name makes the patch (far) easier.
If you're so included, use xxd, find and wack the string, xxd back, check the file attributes, and Bob's Your Uncle.
Or PATCH /ABSOLUTE works.
There's very little (no?) documentation on this button-based power shutdown feature anywhere obvious in the VMS manuals, so whether this is even considered supported could be open to discussion.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-13-2011 02:50 AM
12-13-2011 02:50 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Hmmm, I'm not sure there is a bug, or at least not in the IA64 version of OpenVMS. The parameters geting passed through to SHUTDOWN.COM are:
1 0
2 %SMHANDLER-I-SHUTDOWN, HP Integrated Lights Out, shutdown activated
3 YES
4 NO
5 LATER
6 NO
7 POWER_OFF
8
Which looks to be valid. So tweaking SHUTDOWN.COM to trigger a specific site shutdown if the P2 parameter contains the text "HP Integrated Lights Out " would be a quick solution. A bit of a hack though.
So, are there any clues on how the SMHANDLER communicates with the ILO? Pity there isn't an interface akin to $SET_SYSTEM_EVENT.
I have suggested to the Office of OpenVMS Programs that it may be useful to allow the users to hook into this method of doing a system shutdown.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-13-2011 03:09 AM - edited 12-13-2011 03:09 AM
12-13-2011 03:09 AM - edited 12-13-2011 03:09 AM
Re: RX2800 - Clean shutdown of OpenVMS when power button tapped.
Brian,
thanks for providing this information. This indicates, that the parameters of the shutdown invocation (inside SYS$SMHANDLER.EXE) have been fixed in one of the recent versions of OpenVMS (my example was from V7.3-1).
P4 is still NO, which means SYSHUTDWN.COM will not be executed.
As mentioned by Hoff, your (V8.4) SHUTDOWN.COM should be calling SYSHUTDWN_0010.COM, that would be a supported way to attempt to modify the shutdown behaviour.
SYS$SMHANDLER will assign a channel to SMA0: and queue an IO$_ACPCONTROL read with an AST. The AST will fire, after SMDRIVER receives an 'environmental interrupt'.
Volker.