• Michael Schurter's avatar
    Refactor Consul Syncer into new ServiceClient · 10cb924b
    Michael Schurter authored
    Fixes #2478 #2474 #1995 #2294
    
    The new client only handles agent and task service advertisement. Server
    discovery is mostly unchanged.
    
    The Nomad client agent now handles all Consul operations instead of the
    executor handling task related operations. When upgrading from an
    earlier version of Nomad existing executors will be told to deregister
    from Consul so that the Nomad agent can re-register the task's services
    and checks.
    
    Drivers - other than qemu - now support an Exec method for executing
    abritrary commands in a task's environment. This is used to implement
    script checks.
    
    Interfaces are used extensively to avoid interacting with Consul in
    tests that don't assert any Consul related behavior.
    10cb924b