tree e2dec7808b30f9eadc0c16bcafb8018518ec9b0d
parent e1f3179446529da3683154c044b15f277d0d7eab
author Gabriel Beims Bräscher <gabriel@apache.org> 1614849564 -0300
committer GitHub <noreply@github.com> 1614849564 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgQKYcCRBK7hj4Ov3rIwAAdHIIAFJZ0i+ic30PUgxQ0JxxKz5K
 wFSUNiBzS3T8OImwfLbTRb2Ee39baZa2KEwM7MP5nvPd9wYtRezaR5j1GH1MwiBl
 rNggKboXAZIuvbuYjMpClYy7Iv2JF15kRp31BVps08G37KX9o1BraVbvp8/3SU3h
 PBnXHzo+Dzk1fVkoBAxFMIsqE0CBKUAiBTLDa01494wQhUNr55h9VTuLrlH/U5ir
 PCmnSQ5IgVN2NVFLWFtwHn2h+O8t+gmX8i0kBdtRPtk6zLTq0FSfoq+n9pmkm9y6
 gEsx7YCVLIBE4aqJV5zr1Ic5CH/x1q8+gmPIKHsByNPkR96bpfhkfxD3i7QAxSc=
 =RuS1
 -----END PGP SIGNATURE-----
 

kvm: Fix get_bridge_physdev where it returns "device:" instead of just "device" (#4740)

When running get_bridge_physdev(brname) from security_group.py it is returned the bridge device as brname: instead of the expected brname.

We experienced this issue on CloudStack 4.13.1.0 with Security Groups enabled for Advanced Networking. Additionally, KVM nodes are running on Ubuntu 18.04.

PR #4303 (merged in 4.15) added support for Ubuntu 20.04 which turned out to fix get_bridge_physdev(brname); however, we faced the very same issue with the previous CloudStack and Ubuntu versions.

Even though we might not get a 4.13.2, and CloudStack 4.14.1.0 has just been released, this PR proposes merging the fix into branch 4.13 and then get it forwarded into 4.14. Thus, allowing users to have this fix referenced and also opening the possibility of addressing this in case of a potential 4.14.2.0.