diff --git a/docker-sonic-alpinevs/Dockerfile.j2 b/docker-sonic-alpinevs/Dockerfile.j2 index 28b9637..3a48c6f 100644 --- a/docker-sonic-alpinevs/Dockerfile.j2 +++ b/docker-sonic-alpinevs/Dockerfile.j2 @@ -132,7 +132,7 @@ COPY ["init_cfg.json.j2", "/usr/share/sonic/templates/"] COPY ["default_chassis_cfg.json", "/etc/default/sonic-db/"] COPY ["asic_table.json", "/etc/sonic/"] COPY ["zero_profiles.json", "/etc/sonic"] -COPY ["buffermgrd.sh", "/usr/bin/"] +COPY ["buffermgrd.sh", "hostname-config.sh", "/usr/bin/"] {% set dataplane_mode = docker_sonic_alpinevs_dataplane_mode | default('single') %} {% if dataplane_mode == "single" %} diff --git a/docker-sonic-alpinevs/hostname-config.sh b/docker-sonic-alpinevs/hostname-config.sh new file mode 100755 index 0000000..8cf0a08 --- /dev/null +++ b/docker-sonic-alpinevs/hostname-config.sh @@ -0,0 +1,27 @@ +#!/bin/bash -e + +CURRENT_HOSTNAME=$(hostname) +HOSTNAME=$(sonic-db-cli CONFIG_DB HGET 'DEVICE_METADATA|localhost' hostname) + +if [ -z "$HOSTNAME" ] ; then + echo "Missing hostname in the config file, setting to default 'sonic'" + HOSTNAME='sonic' +fi + +echo "$HOSTNAME" > /etc/hostname +hostname -F /etc/hostname + +# Don't update /etc/hosts if hostname is not changed +# This is to prevent intermittent redis_chassis.server reachability issue +if [ "$CURRENT_HOSTNAME" = "$HOSTNAME" ] ; then + return 0 2>/dev/null || exit 0 +fi + +# Remove the old hostname entry from /etc/hosts in-place (if not localhost) +if [ "$CURRENT_HOSTNAME" != "localhost" ] ; then + UPDATED_HOSTS=$(sed "/\s${CURRENT_HOSTNAME}$/d" /etc/hosts) + echo "$UPDATED_HOSTS" > /etc/hosts +fi + +# Append the new hostname entry directly +echo "127.0.0.1 $HOSTNAME" >> /etc/hosts diff --git a/docker-sonic-alpinevs/start.sh b/docker-sonic-alpinevs/start.sh index 70bbc52..929176f 100755 --- a/docker-sonic-alpinevs/start.sh +++ b/docker-sonic-alpinevs/start.sh @@ -71,11 +71,15 @@ if [ "$start_chassis_db" != "1" ] && [ "$conn_chassis_db" != "1" ]; then cp $db_cfg_file_tmp $db_cfg_file fi +sysctl net.ipv6.conf.eth0.disable_ipv6=1 +sysctl net.ipv6.conf.all.disable_ipv6=1 + # Load the environment variables into each ssh session tr '\0' '\n' < /proc/1/environ | grep -v -E '^(HOME|USER|LOGNAME|PATH|SHELL|PWD|OLDPWD|SHLVL)=' > /etc/environment chmod 644 /etc/environment /usr/bin/configdb-load.sh +/usr/bin/hostname-config.sh if [ "${ALPINEVS_DATAPLANE_MODE:-single}" = "single" ]; then supervisorctl start lucius diff --git a/src/deploy/kne/twodut-dual-docker-alpinevs.txt b/src/deploy/kne/twodut-dual-docker-alpinevs.txt index 5fcc7e4..a3127d8 100644 --- a/src/deploy/kne/twodut-dual-docker-alpinevs.txt +++ b/src/deploy/kne/twodut-dual-docker-alpinevs.txt @@ -1,6 +1,6 @@ name: "docker-twodut-alpine" nodes: { - name: "docker-alpine-dut" + name: "alpine-dut" vendor: ALPINE config: { image: "docker-sonic-alpinevs:latest" @@ -46,7 +46,7 @@ nodes: { } } nodes: { - name: "docker-alpine-ctl" + name: "alpine-ctl" vendor: ALPINE config: { image: "docker-sonic-alpinevs:latest" @@ -92,98 +92,98 @@ nodes: { } } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth1" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth1" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth2" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth2" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth3" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth3" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth4" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth4" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth5" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth5" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth6" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth6" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth7" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth7" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth8" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth8" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth9" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth9" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth10" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth10" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth11" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth11" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth12" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth12" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth13" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth13" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth14" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth14" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth15" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth15" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth16" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth16" } diff --git a/src/deploy/kne/twodut-single-docker-alpinevs.txt b/src/deploy/kne/twodut-single-docker-alpinevs.txt index ebf5343..d2bfec3 100644 --- a/src/deploy/kne/twodut-single-docker-alpinevs.txt +++ b/src/deploy/kne/twodut-single-docker-alpinevs.txt @@ -1,6 +1,6 @@ name: "docker-twodut-alpine" nodes: { - name: "docker-alpine-dut" + name: "alpine-dut" vendor: ALPINE config: { image: "docker-sonic-alpinevs:latest" @@ -36,7 +36,7 @@ nodes: { } } nodes: { - name: "docker-alpine-ctl" + name: "alpine-ctl" vendor: ALPINE config: { image: "docker-sonic-alpinevs:latest" @@ -72,98 +72,98 @@ nodes: { } } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth1" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth1" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth2" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth2" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth3" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth3" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth4" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth4" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth5" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth5" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth6" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth6" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth7" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth7" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth8" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth8" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth9" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth9" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth10" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth10" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth11" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth11" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth12" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth12" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth13" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth13" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth14" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth14" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth15" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth15" } links: { - a_node: "docker-alpine-dut" + a_node: "alpine-dut" a_int: "eth16" - z_node: "docker-alpine-ctl" + z_node: "alpine-ctl" z_int: "eth16" }