Bug 2101157
| Summary: | OVS-Configure doesn't iterate connection names containing spaces correctly | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Michael Washer <mwasher> |
| Component: | Networking | Assignee: | Arkadeep Sen <arsen> |
| Networking sub component: | ovn-kubernetes | QA Contact: | Ross Brattain <rbrattai> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | medium | ||
| Priority: | medium | CC: | akaris, anbhat, rbrattai, rravaiol, tidawson |
| Version: | 4.10 | ||
| Target Milestone: | --- | ||
| Target Release: | 4.12.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | No Doc Update | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-01-17 19:50:46 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2104386 | ||
Failed due to bash subshell issue https://github.com/openshift/machine-config-operator/pull/3227#discussion_r916774605 Verified on 4.11.0-0.ci.test-2022-07-08-143310-ci-ln-czld6xt-latest with PR 3242
vSphere UPI RHCOS static-ip kargs active-backup (no spaces)
Jul 08 20:53:31 compute-1 configure-ovs.sh[2640]: + nmcli connection show br-ex1
Jul 08 20:53:31 compute-1 configure-ovs.sh[2640]: + nmcli connection show ovs-if-phys1
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 20:53:31 compute-1 ovs-vsctl[2649]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + connections=()
Jul 08 20:53:31 compute-1 configure-ovs.sh[2650]: ++ nmcli -g NAME c
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ bond0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens192 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens224 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ bond0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens192 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens192-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + connections+=("$connection")
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens224 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ens224-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + connections+=("$connection")
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ovs-if-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ovs-if-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ovs-port-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + [[ ovs-port-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + IFS=
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + read -r connection
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + connections+=(ovs-if-phys0 ovs-if-br-ex)
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + '[' -f /etc/ovnk/extra_bridge ']'
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + activate_nm_connections ens192-slave-ovs-clone ens224-slave-ovs-clone ovs-if-phys0 ovs-if-br-ex
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + connections=("$@")
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + local connections
Jul 08 20:53:31 compute-1 configure-ovs.sh[1699]: + for conn in "${connections[@]}"
vSphere RHEL DHCP active-backup (spaces)
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2530]: + nmcli connection show br-ex1
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2530]: + nmcli connection show ovs-if-phys1
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 16:55:19 rhel-0 ovs-vsctl[2539]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections=()
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2540]: ++ nmcli -g NAME c
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test bond0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens192 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens224 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens256 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ ovs-if-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ ovs-if-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ ovs-port-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ ovs-port-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens192-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections+=("$connection")
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens224-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections+=("$connection")
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + [[ test ens256-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections+=("$connection")
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + IFS=
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + read -r connection
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections+=(ovs-if-phys0 ovs-if-br-ex)
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' -f /etc/ovnk/extra_bridge ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + activate_nm_connections 'test ens192-slave-ovs-clone' 'test ens224-slave-ovs-clone' 'test ens256-slave-ovs-clone' ovs-if-phys0 ovs-if-br-ex
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + connections=("$@")
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + local connections
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + for conn in "${connections[@]}"
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2545]: ++ nmcli -g connection.slave-type connection show 'test ens192-slave-ovs-clone'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + local slave_type=bond
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = team ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = bond ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + nmcli c mod 'test ens192-slave-ovs-clone' connection.autoconnect yes
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + for conn in "${connections[@]}"
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2553]: ++ nmcli -g connection.slave-type connection show 'test ens224-slave-ovs-clone'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + local slave_type=bond
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = team ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = bond ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + nmcli c mod 'test ens224-slave-ovs-clone' connection.autoconnect yes
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + for conn in "${connections[@]}"
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2561]: ++ nmcli -g connection.slave-type connection show 'test ens256-slave-ovs-clone'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + local slave_type=bond
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = team ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + '[' bond = bond ']'
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + nmcli c mod 'test ens256-slave-ovs-clone' connection.autoconnect yes
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + for conn in "${connections[@]}"
Jul 08 16:55:19 rhel-0 configure-ovs.sh[2569]: ++ nmcli -g connection.slave-type connection show ovs-if-phys0
Jul 08 16:55:19 rhel-0 configure-ovs.sh[1653]: + local slave_type=ovs-port
libvirt IPI DHCP active-backup (spaces)
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3891]: + nmcli connection show br-ex1
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3891]: + nmcli connection show ovs-if-phys1
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 22:01:54 master-0-2 ovs-vsctl[3900]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --timeout=30 --if-exists del-br br0
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + connections=()
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3901]: ++ nmcli -g NAME c
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired connection bond0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired connection enp5s0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired connection enp6s0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired Connection == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired connection enp5s0-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + connections+=("$connection")
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ Wired connection enp6s0-slave-ovs-clone == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + connections+=("$connection")
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ ovs-if-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ ovs-if-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ ovs-port-br-ex == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + [[ ovs-port-phys0 == *\-\s\l\a\v\e\-\o\v\s\-\c\l\o\n\e ]]
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + IFS=
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + read -r connection
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + connections+=(ovs-if-phys0 ovs-if-br-ex)
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' -f /etc/ovnk/extra_bridge ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + activate_nm_connections 'Wired connection enp5s0-slave-ovs-clone' 'Wired connection enp6s0-slave-ovs-clone' ovs-if-phys0 ovs-if-br-ex
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + connections=("$@")
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + local connections
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + for conn in "${connections[@]}"
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3906]: ++ nmcli -g connection.slave-type connection show 'Wired connection enp5s0-slave-ovs-clone'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + local slave_type=bond
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' bond = team ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' bond = bond ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + nmcli c mod 'Wired connection enp5s0-slave-ovs-clone' connection.autoconnect yes
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + for conn in "${connections[@]}"
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3914]: ++ nmcli -g connection.slave-type connection show 'Wired connection enp6s0-slave-ovs-clone'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + local slave_type=bond
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' bond = team ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' bond = bond ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + nmcli c mod 'Wired connection enp6s0-slave-ovs-clone' connection.autoconnect yes
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + for conn in "${connections[@]}"
Jul 08 22:01:54 master-0-2 configure-ovs.sh[3922]: ++ nmcli -g connection.slave-type connection show ovs-if-phys0
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + local slave_type=ovs-port
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' ovs-port = team ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + '[' ovs-port = bond ']'
Jul 08 22:01:54 master-0-2 configure-ovs.sh[2568]: + for conn in "${connections[@]}"
Testing with vSphere UPI /etc/sysconfig/network-scripts/ifcfg-ens192 TYPE=Ethernet BOOTPROTO=none NAME="System ens192" DEVICE=ens192 ONBOOT=yes But ifcfg files deprecated upstream. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.12.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:7399 |
Description of problem: Customer is struggling to instal OpenShift with a `no such connection profile.` error displayed in the `configure-ovs.sh` logs. The displayed connection only contains the first half of the connection name. Version-Release number of selected component (if applicable): OpenShift 4.10.20 How reproducible: Every time a connection name containing multiple words is used. Steps to Reproduce: 1. Attempt to install OpenShift using IPI with Nodes containing default connections using names containing spaces Actual results: Failure shown in the below logs. Expected results: OpenShift installs correctly. Additional info: The following logs can be seen throughout the opened case: ~~~ Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + local conn=System Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: ++ nmcli -g GENERAL.STATE conn show System Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: Error: System - no such connection profile. Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + local active_state= Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + '[' '' '!=' activated ']' Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + for i in {1..10} Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + echo 'Attempt 1 to bring up connection System' Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: Attempt 1 to bring up connection System Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + nmcli conn up System Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: Error: unknown connection 'System'. Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + s=10 Jun 24 17:41:53 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + sleep 5 Jun 24 17:41:58 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + for i in {1..10} Jun 24 17:41:58 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + echo 'Attempt 2 to bring up connection System' Jun 24 17:41:58 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: Attempt 2 to bring up connection System Jun 24 17:41:58 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: + nmcli conn up System Jun 24 17:41:58 slabnode2332.sprintlab735.netact.nsn-rdnet.net configure-ovs.sh[3472]: Error: unknown connection 'System'. ~~~ Following this we can see that the expected connection to be activated should not be "System" but "System ens3f0", etc. ~~~ [core@slabnode2332 ~]$ nmcli -g NAME c bond0 System ens3f0 System ens3f1 Wired Connection ~~~ Reviewing the code we can see the loop that performs this iteration: https://github.com/openshift/machine-config-operator/blob/master/templates/common/_base/files/configure-ovs-network.yaml#L677 Testing the execution flow, we can see below that ' ' is used as a separator: ~~~ $ nmcli -g NAME c | grep System System eth0 $ for connection in $(nmcli -g NAME c | grep -- "System") ; do echo $connection ; done System eth0 ~~~ To handle multi-word connection names, something similar to the following should be used: ~~~ $ TMP_IFS=$IFS $ IFS=$"\n" $ for connection in $(nmcli -g NAME c | grep -- "$MANAGED_NM_CONN_SUFFIX"); do activate_nm_conn "$connection" done $ IFS=$TMP_IFS ~~~