Some important points related to fabric upgrade from 1.14 to 2.7.1:
Normally we could filter nodes by @ roles and @ hosts decorators in fabric 1.14. Those are not yet implemented in current version.
When -H flag(for hostlist) is not given, fab would run the task for all nodes in fabric 1.14. But in current version it will only run on local node. That is why I implemented execute_on_all_nodes_if_no_hosts method in compat.py module to behave in the same way as previous version.
Fabric 1.14 had execute method to fan out a task into all nodes. In current version we have connection groups, but for the sake of compatability, I created execute method with the same behavior in compat module.
Upgrade Fabric from 1.14 to 2.7.1 to be python3 complaint because python2 is deprecated in our VMs.