fix: attach every network in attach-post-create
Setting multiple networks for the `attach-post-create` network property only connected new app containers to the first network in the list. All specified networks are now attached, matching the existing `attach-post-deploy` behavior.
This commit is contained in:
@@ -216,7 +216,9 @@ func TriggerPostContainerCreate(containerType string, containerID string, appNam
|
|||||||
return fmt.Errorf("Network %v does not exist", networkName)
|
return fmt.Errorf("Network %v does not exist", networkName)
|
||||||
}
|
}
|
||||||
|
|
||||||
return attachAppToNetwork(containerID, networkName, appName, phase, processType)
|
if err := attachAppToNetwork(containerID, networkName, appName, phase, processType); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ teardown() {
|
|||||||
destroy_app
|
destroy_app
|
||||||
[[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST"
|
[[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST"
|
||||||
docker network rm create-network || true
|
docker network rm create-network || true
|
||||||
|
docker network rm create-network-2 || true
|
||||||
docker network rm deploy-network || true
|
docker network rm deploy-network || true
|
||||||
|
docker network rm deploy-network-2 || true
|
||||||
docker network rm initial-network || true
|
docker network rm initial-network || true
|
||||||
docker network rm "$TEST_NETWORK" || true
|
docker network rm "$TEST_NETWORK" || true
|
||||||
global_teardown
|
global_teardown
|
||||||
@@ -630,6 +632,37 @@ teardown() {
|
|||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "(network) network:set attach-post-create attaches every network" {
|
||||||
|
for network in create-network create-network-2 deploy-network deploy-network-2; do
|
||||||
|
run /bin/bash -c "dokku network:create $network"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
done
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku network:set $TEST_APP attach-post-create create-network create-network-2"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku network:set $TEST_APP attach-post-deploy deploy-network deploy-network-2"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
for network in create-network create-network-2 deploy-network deploy-network-2; do
|
||||||
|
run /bin/bash -c "docker container inspect --format '{{range \$k, \$v := .NetworkSettings.Networks}}{{println \$k}}{{end}}' $TEST_APP.web.1 | grep -cx $network"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_output "1"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
@test "(network) dont re-attach to network" {
|
@test "(network) dont re-attach to network" {
|
||||||
run /bin/bash -c "dokku network:create deploy-network"
|
run /bin/bash -c "dokku network:create deploy-network"
|
||||||
echo "output: $output"
|
echo "output: $output"
|
||||||
|
|||||||
Reference in New Issue
Block a user