mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Update openstack inventory script to keep basic functionality (#43432)
re-applies commit 6667ec4474
which
fixed the plugin to the script so that it will work with current
ansible-inventory.
Also redirect stdout before dumping the ouptput, because not doing
so will cause JSON parse errors in some cases.
This commit is contained in:
parent
84faa52b26
commit
fa45c44026
1 changed files with 6 additions and 1 deletions
|
@ -57,6 +57,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
from distutils.version import StrictVersion
|
from distutils.version import StrictVersion
|
||||||
|
from io import StringIO
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import json
|
import json
|
||||||
|
@ -81,7 +82,8 @@ def get_groups_from_server(server_vars, namegroup=True):
|
||||||
groups.append(cloud)
|
groups.append(cloud)
|
||||||
|
|
||||||
# Create a group on region
|
# Create a group on region
|
||||||
groups.append(region)
|
if region:
|
||||||
|
groups.append(region)
|
||||||
|
|
||||||
# And one by cloud_region
|
# And one by cloud_region
|
||||||
groups.append("%s_%s" % (cloud, region))
|
groups.append("%s_%s" % (cloud, region))
|
||||||
|
@ -235,6 +237,8 @@ def parse_args():
|
||||||
def main():
|
def main():
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
try:
|
try:
|
||||||
|
# openstacksdk library may write to stdout, so redirect this
|
||||||
|
sys.stdout = StringIO()
|
||||||
config_files = cloud_config.CONFIG_FILES + CONFIG_FILES
|
config_files = cloud_config.CONFIG_FILES + CONFIG_FILES
|
||||||
sdk.enable_logging(debug=args.debug)
|
sdk.enable_logging(debug=args.debug)
|
||||||
inventory_args = dict(
|
inventory_args = dict(
|
||||||
|
@ -255,6 +259,7 @@ def main():
|
||||||
|
|
||||||
inventory = sdk_inventory.OpenStackInventory(**inventory_args)
|
inventory = sdk_inventory.OpenStackInventory(**inventory_args)
|
||||||
|
|
||||||
|
sys.stdout = sys.__stdout__
|
||||||
if args.list:
|
if args.list:
|
||||||
output = get_host_groups(inventory, refresh=args.refresh, cloud=args.cloud)
|
output = get_host_groups(inventory, refresh=args.refresh, cloud=args.cloud)
|
||||||
elif args.host:
|
elif args.host:
|
||||||
|
|
Loading…
Reference in a new issue