fix vault-keyring.py 'No [vault] section' error

vault-keyring.py was using an older version of
the ansible.constants.load_config_file() API.
The newer version returns a tuple, which caused
the config load to fail and a catch all exception
to blame it on a missing section.

Update to new API, and catch the ConfigParser error
specifically.

Fixes #15984
This commit is contained in:
Adrian Likins 2016-05-24 18:47:56 -04:00
parent 650bfdce8f
commit 675561e116

9
contrib/vault/vault-keyring.py Normal file → Executable file
View file

@ -47,16 +47,17 @@
import sys
import getpass
import keyring
import ConfigParser
import ansible.constants as C
def main():
parser = C.load_config_file()
(parser,config_path) = C.load_config_file()
try:
username = parser.get('vault', 'username')
except:
sys.stderr.write('No [vault] section configured\n')
except ConfigParser.NoSectionError:
sys.stderr.write('No [vault] section configured in config file: %s\n' % config_path)
sys.exit(1)
if len(sys.argv) == 2 and sys.argv[1] == 'set':