execute() or not, given the task targets.
Create `env.roles` by default, instead of `env.hosts`.
preset unset roles with empty hosts lists.
refactor update/restart attributes.
deactivate the celery worker restart, it doesn't work and does the gunicorn work twice.
try to get current role, enhanced (not buggy).
more default roles.
simplify the set_roledefs…() function. No need to set ``env.roles`` nor ``env.hosts``.
Execute everything, else fabric asks for a hostname even if roles are defined…
more roles in django fabfile.
create the `__any__` global roledef.
add lang and i18n alias roledefs.
more roles on tasks, including __any__.
Mode logger messages to help understand what happens.
Clean a lot the execution model and roles by using our new execute_or_not() helper which smoothes Fabric own execution model by allowing tasks to run on __any__ targets, or not run at all (without stopping the process) if there are no targets.
Add new supervisor templates for worker* and flower roles.
Fix the task name in "no-context" mode.
Remove the flawed `get_current_role()` helper (fails when hosts are duplicated in more than one role), and use the flupke implementation found at https://github.com/flupke/fabric/commit/47650dc14f406bf56f6210744fd55dca3b7be58f
bump version in setup.py
Merge branch 'release/2.3'