Support passing instance filters to tower inventory src

* Switch ignore ssl errors to default on
* Application inventory source defaults for Tower src
This commit is contained in:
Matthew Jones 2017-10-25 16:56:26 -04:00
parent 6c597ad165
commit fdc7f58bb4
No known key found for this signature in database
GPG Key ID: 76A4C17A97590C1C
5 changed files with 15 additions and 3 deletions

View File

@ -1092,7 +1092,7 @@ def tower(cls):
'env': {
'TOWER_HOSTNAME': '{{host}}',
'TOWER_USERNAME': '{{username}}',
'TOWER_PASSWORD': '{{password}}'
'TOWER_PASSWORD': '{{password}}',
}
},
)

View File

@ -1203,7 +1203,7 @@ class InventorySourceOptions(BaseModel):
raise ValidationError(_('Invalid filter expression: %(filter)s') %
{'filter': ', '.join(invalid_filters)})
return instance_filters
elif self.source == 'vmware':
elif self.source in ('vmware', 'tower'):
return instance_filters
else:
return ''

View File

@ -1912,6 +1912,8 @@ class RunInventoryUpdate(BaseTask):
for env_k in inventory_update.source_vars_dict:
if str(env_k) not in env and str(env_k) not in settings.INV_ENV_VARIABLE_BLACKLIST:
env[str(env_k)] = unicode(inventory_update.source_vars_dict[env_k])
elif inventory_update.source == 'tower':
env['TOWER_INVENTORY'] = inventory_update.instance_filters
elif inventory_update.source == 'file':
raise NotImplementedError('Cannot update file sources through the task system.')
# add private_data_files

View File

@ -54,7 +54,7 @@ def parse_configuration():
host_name = os.environ.get("TOWER_HOSTNAME", None)
username = os.environ.get("TOWER_USERNAME", None)
password = os.environ.get("TOWER_PASSWORD", None)
ignore_ssl = os.environ.get("TOWER_IGNORE_SSL", "0").lower() in ("1", "yes", "true")
ignore_ssl = os.environ.get("TOWER_IGNORE_SSL", "1").lower() in ("1", "yes", "true")
inventory = os.environ.get("TOWER_INVENTORY", None)
errors = []

View File

@ -832,6 +832,16 @@ OVIRT4_HOST_FILTER = r'^.+$'
OVIRT4_EXCLUDE_EMPTY_GROUPS = True
OVIRT4_INSTANCE_ID_VAR = 'id'
# ---------------------
# ----- Tower -----
# ---------------------
TOWER_ENABLED_VAR = 'status'
TOWER_ENABLED_VALUE = 'enabled'
TOWER_GROUP_FILTER = r'^.+$'
TOWER_HOST_FILTER = r'^.+$'
TOWER_EXCLUDE_EMPTY_GROUPS = True
TOWER_INSTANCE_ID_VAR = 'id'
# ---------------------
# ----- Foreman -----
# ---------------------