PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/nodegroups.py |
""" Nodegroups Pillar ================= Introspection: to which nodegroups does my minion belong? Provides a pillar with the default name of `nodegroups` which contains a list of nodegroups which match for a given minion. .. versionadded:: 2016.11.0 Command Line ------------ .. code-block:: bash salt-call pillar.get nodegroups local: - class_infra - colo_sj - state_active - country_US - type_saltmaster Configuring Nodegroups Pillar ----------------------------- .. code-block:: yaml extension_modules: /srv/salt/ext ext_pillar: - nodegroups: pillar_name: 'nodegroups' """ # Import futures from salt.utils.minions import CkMinions __version__ = "0.0.2" def ext_pillar(minion_id, pillar, pillar_name=None): """ A salt external pillar which provides the list of nodegroups of which the minion is a member. :param minion_id: used for compound matching nodegroups :param pillar: provided by salt, but not used by nodegroups ext_pillar :param pillar_name: optional name to use for the pillar, defaults to 'nodegroups' :return: a dictionary which is included by the salt master in the pillars returned to the minion """ pillar_name = pillar_name or "nodegroups" all_nodegroups = __opts__["nodegroups"] nodegroups_minion_is_in = [] ckminions = None for nodegroup_name in all_nodegroups.keys(): ckminions = ckminions or CkMinions(__opts__) _res = ckminions.check_minions(all_nodegroups[nodegroup_name], "compound") match = _res["minions"] if minion_id in match: nodegroups_minion_is_in.append(nodegroup_name) return {pillar_name: nodegroups_minion_is_in}