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.

Difference between revisions of "HOWTO05 How to publish the OS name"

From EGIWiki
Jump to navigation Jump to search
(Add Fedora 20 to table.)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template: Op menubar}}
{{Template: Op menubar}}
{{Template:Doc_menubar}}
{{Template:Doc_menubar}}
[[Category:Operations Manuals]]
[[Category:Operations Manuals]]
{{TOC_right}}
{{TOC_right}}


= How to publish the OS name =
= How to publish the OS name (Draft) =
== Policy ==
== Policy ==
It has been decided that the 3 fields <font face="Courier New,Courier">GlueHostOperatingSystemName</font>, <font face="Courier New,Courier">GlueHostOperatingSystemRelease</font>, <font face="Courier New,Courier">GlueHostOperatingSystemVersion</font> should be parsed from the output of <font face="Courier New,Courier">/usr/bin/lsb_release</font>
It has been decided that the 3 fields  


If you run Scientific Linux 3.0.3, things get unfriendly because this distro version doesn't make a clean output (everything is under "description". In this case, the best to do is to fill these attributes ''a la mano'' so that you get :
GlueHostOperatingSystemName
GlueHostOperatingSystemRelease
GlueHostOperatingSystemVersion


GlueHostOperatingSystemName : Scientific Linux
should be parsed from the output of <font face="Courier New,Courier">/usr/bin/lsb_release</font>, like this:
GlueHostOperatingSystemRelease : 3.0.5
GlueHostOperatingSystemVersion : SL
 
Otherwise, you should have :


  GlueHostOperatingSystemName : `lsb_release -i | cut -f2`
  GlueHostOperatingSystemName : `lsb_release -i | cut -f2`
Line 20: Line 19:
  GlueHostOperatingSystemVersion : `lsb_release -c | cut -f2`
  GlueHostOperatingSystemVersion : `lsb_release -c | cut -f2`


which has been tested on Debian, Scientific Linux 305, Fedora Core 4, Gentoo. It should work on every serious GNU/Linux distro :).
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.
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.
Line 30: Line 37:
* <font face="Courier New,Courier">CE_OS_RELEASE</font>
* <font face="Courier New,Courier">CE_OS_RELEASE</font>
* <font face="Courier New,Courier">CE_OS_VERSION</font>
* <font face="Courier New,Courier">CE_OS_VERSION</font>
'''Please note''' that the example <font face="Courier New,Courier">site-info.def</font> that ships with the latest YAIM version (<font face="Courier New,Courier">glite-yaim-3.0.0-12</font>) ''contains incorrect settings'':
CE_OS="Scientific Linux SL"
CE_OS_RELEASE="SL"
CE_OS_VERSION=3.0.5


A correct example is:
A correct example is:


  CE_OS="Scientific Linux"
  CE_OS="ScientificSL"
  CE_OS_RELEASE=3.0.5
  CE_OS_RELEASE=5.5
  CE_OS_VERSION="SL"
  CE_OS_VERSION="Boron"


== Results ==
== Results ==
Line 57: Line 58:
|-
|-
|CentOS 3.8 || Yes || CentOS || 3.8 || Final
|CentOS 3.8 || Yes || CentOS || 3.8 || Final
|-
|CentOS 4.2 || Yes || CentOS || 4.2 || Final
|-
|-
|CentOS 4.4 || Yes || CentOS || 4.4 || Final
|CentOS 4.4 || Yes || CentOS || 4.4 || Final
Line 81: Line 80:
|-
|-
|CentOS 5.5 || Yes || CentOS || 5.5 || Final
|CentOS 5.5 || Yes || CentOS || 5.5 || Final
|-
|Debian sarge || Yes || Debian || 3.1 || sarge
|-
|-
|Debian etch || Yes || Debian || 4.0 || etch
|Debian etch || Yes || Debian || 4.0 || etch
Line 89: Line 86:
|-
|-
|Gentoo 2006.0 || No || Gentoo || 2006.0 || n/a
|Gentoo 2006.0 || No || Gentoo || 2006.0 || n/a
|-
|RHEL AS3 Taroon Update 6 || Yes || RedHatEnterpriseAS || 3 || TaroonUpdate6
|-
|-
|RHEL AS4 Nahant Update 3 || Yes ||  RedHatEnterpriseAS || 4 || NahantUpdate3
|RHEL AS4 Nahant Update 3 || Yes ||  RedHatEnterpriseAS || 4 || NahantUpdate3
|-
|-
|RHEL 5.5 Tikanga || Yes || RedHatEnterpriseServer || 5.5 || Tikanga
|RHEL 5.5 Tikanga || Yes || RedHatEnterpriseServer || 5.5 || Tikanga
|-
|ScientificLinux 3.0.6 || Yes || Scientific Linux || 3.0.6 || SL
|-
|ScientificLinux 3.0.7 || ? || Scientific Linux || 3.0.7 || SL
|-
|ScientificLinux 3.0.8 || ? || Scientific Linux || 3.0.8 || SL
|-
|ScientificLinux 3.0.9 || ? || Scientific Linux || 3.0.9 || SL
|-
|ScientificLinux 4.2 || Yes || ScientificSL || 4.2 || Beryllium
|-
|ScientificLinux 4.3 || Yes || ScientificSL || 4.3 || Beryllium
|-
|-
|ScientificLinux 4.4 || Yes || ScientificSL || 4.4 || Beryllium
|ScientificLinux 4.4 || Yes || ScientificSL || 4.4 || Beryllium
Line 129: Line 112:
|-
|-
|ScientificLinux 5.5 || Yes || ScientificSL || 5.5 || 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 3.0.8 || No || Scientific Linux CERN || 3.0.8 || SL
|-
|ScientificLinuxCern 4.3 || Yes || ScientificCERNSLC || 4.3 || Beryllium
|-
|-
|ScientificLinuxCern 4.4 || Yes || ScientificCERNSLC || 4.4 || Beryllium
|ScientificLinuxCern 4.4 || Yes || ScientificCERNSLC || 4.4 || Beryllium
Line 151: Line 136:
|-
|-
|ScientificLinuxCern 5.5 || Yes || ScientificCERNSLC || 5.5 || 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.0 || Yes || ScientificSLF || 5.0 || Lederman
Line 179: Line 166:
|-
|-
|Windows XP || No || Microsoft WINDOWS || XP Professional || SP2
|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 notify [mailto:roc-dev@lists.grid.sinica.edu.tw roc-dev@lists.grid.sinica.edu.tw]
* GStat will use this list to check OS Name, so please add your OS and open a [https://ggus.eu/pages/home.php GGUS ticket].


== Matching to an Operating System in Your JDL ==
== Matching to an Operating System in Your JDL ==

Latest revision as of 10:27, 4 April 2014

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 ;