Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

versw(3) [osf1 man page]

versw(3)						     Library Functions Manual							  versw(3)

NAME
versw, VERSW - Check the status of an operating system version switch on a single cluster member to determine whether the calling applica- tion can enable new features that are incompatible with the old version of the operating system LIBRARY
Standard C Library (libc.so, libc.a) SYNOPSIS
#include <sys/versw.h> #include <sys/clu.h> int VERSW(); int versw ( ulong high_vers, ulong low_vers ); PARAMETERS
Most significant ulong of new version ID. Least significant ulong of new version ID. DESCRIPTION
The VERSW() macro and versw() function check the status of a version switch on a single cluster member to determine whether the calling application can enable new features that are incompatible with the old version of the operating system. Applications can use the VERSW() macro to enable new features on cluster members participating in a rolling upgrade. The versw() function examines the versw_transition attribute of the generic subsystem of the member's /etc/sysconfigtab file and compares the specified high_vers and low_vers parameters to the new version of the running kernel. It then compares these parameters to the active version of the running kernel. The VERSW() macro provides a wrapper for the versw() function. Because the VERSW() macro automatically extracts the high and low version values from /usr/sys/conf/version.id, we recommend that you use it rather than call the versw() function directly. RETURN VALUES
Upon completion, the VERSW() macro and versw() function return one of the following values: A version switch is in progress and the speci- fied new version is greater than the active version of the running kernel. The calling application should disable new, incompatible fea- tures and respond to all requests for such features with an error condition. A version switch is in progess and the specified new version is less than or equal to new version of the running kernel, or a version switch is not in progress and the specified new version is less than or equal to the active version of the running kernel. The application can safely enable, and entertain requests for, all new features. A version switch is in progress and the specified new version is greater than the active version of the running kernel. The application should disable new, incompatible features. Although the application should respond to all requests for such features originating on the local member with an error condition, it should be prepared to handle requests for new, incompatible features originating from other clus- ter members with grace and elan. EXAMPLES
#include <stdio.h> #include <sys/versw.h> #include <sys/clu.h> main() { if(VERSW() == VERSW_ENABLE) printf("Enable new features "); else printf("Disable new features "); endif } FILES
Rolling upgrade blocking conditions directory. Version switch header file. High and low version values used by VERSW() macro. RELATED INFORMATION
Functions: clu_is_member(3), clu_get_info(3) Commands: versw(8) delim off versw(3)

Check Out this Related Man Page

versw(8)						      System Manager's Manual							  versw(8)

NAME
versw - Manages the transition from the active version of the operating system to a new version SYNOPSIS
/usr/sbin/versw [option...] OPTIONS
Checks whether a version switch is pending. The versw utility returns a 1 if a version switch is pending (the active and new versions dif- fer), a 0 if a version switch is not pending (the active and new versions are the same). Sets the versw_transition attribute in the generic kernel subsystem of the member-specific /etc/sysconfigtab file to 0 (zero). Prints the old (previously active), active, and new version IDs, the version transition state, and the version switch state. If a version switch is in progress, the version switch state is the member ID of the cluster member running the versw utility plus 100. Otherwise, the version switch state is 0. Unconditionally sets the active version ID to the new version ID in the generic kernel subsystem of the member-specific /etc/sysconfigtab file and in the member's running kernel. Specifies a directory path to an alternative /etc/sysconfigtab file. By default, the member-specific /etc/sysconfigtab file is used. Sets the new version ID in the generic kernel subsystem of the member-specific /etc/sysconfigtab file and in the running kernel. The installation of the Tru64 UNIX operating system and the cluster software automatically sets these values. Sets the versw_tran- sition attribute in the generic kernel subsystem of the member-specific /etc/sysconfigtab file to 1. When run with the -switch option, the versw utility automatically sets this attribute. Attempts to set the active version ID to the new version ID on a standalone system or on all currently active cluster members. When you install Tru64 UNIX on a standalone system, the installation procedure concludes by using a versw -switch command to set the active version to the new version. When you complete a cluster rolling upgrade, by issuing a clu_upgrade -switch, clu_upgrade automatically issues the versw -switch command to set the active and new versions consistently on all cluster members. Checks the return value from the versw() function. See versw(3) for a description of this function. DESCRIPTION
The versw utility manages the transition from the active version of the operating system to a new version. You must be root to use this utility. The active and new operating system versions are recorded in the act_vers and new_vers attributes, respectively, in the generic kernel sub- system of the /etc/sysconfigtab file (or each member's /etc/sysconfigtab file in a cluster). When you install a new version of the Tru64 UNIX operating system or cluster software, the installation procedure automatically issues the versw -setnew command to establish the new version ID in the /etc/sysconfigtab file and in the running kernel. At installation time, the new version ID must always be higher than the active version ID. When installation completes on a standalone system, the active and new versions will be identical. When you install Tru64 UNIX on a stand- alone system, the installation procedure concludes by using a versw -switch command to set the active version to the new version. During a rolling upgrade of a cluster, the active and new versions will not be the same on each cluster member until the rolling upgrade completes. When you conclude the rolling upgrade, by issuing the clu_upgrade -switch command, clu_upgrade automatically issues the versw -switch command to set the active and new versions equal on all cluster members. After all cluster members have been rebooted with the new active version, all features of the new operating system and cluster software are enabled across all cluster members. When called by the clu_upgrade -switch command in a cluster, the versw utility performs the following operations: Compares the active and new version IDs in each member's running kernel. If new versions of the operating system and cluster software have been installed, the new version ID will be higher than the active version ID. If the IDs are identical or the new version ID is less than that of the active ver- sion, the utility issues a warning and exits. Checks that each member's /etc/sysconfigtab file is accessible. If not, the utility issues a warning and exits. Checks that all members have booted with the new version. If not, the utility issues a warning and you must either reboot the members or run versw -forcesw to continue. Use the clu_get_info command to determine which systems are running at or below their installed version. Checks for blocking conditions. If any exist, the the versw utility prints an error message and exits. If the new soft- ware has introduced a change or enhancement that is incompatible with the active version, the component sets up a condition that blocks the rolling upgrade. Such incompatibilities usually involve changes to configuration files, on-disk structures, or local or remote interface protocols. Operating system components establish a blocking condition by placing files in the /var/adm/versw directory. These text files provide instructions for manually restoring compatibility between installed and new versions: for instance, by editing a configuration file or running a data conversion script. You must follow the directions in these files to proceed with the upgrade. Moving these files to another directory removes the blocking condition. Determines whether all running members are capable of the switch this member is propos- ing. If not, it displays an error and exits. Sets the versw_transition attribute in the generic kernel subsystem in each member's /etc/sysconfigtab file (and in each member's running kernel) to 1. Requests that the connection manager stop new members from joining the cluster until the completion of the version switch. Sets the active version to the new version in the generic kernel subsystem of each cluster member's /etc/sysconfigtab file. Note that, if a member goes down during this stage, the versw utility exits with an error message. All running members clear their versw_transition attributes and restore their /etc/sysconfigtab copies. Sets the versw_transition attribute in the generic kernel subsubsystem of each member's /etc/sysconfigtab file to 0. Sends a clusterwide clu.versw EVM event to sig- nify that the version switch was successful. EXAMPLE
The following example shows how a script might use the versw -check command to enable new features on a cluster member that has completed a version switch: #!/usr/bin/ksh -p # Script example usage of versw command switch # if versw -check ; then echo "Enable new version features" else echo "Disable new version features" fi The following command shows the output of the versw -dump command on a cluster that has completed a roll: # versw -dump Old version = ( 0 , 0 ) Active version = ( 14000800009a1700 , 3b88 ) New version = ( 14000800009a1700 , 3b88 ) Version transition state = 0 Version switch state = 0 FILES
Specifies the command path. Configurable subsystem definition database file, as specified to the -mount option of the versw utility. By default, the /etc/sysconfigtab file is used. In a cluster, /etc/sysconfigtab is a context-dependent symbolic link (CDSL) that references the sysconfigtab file for a member. Rolling upgrade blocking conditions directory. SEE ALSO
Functions: versw(3), clu_is_member(3), clu_get_info(3) versw(8)
Man Page