spiro-ip
Warning
This has been deprecated in favor of spiro-network.
spiro-network contains all equivalant functionality.
A quick and simple module to get information about the various IPs of your salt minions.
This is meant to be installed on minions.
Installation
On minions, run pip install spiro-ip
Or, as a state:
{% if grains['pythonversion'][0] == 2 %}
{% set pipbin = "/usr/bin/pip2" %}
{% else %}
{% set pipbin = "/usr/bin/pip3" %}
{% endif %}
spiro-ip:
pip.installed:
- bin_env: {{pipbin}}
Interface
A number of things are provided:
Grains
externalip4,externalip6: Queries external services for your IP, useful if the minion is behind a NAT or other complex network
Modules
-
ip.addrs4,ip.addrs6: Collates information about a minion's IP address from several sources.network.ipaddrs/network.ipaddrs6- AWS metadata (if you've set
metadata_server_grains: True, see the metadata grain) externalip4/externalip6grains (above)
Configuration
No configuration is required. However, as mentioned above, it might be useful to
set metadata_server_grains: True.
You may find it useful to set ip.addrs4 / ip.addrs6 as mine_functions so
that minions can get each other's IP address. Example:
mine_functions:
ip.addrs4: []
ip.addrs6: []