mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #37472 from sjorge/2016.3-solaris-grains
2016.3 solaris grains improvements
This commit is contained in:
commit
9426b9d5c4
1 changed files with 32 additions and 6 deletions
|
@ -1425,9 +1425,17 @@ def os_data():
|
|||
grains['os_family'] = 'Solaris'
|
||||
if salt.utils.is_smartos():
|
||||
# See https://github.com/joyent/smartos-live/issues/224
|
||||
uname_v = os.uname()[3]
|
||||
uname_v = os.uname()[3] # format: joyent_20161101T004406Z
|
||||
uname_v = uname_v[uname_v.index('_')+1:]
|
||||
grains['os'] = grains['osfullname'] = 'SmartOS'
|
||||
grains['osrelease'] = uname_v[uname_v.index('_')+1:]
|
||||
# store a parsed version of YYYY.MM.DD as osrelease
|
||||
grains['osrelease'] = ".".join([
|
||||
uname_v.split('T')[0][0:4],
|
||||
uname_v.split('T')[0][4:6],
|
||||
uname_v.split('T')[0][6:8],
|
||||
])
|
||||
# store a untouched copy of the timestamp in osrelease_stamp
|
||||
grains['osrelease_stamp'] = uname_v
|
||||
if salt.utils.is_smartos_globalzone():
|
||||
grains.update(_smartos_computenode_data())
|
||||
elif os.path.isfile('/etc/release'):
|
||||
|
@ -1435,10 +1443,10 @@ def os_data():
|
|||
rel_data = fp_.read()
|
||||
try:
|
||||
release_re = re.compile(
|
||||
r'((?:Open)?Solaris|OpenIndiana) (Development)?'
|
||||
r'\s*(\d+ \d+\/\d+|oi_\S+|snv_\S+)?'
|
||||
r'((?:Open|Oracle )?Solaris|OpenIndiana|OmniOS) (Development)?'
|
||||
r'\s*(\d+\.?\d*|v\d+)\s?[A-Z]*\s?(r\d+|\d+\/\d+|oi_\S+|snv_\S+)?'
|
||||
)
|
||||
osname, development, osrelease = \
|
||||
osname, development, osmajorrelease, osminorrelease = \
|
||||
release_re.search(rel_data).groups()
|
||||
except AttributeError:
|
||||
# Set a blank osrelease grain and fallback to 'Solaris'
|
||||
|
@ -1448,8 +1456,26 @@ def os_data():
|
|||
else:
|
||||
if development is not None:
|
||||
osname = ' '.join((osname, development))
|
||||
uname_v = os.uname()[3]
|
||||
grains['os'] = grains['osfullname'] = osname
|
||||
grains['osrelease'] = osrelease
|
||||
if osname in ['Oracle Solaris'] and uname_v.startswith(osmajorrelease):
|
||||
# Oracla Solars 11 and up have minor version in uname
|
||||
grains['osrelease'] = uname_v
|
||||
elif osname in ['OmniOS']:
|
||||
# OmniOS
|
||||
osrelease = []
|
||||
osrelease.append(osmajorrelease[1:])
|
||||
osrelease.append(osminorrelease[1:])
|
||||
grains['osrelease'] = ".".join(osrelease)
|
||||
grains['osrelease_stamp'] = uname_v
|
||||
else:
|
||||
# Sun Solaris 10 and earlier/comparable
|
||||
osrelease = []
|
||||
osrelease.append(osmajorrelease)
|
||||
if osminorrelease:
|
||||
osrelease.append(osminorrelease)
|
||||
grains['osrelease'] = ".".join(osrelease)
|
||||
grains['osrelease_stamp'] = uname_v
|
||||
|
||||
grains.update(_sunos_cpudata())
|
||||
elif grains['kernel'] == 'VMkernel':
|
||||
|
|
Loading…
Add table
Reference in a new issue