Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

HOWTO05 How to publish the OS name

From EGIWiki
(Redirected from HOWTO05)
Jump to navigation Jump to search
Main EGI.eu operations services Support Documentation Tools Activities Performance Technology Catch-all Services Resource Allocation Security


Documentation menu: Home Manuals Procedures Training Other Contact For: VO managers Administrators


How to publish the OS name (Draft)

Policy

It has been decided that the 3 fields

GlueHostOperatingSystemName
GlueHostOperatingSystemRelease
GlueHostOperatingSystemVersion 

should be parsed from the output of /usr/bin/lsb_release, like this:

GlueHostOperatingSystemName : `lsb_release -i | cut -f2`
GlueHostOperatingSystemRelease : `lsb_release -r | cut -f2`
GlueHostOperatingSystemVersion : `lsb_release -c | cut -f2`

yielding values like

GlueHostOperatingSystemName : ScientificSL
GlueHostOperatingSystemRelease : 5.5
GlueHostOperatingSystemVersion : Boron

This has been tested on various Linux flavors and should work on every serious GNU/Linux distro :).

For Scientific Linux 6 and 5.8 operating system : Use the value "ScientificSL" instead of the output of `lsb_release -i | cut -f2` ("Scientific")for CE_OS in siteinfo.def.

If you managed to run a middleware on other *NIX, *BSD, (or even on MS Windows ?), then feel free to provide any information you desire.

Setup with YAIM

Edit the site-info.def of your Computing Element, and correct these variables before running the configure_node script:

  • CE_OS
  • CE_OS_RELEASE
  • CE_OS_VERSION

A correct example is:

CE_OS="ScientificSL"
CE_OS_RELEASE=5.5
CE_OS_VERSION="Boron"

Results

For different operating systems please run the above commands and enter the values as returned. The lsb_release column indicates as to if lsb_release was used to give the values. If lsb_release is not available or returns complete rubbish then enter a sensible value indicating that lsb_release was not used. In particular the early Scientific Linux releases had a broken lsb_release which has been corrected in subsequent versions.

Operating System lsb_release used? SystemName SystemRelease SystemVersion
CentOS 3.5 Yes CentOS 3.5 Final
CentOS 3.6 Yes CentOS 3.6 Final
CentOS 3.7 Yes CentOS 3.7 Final
CentOS 3.8 Yes CentOS 3.8 Final
CentOS 4.4 Yes CentOS 4.4 Final
CentOS 4.5 Yes CentOS 4.5 Final
CentOS 4.6 Yes CentOS 4.6 Final
CentOS 4.7 Yes CentOS 4.7 Final
CentOS 4.8 Yes CentOS 4.8 Final
CentOS 5.0 Yes CentOS 5.0 Final
CentOS 5.1 Yes CentOS 5.1 Final
CentOS 5.2 Yes CentOS 5.2 Final
CentOS 5.3 Yes CentOS 5.3 Final
CentOS 5.4 Yes CentOS 5.4 Final
CentOS 5.5 Yes CentOS 5.5 Final
Debian etch Yes Debian 4.0 etch
Debian lenny Yes Debian 5.0.3 lenny
Gentoo 2006.0 No Gentoo 2006.0 n/a
RHEL AS4 Nahant Update 3 Yes RedHatEnterpriseAS 4 NahantUpdate3
RHEL 5.5 Tikanga Yes RedHatEnterpriseServer 5.5 Tikanga
ScientificLinux 4.4 Yes ScientificSL 4.4 Beryllium
ScientificLinux 4.5 Yes ScientificSL 4.5 Beryllium
ScientificLinux 4.6 Yes ScientificSL 4.6 Beryllium
ScientificLinux 4.7 Yes ScientificSL 4.7 Beryllium
Scientific Linux SL 4.8 Yes ScientificSL 4.8 Beryllium
ScientificLinux 5.0 Yes ScientificSL 5.0 Boron
ScientificLinux 5.1 Yes ScientificSL 5.1 Boron
ScientificLinux 5.2 Yes ScientificSL 5.2 Boron
ScientificLinux 5.3 Yes ScientificSL 5.3 Boron
ScientificLinux 5.4 Yes ScientificSL 5.4 Boron
ScientificLinux 5.5 Yes ScientificSL 5.5 Boron
ScientificLinux 5.8 No ScientificSL 5.8 Boron
ScientificLinux 6.* No ScientificSL 6.* Carbon
ScientificLinuxCern 3.0.8 No Scientific Linux CERN 3.0.8 SL
ScientificLinuxCern 4.4 Yes ScientificCERNSLC 4.4 Beryllium
ScientificLinuxCern 4.5 Yes ScientificCERNSLC 4.5 Beryllium
ScientificLinuxCern 4.6 Yes ScientificCERNSLC 4.6 Beryllium
ScientificLinuxCern 4.7 Yes ScientificCERNSLC 4.7 Beryllium
ScientificLinuxCern 4.8 Yes ScientificCERNSLC 4.8 Beryllium
ScientificLinuxCern 5.2 Yes ScientificCERNSLC 5.2 Boron
ScientificLinuxCern 5.3 Yes ScientificCERNSLC 5.3 Boron
ScientificLinuxCern 5.4 Yes ScientificCERNSLC 5.4 Boron
ScientificLinuxCern 5.5 Yes ScientificCERNSLC 5.5 Boron
ScientificLinuxCern 6.* No ScientificCERNSLC 6.* Carbon
ScientificLinuxFermi 5.0 Yes ScientificSLF 5.0 Lederman
ScientificLinuxFermi 5.1 Yes ScientificSLF 5.1 Lederman
ScientificLinuxFermi 5.2 Yes ScientificSLF 5.2 Lederman
ScientificLinuxFermi 5.3 Yes ScientificSLF 5.3 Lederman
Suse 9 Yes SUSE LINUX 9 n/a
Suse 9.3 Yes SUSE LINUX 9.3 n/a
SUSE Linux Enterprise Server 10 (ia64) Yes SUSE LINUX 10 n/a
openSuse 10.2 Yes SUSE LINUX 10.2 n/a
Ubuntu 5.10 Yes Ubuntu 5.10 breezy
Ubuntu 6.06 Yes Ubuntu 6.06 dapper
Ubuntu 8.04 Yes Ubuntu 8.04 hardy
Ubuntu 8.10 Yes Ubuntu 8.10 intrepid
AIX 5.2 No AIX 5.2 AIX
Windows XP No Microsoft WINDOWS XP Professional SP2
Fedora 20 Yes Fedora 20 Heisenbug
  • GStat will use this list to check OS Name, so please add your OS and open a GGUS ticket.

Matching to an Operating System in Your JDL

Microsoft Windows

Requirements = GlueHostOperatingSystemName == "Microsoft WINDOWS"  ;

AIX Unix

Requirements = GlueHostOperatingSystemName == "AIX" ;

RHEL 3 Binary Compatible with {edg|glite}-job-{wms}-{submit|list-match}

Requirements = (( other.GlueHostOperatingSystemName  == "CentOS" ||
                  other.GlueHostOperatingSystemName  == "RedHatEnterpriseAS"
                ) &&
                ( other.GlueHostOperatingSystemRelease >= 3.0 &&
                  other.GlueHostOperatingSystemRelease < 4.0
                )
               ) ||
               (( other.GlueHostOperatingSystemName  == "Scientific Linux" ||
                  other.GlueHostOperatingSystemName  == "Scientific Linux CERN"
                )
               ) ;

RHEL 4 Binary Compatible with {edg|glite}-job-{wms}-{submit|list-match}

Requirements = ( other.GlueHostOperatingSystemName  == "CentOS" ||
                 other.GlueHostOperatingSystemName  == "RedHatEnterpriseAS"  ||
                 other.GlueHostOperatingSystemName  == "ScientificSL" ||
                 other.GlueHostOperatingSystemName  == "ScientificCERNSLC"
               ) &&
               ( other.GlueHostOperatingSystemRelease >= 4.0 &&
                 other.GlueHostOperatingSystemRelease < 5.0
               ) ;

RHEL 3 Binary Compatible with gLite WMS >= 3.1 and glite-wms-job-{submit|list-match}

If you are using a newer gLite WMS then the following match is better in the sense it makes less assumptions about what is out there and it can be assigned to a variable which makes it easier to use. The previous two matches still work though.

RHEL3 = (( other.GlueHostOperatingSystemName  == "CentOS" ||
           other.GlueHostOperatingSystemName  == "RedHatEnterpriseAS"
         ) &&
         ( other.GlueHostOperatingSystemRelease >= 3.0 &&
           other.GlueHostOperatingSystemRelease < 4.0
         )
        ) ||
        (( other.GlueHostOperatingSystemName  == "Scientific Linux" ||
           other.GlueHostOperatingSystemName  == "Scientific Linux CERN"
         ) &&
         ( RegExp("3\.[0-9]\.[0-9]",other.GlueHostOperatingSystemRelease)
         )
        ) ;
Requirements = RHEL3 ;

RHEL 4 Binary Compatable with Glite WMS >= 3.1 and glite-wms-job-{submit|list-match}

If you are using a newer gLite WMS then the following match is better in the sense it makes less assumptions about what is out there and it can be assigned to a variable which makes it easier to use.

RHEL4 = (  other.GlueHostOperatingSystemName  == "CentOS" ||
           other.GlueHostOperatingSystemName  == "RedHatEnterpriseAS"  ||
           other.GlueHostOperatingSystemName  == "ScientificSL" ||
           other.GlueHostOperatingSystemName  == "ScientificCERNSLC"
        ) &&
        ( other.GlueHostOperatingSystemRelease >= 4.0 &&
          other.GlueHostOperatingSystemRelease < 5.0
        ) ;
Requirements = RHEL4 ;

or

SN    = other.GlueHostOperatingSystemName ;
SR    = other.GlueHostOperatingSystemRelease ;
RHEL4 = ( SN  == "CentOS" || SN == "RedHatEnterpriseAS"  ||
          SN  == "ScientificSL" || SN  == "ScientificCERNSLC"
        ) &&
        ( SR >= 4.0 && SR < 5.0
        ) ;
Requirements = RHEL4 ;