Hi, We are using ACS version 4.2 / 4.9 on our test environment. We are using Ubuntu 12.04 as the operating system and KVM as the hypervisor.
We are trying to simulate an upgrade from ACS 4.2 to 4.9 and roll-back from 4.9 to 4.2 on our test environment. The upgrade went smooth, and the roll-back went well as well except when we need to start the agent after downgrading the agent. After uninstalling cloudstack-agent version 4.9 and installing back cloudstack-agent version 4.2, I am not able to start the agent with below error messages: ==== 2016-10-20 17:32:28,187 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/cloud0/bridge 2016-10-20 17:32:28,187 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Found bridge cloud0 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/lo/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/cloudbr1/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Found bridge cloudbr1 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet4/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet5/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet6/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet7/bridge 2016-10-20 17:32:28,188 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet8/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet9/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet0/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet1/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet2/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet3/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/virbr0/bridge 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Found bridge virbr0 2016-10-20 17:32:28,189 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet11/bridge 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet12/bridge 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet13/bridge 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet14/bridge 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet10/bridge 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking for pif for bridge cloud0 2016-10-20 17:32:28,190 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) matchPifFileInDirectory: file name 'vnet1' 2016-10-20 17:32:28,191 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) matchPifFileInDirectory: file name 'vnet2' 2016-10-20 17:32:28,191 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) matchPifFileInDirectory: file name 'vnet5' 2016-10-20 17:32:28,191 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) failing to get physical interface from bridge cloud0, did not find an eth*, bond*, vlan*, em*, or p*p* in /sys/devices/virtual/net/cloud0/brif 2016-10-20 17:32:28,191 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking for pif for bridge cloudbr1 2016-10-20 17:32:28,191 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) matchPifFileInDirectory: file name 'eth1' 2016-10-20 17:32:28,192 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking for pif for bridge virbr0 2016-10-20 17:32:28,192 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) failing to get physical interface from bridge virbr0, did not find an eth*, bond*, vlan*, em*, or p*p* in /sys/devices/virtual/net/virbr0/brif 2016-10-20 17:32:28,192 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) done looking for pifs, no more bridges 2016-10-20 17:32:28,192 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Failed to get private nic name 2016-10-20 17:32:28,192 ERROR [cloud.agent.AgentShell] (main:null) (logid:) Unable to start agent: Failed to get private nic name ==== Below is the result of brctl show and the content of /etc/network/interfaces: ==== root@test-kvm-03:/var/log/cloudstack/agent# brctl show bridge name bridge id STP enabled interfaces cloud0 8000.fe00a9fe00f8 no vnet1 vnet2 vnet5 cloudbr1 8000.d067e5ec82c0 no eth1 vnet0 vnet10 vnet11 vnet12 vnet13 vnet14 vnet3 vnet4 vnet6 vnet7 vnet8 vnet9 virbr0 8000.000000000000 yes ==== /etc/network/interfaces: ==== # The loopback network interface auto lo iface lo inet loopback auto eth1 #iface eth1 inet static iface eth1 inet manual auto cloudbr1 iface cloudbr1 inet static bridge_ports eth1 address 192.168.0.201 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 8.8.8.8 8.8.4.4 dns-search xxxxx.com auto cloudbr1:0 iface cloudbr1:0 inet static address 192.168.3.201 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 ==== It seems that the error messages are complaining about no physical interface being added into cloud0 and virbr0 bridges. I tried to add eth1, cloudbr1 into the bridges but it didn't work. Deleting the cloud0 and virbr0 bridges doesn't help either, agent is still complaining about cannot find "pifs": ==== 2016-10-20 18:00:48,331 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/lo/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/cloudbr1/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Found bridge cloudbr1 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet4/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet5/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet6/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet7/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet8/bridge 2016-10-20 18:00:48,332 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet9/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet0/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet1/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet2/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet3/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet11/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet12/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet13/bridge 2016-10-20 18:00:48,333 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet14/bridge 2016-10-20 18:00:48,334 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking in file /sys/devices/virtual/net/vnet10/bridge 2016-10-20 18:00:48,334 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) looking for pif for bridge cloudbr1 2016-10-20 18:00:48,334 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) matchPifFileInDirectory: file name 'eth1' 2016-10-20 18:00:48,334 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) done looking for pifs, no more bridges 2016-10-20 18:00:48,334 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Failed to get private nic name 2016-10-20 18:00:48,334 ERROR [cloud.agent.AgentShell] (main:null) (logid:) Unable to start agent: Failed to get private nic name ==== I understand that the required bridge information is supposed to be added by CloudStack during the time when the host is added. Is there a way how I can add the bridge information again manually without having to delete and re-add the host into CloudStack? The reason is because we want to keep the VMs running during the downgrade, deleting and re-adding the host into CloudStack will shutdown the VMs. Any advice is greatly appreciated. Thank you. -ip-