Add network per build
What does this MR do?
Add support for per-job Docker network creation, based on !609 (closed), and built on top of !895 (closed) (rebased on master). By nature of its implementation it also provides a workaround fix for corporate DNS resolution as outlined in https://github.com/docker/libnetwork/issues/2187, and may mitigate issues such as #1541 (closed).
Why was this MR needed?
There is a huge need of proper service discovery b/w the job container and the service container(s). Use cases include:
- Running a selenium grid peer to the build container which can see the build container (i.e. karma tests).
- Set up complex interdependent application stacks.
Are there points in the code the reviewer needs to double check?
I am relying on claims made by the original author that it 'works', but didn't actually run it myself.
Does this MR meet the acceptance criteria?
- Documentation created/updated
- Added tests for this feature/bug
In case of conflicts with
master- branch was rebased
What are the relevant issue numbers?
Closes #1042 (closed)
Partial fix for #1541 (closed).