(DON'T MERGE) [OC-5408] Add support for agent cluster leave
Created by: iamjazzar
This change introduces two things:
- The ability to communicate with Consul through APIs directly without a need for external library. This is useful when we run into advanced cases where the library we're using doesn't support them.
- Consul leave functionality which asks the agent to leave the cluster gracefully, or to instruct the agent to force a node into the left state if the agent couldn't leave its cluster gracefully.
I wanted to implement a multi-(threading|processing) approach here since the operation takes about 5-8 seconds to complete, then I backed of when I saw there's no such usage in the whole project for any of the approaches.
-
Tests