f4a2332d48
This forces basic auth to be used. Using the normal HTTPPasswordMgrWithDefaultRealm
password manager from urllib2 fails since collins doesn't send a 401 retry on failure.
More about this can be seen here http://stackoverflow.com/questions/2407126/python-urllib2-basic-auth-problem.
I added a small comment about the format of the host so others don't waste time like i did.
(cherry picked from commit 21813ed83e
)
57 lines
2 KiB
INI
57 lines
2 KiB
INI
# Ansible Collins external inventory script settings
|
|
#
|
|
|
|
[collins]
|
|
|
|
# You should not have a trailing slash or collins
|
|
# will not properly match the URI
|
|
host = http://localhost:9000
|
|
|
|
username = blake
|
|
password = admin:first
|
|
|
|
# Specifies a timeout for all HTTP requests to Collins.
|
|
timeout_secs = 120
|
|
|
|
# Specifies a maximum number of retries per Collins request.
|
|
max_retries = 5
|
|
|
|
# Specifies the number of results to return per paginated query as specified in
|
|
# the Pagination section of the Collins API docs:
|
|
# http://tumblr.github.io/collins/api.html
|
|
results_per_query = 100
|
|
|
|
# Specifies the Collins asset type which will be queried for; most typically
|
|
# you'll want to leave this at the default of SERVER_NODE.
|
|
asset_type = SERVER_NODE
|
|
|
|
# Collins assets can optionally be assigned hostnames; this option will preference
|
|
# the selection of an asset's hostname over an IP address as the primary identifier
|
|
# in the Ansible inventory. Typically, this value should be set to true if assets
|
|
# are assigned hostnames.
|
|
prefer_hostnames = true
|
|
|
|
# Within Collins, assets can be granted multiple IP addresses; this configuration
|
|
# value specifies the index within the 'ADDRESSES' array as returned by the
|
|
# following API endpoint:
|
|
# http://tumblr.github.io/collins/api.html#api-ipam-asset-addresses-section
|
|
ip_address_index = 0
|
|
|
|
# Sets whether Collins instances in multiple datacenters will be queried.
|
|
query_remote_dcs = false
|
|
|
|
# API calls to Collins can involve large, substantial queries. For this reason,
|
|
# we cache the results of an API call. Set this to the path you want cache files
|
|
# to be written to. Two files will be written to this directory:
|
|
# - ansible-collins.cache
|
|
# - ansible-collins.index
|
|
cache_path = /tmp
|
|
|
|
# If errors occur while querying inventory, logging messages will be written
|
|
# to a logfile in the specified directory:
|
|
# - ansible-collins.log
|
|
log_path = /tmp
|
|
|
|
# The number of seconds that a cache file is considered valid. After this many
|
|
# seconds, a new API call will be made, and the cache file will be updated.
|
|
cache_max_age = 600
|