Last active
July 9, 2019 07:37
-
-
Save sjorge/83715439ada78350aadf6c6f39b74aa3 to your computer and use it in GitHub Desktop.
salt.grains.smartos fixes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pkgin_repositories: | |
- https://pkgsrc.joyent.com/packages/SmartOS/2018Q1/tools/All | |
- http://pkg.blackdot.be/packages/2018Q1/tools/All | |
pkgsrcpath: | |
https://pkgsrc.joyent.com/packages/SmartOS/2018Q1/tools/All | |
pkgsrcversion: | |
2018Q1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- /opt/tools/lib/python2.7/site-packages/salt/grains/smartos.py Tue Jul 9 07:17:17 2019 | |
+++ /opt/tools/lib/python2.7/site-packages/salt/grains/smartos.py.fix Tue Jul 9 07:33:39 2019 | |
@@ -139,23 +139,24 @@ | |
'pkgsrcpath': 'Unknown', | |
} | |
- pkgsrcversion = re.compile('^release:\\s(.+)') | |
- if os.path.isfile('/etc/pkgsrc_version'): | |
- with salt.utils.files.fopen('/etc/pkgsrc_version', 'r') as fp_: | |
- for line in fp_: | |
- line = salt.utils.stringutils.to_unicode(line) | |
- match = pkgsrcversion.match(line) | |
- if match: | |
- grains['pkgsrcversion'] = match.group(1) | |
- | |
pkgsrcpath = re.compile('PKG_PATH=(.+)') | |
- if os.path.isfile('/opt/local/etc/pkg_install.conf'): | |
- with salt.utils.files.fopen('/opt/local/etc/pkg_install.conf', 'r') as fp_: | |
- for line in fp_: | |
- line = salt.utils.stringutils.to_unicode(line) | |
- match = pkgsrcpath.match(line) | |
- if match: | |
- grains['pkgsrcpath'] = match.group(1) | |
+ pkgsrcversion = re.compile('^https?:\/\/pkgsrc.joyent.com\/packages\/SmartOS\/(.+)\/(.+)\/All$') | |
+ pkg_install_paths = [ | |
+ '/opt/local/etc/pkg_install.conf', | |
+ '/opt/tools/etc/pkg_install.conf', | |
+ ] | |
+ for pkg_install in pkg_install_paths: | |
+ if os.path.isfile(pkg_install): | |
+ with salt.utils.files.fopen(pkg_install, 'r') as fp_: | |
+ for line in fp_: | |
+ line = salt.utils.stringutils.to_unicode(line) | |
+ match_pkgsrcpath = pkgsrcpath.match(line) | |
+ if match_pkgsrcpath: | |
+ grains['pkgsrcpath'] = match_pkgsrcpath.group(1) | |
+ match_pkgsrcversion = pkgsrcversion.match(match_pkgsrcpath.group(1)) | |
+ if match_pkgsrcversion: | |
+ grains['pkgsrcversion'] = match_pkgsrcversion.group(1) | |
+ break | |
return grains | |
@@ -172,12 +173,17 @@ | |
} | |
pkginrepo = re.compile('^(?:https|http|ftp|file)://.*$') | |
- if os.path.isfile('/opt/local/etc/pkgin/repositories.conf'): | |
- with salt.utils.files.fopen('/opt/local/etc/pkgin/repositories.conf', 'r') as fp_: | |
- for line in fp_: | |
- line = salt.utils.stringutils.to_unicode(line) | |
- if pkginrepo.match(line): | |
- grains['pkgin_repositories'].append(line) | |
+ repositories_path = [ | |
+ '/opt/local/etc/pkgin/repositories.conf', | |
+ '/opt/tools/etc/pkgin/repositories.conf', | |
+ ] | |
+ for repositories in repositories_path: | |
+ if os.path.isfile(repositories): | |
+ with salt.utils.files.fopen(repositories, 'r') as fp_: | |
+ for line in fp_: | |
+ line = salt.utils.stringutils.to_unicode(line) | |
+ if pkginrepo.match(line): | |
+ grains['pkgin_repositories'].append(line) | |
return grains | |
@@ -190,10 +196,10 @@ | |
if salt.utils.platform.is_smartos_zone(): | |
grains = salt.utils.dictupdate.update(grains, _smartos_zone_data(), merge_lists=True) | |
- grains = salt.utils.dictupdate.update(grains, _smartos_zone_pkgsrc_data(), merge_lists=True) | |
- grains = salt.utils.dictupdate.update(grains, _smartos_zone_pkgin_data(), merge_lists=True) | |
elif salt.utils.platform.is_smartos_globalzone(): | |
grains = salt.utils.dictupdate.update(grains, _smartos_computenode_data(), merge_lists=True) | |
+ grains = salt.utils.dictupdate.update(grains, _smartos_zone_pkgin_data(), merge_lists=True) | |
+ grains = salt.utils.dictupdate.update(grains, _smartos_zone_pkgsrc_data(), merge_lists=True) | |
return grains |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment