We do not want to pass configuration to workers via Celery, ever. Considering that, I think the add_config instance attribute should be removed. The only actual use of that is overriding the file configuration when running the director on the command line, and we can just override specific configuration items in the director class's __init__ method.

This makes the "worker arguments" just a plain list of objects that need archiving. No need for a wrapping dict, or anything else.

I'm sorry, but I'd rather we removed all the command line arguments than adding this complexity.

This function has you duplicate the configuration keys at three places (command line argument names, function argument names, string constants), and realistically it will never be used as we will deploy a configuration file with puppet anyway...

Down the line, we should make sure that our "config module" can generate a command-line parser, rather than doing stuff ad-hoc everywhere.

Can we please just scrap the command line parsing and finally land this diff?