Running the command keystone-manage mapping_purge, no output is given but I get these messages in keystone.log
2016-11-18 07:41:22.807 2404 CRITICAL keystone [-] ValueError: At least one option must be provided
2016-11-18 07:41:22.807 2404 ERROR keystone Traceback (most recent call last):
2016-11-18 07:41:22.807 2404 ERROR keystone File "/usr/bin/keystone-manage", line 10, in <module>
2016-11-18 07:41:22.807 2404 ERROR keystone sys.exit(main())
2016-11-18 07:41:22.807 2404 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/manage.py", line 43, in main
2016-11-18 07:41:22.807 2404 ERROR keystone cli.main(argv=sys.argv, config_files=config_files)
2016-11-18 07:41:22.807 2404 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/cli.py", line 1257, in main
2016-11-18 07:41:22.807 2404 ERROR keystone CONF.command.cmd_class.main()
2016-11-18 07:41:22.807 2404 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/cli.py", line 830, in main
2016-11-18 07:41:22.807 2404 ERROR keystone validate_options()
2016-11-18 07:41:22.807 2404 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/cli.py", line 813, in validate_options
2016-11-18 07:41:22.807 2404 ERROR keystone raise ValueError(_('At least one option must be provided'))
2016-11-18 07:41:22.807 2404 ERROR keystone ValueError: At least one option must be provided
2016-11-18 07:41:22.807 2404 ERROR keystone
Using --help says arguments needed are optional.
I used --all option to check and the command was executed successfully. The way I see it is some arguments have been marked optional when they are actually necessary.
It looks like henrynash tried to make this smarter initially: https:/ /github. com/openstack/ keystone/ blob/master/ keystone/ cmd/cli. py#L804- L810
We could mark the arguments as required by setting "required=True" to a parser subgroup (https:/ /github. com/openstack/ keystone/ blob/master/ keystone/ cmd/cli. py#L784- L799)