Signed-off-by: Albin Kerouanton <albinker@gmail.com>
| ... | ... |
@@ -300,18 +300,6 @@ func (c *containerAdapter) create(ctx context.Context) error {
|
| 300 | 300 |
return err |
| 301 | 301 |
} |
| 302 | 302 |
|
| 303 |
- // Docker daemon currently doesn't support multiple networks in container create |
|
| 304 |
- // Connect to all other networks |
|
| 305 |
- nc := c.container.connectNetworkingConfig(c.backend) |
|
| 306 |
- |
|
| 307 |
- if nc != nil {
|
|
| 308 |
- for n, ep := range nc.EndpointsConfig {
|
|
| 309 |
- if err := c.backend.ConnectContainerToNetwork(cr.ID, n, ep); err != nil {
|
|
| 310 |
- return err |
|
| 311 |
- } |
|
| 312 |
- } |
|
| 313 |
- } |
|
| 314 |
- |
|
| 315 | 303 |
container := c.container.task.Spec.GetContainer() |
| 316 | 304 |
if container == nil {
|
| 317 | 305 |
return errors.New("unable to get container from task spec")
|
| ... | ... |
@@ -503,7 +503,6 @@ func (c *containerConfig) resources() enginecontainer.Resources {
|
| 503 | 503 |
return resources |
| 504 | 504 |
} |
| 505 | 505 |
|
| 506 |
-// Docker daemon supports just 1 network during container create. |
|
| 507 | 506 |
func (c *containerConfig) createNetworkingConfig(b executorpkg.Backend) *network.NetworkingConfig {
|
| 508 | 507 |
var networks []*api.NetworkAttachment |
| 509 | 508 |
if c.task.Spec.GetContainer() != nil || c.task.Spec.GetAttachment() != nil {
|
| ... | ... |
@@ -511,28 +510,10 @@ func (c *containerConfig) createNetworkingConfig(b executorpkg.Backend) *network |
| 511 | 511 |
} |
| 512 | 512 |
|
| 513 | 513 |
epConfig := make(map[string]*network.EndpointSettings) |
| 514 |
- if len(networks) > 0 {
|
|
| 515 |
- epConfig[networks[0].Network.Spec.Annotations.Name] = getEndpointConfig(networks[0], b) |
|
| 516 |
- } |
|
| 517 |
- |
|
| 518 |
- return &network.NetworkingConfig{EndpointsConfig: epConfig}
|
|
| 519 |
-} |
|
| 520 |
- |
|
| 521 |
-// TODO: Merge this function with createNetworkingConfig after daemon supports multiple networks in container create |
|
| 522 |
-func (c *containerConfig) connectNetworkingConfig(b executorpkg.Backend) *network.NetworkingConfig {
|
|
| 523 |
- var networks []*api.NetworkAttachment |
|
| 524 |
- if c.task.Spec.GetContainer() != nil {
|
|
| 525 |
- networks = c.task.Networks |
|
| 526 |
- } |
|
| 527 |
- // First network is used during container create. Other networks are used in "docker network connect" |
|
| 528 |
- if len(networks) < 2 {
|
|
| 529 |
- return nil |
|
| 530 |
- } |
|
| 531 |
- |
|
| 532 |
- epConfig := make(map[string]*network.EndpointSettings) |
|
| 533 |
- for _, na := range networks[1:] {
|
|
| 514 |
+ for _, na := range networks {
|
|
| 534 | 515 |
epConfig[na.Network.Spec.Annotations.Name] = getEndpointConfig(na, b) |
| 535 | 516 |
} |
| 517 |
+ |
|
| 536 | 518 |
return &network.NetworkingConfig{EndpointsConfig: epConfig}
|
| 537 | 519 |
} |
| 538 | 520 |
|