diff --git a/plugins/network/Makefile b/plugins/network/Makefile index 094e19513..5dfa8b1e8 100644 --- a/plugins/network/Makefile +++ b/plugins/network/Makefile @@ -1,5 +1,5 @@ SUBCOMMANDS = subcommands/create subcommands/destroy subcommands/exists subcommands/info subcommands/list subcommands/rebuild subcommands/rebuildall subcommands/report subcommands/set -TRIGGERS = triggers/core-post-deploy triggers/docker-args-process-build triggers/docker-args-process-deploy triggers/docker-args-process-run triggers/install triggers/network-build-config triggers/network-config-exists triggers/network-get-ipaddr triggers/network-get-listeners triggers/network-get-property triggers/network-get-static-listeners triggers/network-write-ipaddr triggers/network-write-port triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-container-create triggers/post-create triggers/post-delete triggers/report +TRIGGERS = triggers/core-post-deploy triggers/docker-args-process-build triggers/docker-args-process-deploy triggers/docker-args-process-run triggers/install triggers/network-build-config triggers/network-config-exists triggers/network-get-ipaddr triggers/network-get-listeners triggers/network-get-property triggers/network-get-static-listeners triggers/network-write-ipaddr triggers/network-write-port triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-container-create triggers/post-delete triggers/report BUILD = commands subcommands triggers PLUGIN_NAME = network diff --git a/plugins/network/src/triggers/triggers.go b/plugins/network/src/triggers/triggers.go index bd14ef953..bc9cda8f9 100644 --- a/plugins/network/src/triggers/triggers.go +++ b/plugins/network/src/triggers/triggers.go @@ -82,9 +82,6 @@ func main() { phase := flag.Arg(3) processType := flag.Arg(4) err = network.TriggerPostContainerCreate(containerType, containerID, appName, phase, processType) - case "post-create": - appName := flag.Arg(0) - err = network.TriggerPostCreate(appName) case "post-delete": appName := flag.Arg(0) err = network.TriggerPostDelete(appName) diff --git a/plugins/network/subcommands.go b/plugins/network/subcommands.go index ea9fbfacf..56e4e6bd2 100644 --- a/plugins/network/subcommands.go +++ b/plugins/network/subcommands.go @@ -192,10 +192,6 @@ func CommandSet(appName string, property string, value string, values []string) } } - if property == "bind-all-interfaces" && value == "" { - value = "false" - } - attachProperties := map[string]bool{ "attach-post-create": true, "attach-post-deploy": true, diff --git a/plugins/network/triggers.go b/plugins/network/triggers.go index c6035310b..2d6354661 100644 --- a/plugins/network/triggers.go +++ b/plugins/network/triggers.go @@ -222,16 +222,6 @@ func TriggerPostContainerCreate(containerType string, containerID string, appNam return nil } -// TriggerPostCreate sets bind-all-interfaces to false by default -func TriggerPostCreate(appName string) error { - err := common.PropertyWrite("network", appName, "bind-all-interfaces", "false") - if err != nil { - common.LogWarn(err.Error()) - } - - return nil -} - // TriggerPostDelete destroys the network property for a given app container func TriggerPostDelete(appName string) error { return common.PropertyDestroy("network", appName) diff --git a/tests/unit/network.bats b/tests/unit/network.bats index 79f7e9ed3..f67cfe6dc 100644 --- a/tests/unit/network.bats +++ b/tests/unit/network.bats @@ -201,6 +201,99 @@ teardown() { docker network rm initial-network-x >/dev/null } +@test "(network:report) bind-all-interfaces raw vs computed vs global" { + run /bin/bash -c "dokku network:set --global bind-all-interfaces" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-global-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-computed-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "false" + + run /bin/bash -c "dokku network:set --global bind-all-interfaces true" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-global-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-computed-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "dokku network:report $TEST_APP --format json | jq -r '.\"network-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "dokku network:report $TEST_APP --format json | jq -r '.\"network-computed-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "dokku network:set --global bind-all-interfaces" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-global-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "dokku network:report --global --format json | jq -r '.\"network-computed-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "false" + + run /bin/bash -c "dokku network:set $TEST_APP bind-all-interfaces true" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku network:report $TEST_APP --format json | jq -r '.\"network-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "dokku network:set $TEST_APP bind-all-interfaces" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku network:report $TEST_APP --format json | jq -r '.\"network-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "dokku network:report $TEST_APP --format json | jq -r '.\"network-computed-bind-all-interfaces\"'" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "false" +} + @test "(network) network:set bind-all-interfaces" { run deploy_app echo "output: $output"