Hello Devs, I was just chasing down as issue with not being able to add a NIC to a VM. Below is the relevant logs. I found that the NICs table's domain router placeholder for this network had a NULL MAC address and this was preventing new NICs from being added. When I added a MAC manually to the domain routers placeholder record all started working.
My question is, should the router router's placeholder NIC entry have a MAC address? If so, none of mine do. Not all of my networks have placeholder entries, why is that? Should I be removing the placeholder entries? This seems to be almost the last issue we are facing from 4.3 -> 4.11 upgrade. It has been very successful. ( 400 ish vms, 6 Datacenters, 80 VRs ) 2018-05-21 11:48:16,423 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (qtp1401132667-595:ctx-310c59ef ctx-f99ddc35) (logid:51491bb7) submit async job-83360, details: AsyncJobVO {id:83360, userId: 98, accountId: 95, instanceType: None, instanceId: null, cmd: org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd, cmdInfo: {"virtualmachineid":"22fbba97-2bee-42f9-80db-4bcbaa0ba1fc","response":"json","ctxUserId":"98","httpmethod":"GET","networkid":"a3e01c87-042a-44c5-870d-8676143940ee","ctxStartEventId":"2191577","ctxDetails":"{\"interface com.cloud.vm.VirtualMachine\":\"22fbba97-2bee-42f9-80db-4bcbaa0ba1fc\",\"interface com.cloud.network.Network\":\"a3e01c87-042a-44c5-870d-8676143940ee\"}","ctxAccountId":"95","cmdEventType":"NIC.CREATE","_":"1526874496277"}, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid: 52242469890, completeMsid: null, lastUpdated: null, lastPolled: null, created: null} 2018-05-21 11:48:16,424 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-1:ctx-dcdc8f3a job-83360) (logid:5254cc87) Executing AsyncJobVO {id:83360, userId: 98, accountId: 95, instanceType: None, instanceId: null, cmd: org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd, cmdInfo: {"virtualmachineid":"22fbba97-2bee-42f9-80db-4bcbaa0ba1fc","response":"json","ctxUserId":"98","httpmethod":"GET","networkid":"a3e01c87-042a-44c5-870d-8676143940ee","ctxStartEventId":"2191577","ctxDetails":"{\"interface com.cloud.vm.VirtualMachine\":\"22fbba97-2bee-42f9-80db-4bcbaa0ba1fc\",\"interface com.cloud.network.Network\":\"a3e01c87-042a-44c5-870d-8676143940ee\"}","ctxAccountId":"95","cmdEventType":"NIC.CREATE","_":"1526874496277"}, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid: 52242469890, completeMsid: null, lastUpdated: null, lastPolled: null, created: null} 2018-05-21 11:48:16,424 DEBUG [c.c.a.ApiServlet] (qtp1401132667-595:ctx-310c59ef ctx-f99ddc35) (logid:51491bb7) ===END=== 103.4.132.4 -- GET command=addNicToVirtualMachine&response=json&virtualmachineid=22fbba97-2bee-42f9-80db-4bcbaa0ba1fc&networkid=a3e01c87-042a-44c5-870d-8676143940ee&_=1526874496277 2018-05-21 11:48:16,474 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-1:ctx-dcdc8f3a job-83360) (logid:5254cc87) Unexpected exception while executing org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd com.cloud.utils.exception.CloudRuntimeException: A NIC with this MAC address exists for network: a3e01c87-042a-44c5-870d-8676143940ee at com.cloud.vm.UserVmManagerImpl.addNicToVirtualMachine(UserVmManagerImpl.java:1203) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174) at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy169.addNicToVirtualMachine(Unknown Source) at org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd.execute(AddNicToVMCmd.java:161) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:150) at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:581) at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53) at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:529) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Kind regards, Glen Baars This e-mail is intended solely for the benefit of the addressee(s) and any other named recipient. It is confidential and may contain legally privileged or confidential information. If you are not the recipient, any use, distribution, disclosure or copying of this e-mail is prohibited. The confidentiality and legal privilege attached to this communication is not waived or lost by reason of the mistaken transmission or delivery to you. If you have received this e-mail in error, please notify us immediately.