From 5479a2b0c94db3774a5687036a7094d637868232 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 17:08:08 -0500 Subject: [PATCH] refactor: use the same network alias as is used when running :link command This allows for some degree of parity as the network will now resolve the same for both linked and networked containers. --- functions | 6 +++--- tests/link_networks.bats | 14 +++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/functions b/functions index 39a5c05..b05827e 100755 --- a/functions +++ b/functions @@ -109,7 +109,7 @@ service_create_container() { local network_alias="$SERVICE_NAME" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then - network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" + network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") @@ -122,7 +122,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -130,7 +130,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi diff --git a/tests/link_networks.bats b/tests/link_networks.bats index 30a3de6..f6ce837 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -53,7 +53,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network @@ -121,6 +121,14 @@ teardown() { assert_output_contains custom-network assert_output_contains bridge + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network echo "output: $output" echo "status: $status" @@ -191,7 +199,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network @@ -258,7 +266,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa" - assert_output_contains "alias:lsa.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-lsa" run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output"