oc_adm_csr.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # pylint: skip-file
  2. # flake8: noqa
  3. def main():
  4. '''
  5. ansible oc module for approving certificate signing requests
  6. '''
  7. module = AnsibleModule(
  8. argument_spec=dict(
  9. kubeconfig=dict(default='/etc/origin/master/admin.kubeconfig', type='str'),
  10. state=dict(default='approve', type='str',
  11. choices=['approve', 'deny', 'list']),
  12. debug=dict(default=False, type='bool'),
  13. nodes=dict(default=None, type='list'),
  14. timeout=dict(default=30, type='int'),
  15. approve_all=dict(default=False, type='bool'),
  16. service_account=dict(default='system:serviceaccount:openshift-infra:node-bootstrapper', type='str'),
  17. fail_on_timeout=dict(default=False, type='bool'),
  18. ),
  19. supports_check_mode=True,
  20. mutually_exclusive=[['approve_all', 'nodes']],
  21. )
  22. if module.params['nodes'] == []:
  23. module.fail_json(**dict(failed=True, msg='Please specify hosts.'))
  24. rval = OCcsr.run_ansible(module.params, module.check_mode)
  25. # If we timed out then we weren't finished. Fail if user requested to fail.
  26. if (module.params['timeout'] > 0 and
  27. module.params['fail_on_timeout'] and
  28. rval['timeout']):
  29. return module.fail_json(msg='Timed out accepting certificate signing requests. Failing as requested.', **rval)
  30. if 'failed' in rval:
  31. return module.fail_json(**rval)
  32. return module.exit_json(**rval)
  33. if __name__ == '__main__':
  34. main()