import logging
import errno
import itertools
+import shlex
+ import optparse
from cStringIO import StringIO
from ganeti import utils
cmd = aliases[cmd]
+ if cmd in env_override:
+ args_env_name = ("%s_%s" % (binary.replace("-", "_"), cmd)).upper()
+ env_args = os.environ.get(args_env_name)
+ if env_args:
+ argv = utils.InsertAtPos(argv, 1, shlex.split(env_args))
+
func, args_def, parser_opts, usage, description = commands[cmd]
- parser = OptionParser(option_list=parser_opts + COMMON_OPTS,
- description=description,
- formatter=TitledHelpFormatter(),
- usage="%%prog %s %s" % (cmd, usage))
+ parser = CustomOptionParser(option_list=parser_opts + COMMON_OPTS,
+ description=description,
+ formatter=TitledHelpFormatter(),
+ usage="%%prog %s %s" % (cmd, usage))
parser.disable_interspersed_args()
- options, args = parser.parse_args()
+ options, args = parser.parse_args(args=argv[1:])
if not _CheckArguments(cmd, args_def, args):
return None, None, None