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
/externalip6
grains (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: []