[ https://issues.apache.org/jira/browse/CLOUDSTACK-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rohit Yadav resolved CLOUDSTACK-1566. ------------------------------------- Resolution: Fixed AFAIK from last talks with Frank we are no longer using PING, we had tried using PING in the past and it was a hack. Using Redhat's kickstart is a better solution and which is what is used in the new refactored baremetal plugin. Closing because AFAIK we don't support PING now, reopen if required. > Baremetal API addBaremetalPxePingServer fail to add PXE PING server to > deployment causing create instance with PING style image to fail > --------------------------------------------------------------------------------------------------------------------------------------- > > Key: CLOUDSTACK-1566 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1566 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Management Server > Affects Versions: 4.1.0 > Environment: MS rhel6.3 ACS 4.1 baremetal build > PXE PING, DHCP server > baremetal hosts > Reporter: angeline shen > Assignee: Rohit Yadav > Priority: Critical > Fix For: 4.1.0 > > Attachments: management-server.log.gz, Screenshot-CloudStack - > Mozilla Firefox-12.png > > > 1. Install Management Server > > 3. Set Up host IPMI > 4. Enable PXE on the Bare Metal Host > 5. Install the PXE and DHCP Servers > 6. Set Up CIFS Server > 7. Create Bare Metal Image on CIFS server > 8. Deploy Basic zone > 9. Add a Cluster. Add Host via API addBaremetalHost > 10. Add PXE ping Server to deployment via API addBaremetalPxePingServer > add DHCP Server to Deployment via API addBaremetalDhcp > 11. Add a Service Offering and Template > 12. Deploy Baremetal instance fail with error: > Resource [Host:1] is unreachable: Host 1: Unable to start instance due to No > kickstart PXE server found in pod: 1, you need to add it before starting VM > API commands: > 1. add host > [root@Rack3Host15 ~]# curl > "http://localhost:8096/?command=addBaremetalHost&zoneid=75f6ccfe-0019-4f93-ac77-247c22166a0a&podid=079e21ba-2363-474c-add8-542d9880879b&clusterid=f0cbd2b3-fc9f-40db-9260-c2aa2326ff0a&hypervisor=BareMetal&clustertype=CloudManaged&hosttags=large&username=root&password=calvin&url=http%3A%2F%2F10.223.103.48&cpunumber=1&cpuspeed=2600&memory=16384&hostmac=bc:30:5b:d4:60:af" > <?xml version="1.0" encoding="UTF-8"?><addhostresponse > cloud-stack-version="4.1.0-SNAPSHOT"><count>1</count><host><id>2dc6fcb5-eae6-408c-82bc-d2db3cd63373</id><name>10.223.103.48</name><state>Up</state><type>Routing</type><ipaddress>10.223.103.48</ipaddress><zoneid>75f6ccfe-0019-4f93-ac77-247c22166a0a</zoneid><zonename>z1</zonename><podid>079e21ba-2363-474c-add8-542d9880879b</podid><podname>z1p1</podname><version>4.1.0-SNAPSHOT</version><hypervisor>BareMetal</hypervisor><cpunumber>1</cpunumber><cpuspeed>2600</cpuspeed><cpuallocated>0%</cpuallocated><cpuwithoverprovisioning>2600.0</cpuwithoverprovisioning><memorytotal>17179869184</memorytotal><memoryallocated>0</memoryallocated><lastpinged>1970-01-16T01:38:11-0800</lastpinged><managementserverid>206915885079873</managementserverid><clusterid>f0cbd2b3-fc9f-40db-9260-c2aa2326ff0a</clusterid><clustername>b1</clustername><clustertype>CloudManaged</clustertype><islocalstorageactive>false</islocalstorageactive><created>2013-03-06T19:40:27-0800</created><events>StartAgentRebalance; > HostDown; ManagementServerDown; Remove; AgentDisconnected; > ShutdownRequested; AgentConnected; Ping; > PingTimeout</events><hosttags>large</hosttags><resourcestate>Enabled</resourcestate><hahost>false</hahost><jobstatus>0</jobstatus></host></addhostresponse>[root@Rack3Host15 > ~]# > 2. add pxe server cifs server > PING > zoneid=75f6ccfe-0019-4f93-ac77-247c22166a0a > phynwid=dde1f120-0259-45b3-95df-db5bd3a0a516 > podid=079e21ba-2363-474c-add8-542d9880879b > clusterid=f0cbd2b3-fc9f-40db-9260-c2aa2326ff0a > url=http://10.223.51.11 pxe server VM > usr=root > password=password > pxetype=PING > sip=10.216.132.63 > pingdir=Public/CIFS > tftpdir=/var/lib/tftpboot > curl > "http://localhost:8096/?command=addBaremetalPxePingServer&physicalnetworkid=dde1f120-0259-45b3-95df-db5bd3a0a516&podid=079e21ba-2363-474c-add8-542d9880879b&url=http://10.223.51.11&username=root&password=password&pxeservertype=PING&pingstorageserverip=10.216.132.63&pingdir=Public/CIFS&tftpdir=/var/lib/tftpboot" > [root@Rack3Host15 ~]# curl > "http://localhost:8096/?command=addBaremetalPxePingServer&physicalnetworkid=dde1f120-0259-45b3-95df-db5bd3a0a516&podid=079e21ba-2363-474c-add8-542d9880879b&url=http://10.223.51.11&username=root&password=password&pxeservertype=PING&pingstorageserverip=10.216.132.63&pingdir=Public/CIFS&tftpdir=/var/lib/tftpboot" > <?xml version="1.0" encoding="UTF-8"?><addexternalpxeresponse > cloud-stack-version="4.1.0-SNAPSHOT"><jobid>486b8b75-4c28-4d9d-b446-5b4828ed9ec5</jobid></addexternalpxeresponse>[root@Rack3Host15 > ~]# > 3. add dhcp server > [root@Rack3Host15 ~]# curl > "http://localhost:8096/?command=addBaremetalDhcp&physicalnetworkid=dde1f120-0259-45b3-95df-db5bd3a0a516&podid=079e21ba-2363-474c-add8-542d9880879b&url=http://10.223.51.11&dhcpservertype=DHCPD&url=http://10.223.51.11&username=root&password=password" > <?xml version="1.0" encoding="UTF-8"?><addexternaldhcpresponse > cloud-stack-version="4.1.0-SNAPSHOT"><jobid>46d00c30-b687-4195-aab1-b8b7a6ac5225</jobid></addexternaldhcpresponse>[root@Rack3Host15 > ~]# > 4. create instance ERROR: > Resource [Host:1] is unreachable: Host 1: Unable to start instance due to No > kickstart PXE server found in pod: 1, you need to add it before starting VM > MS log errors: > 2013-03-06 20:05:45,486 WARN [user.vm.DeployVMCmd] (Job-Executor-22:job-22) > Exception: > com.cloud.exception.AgentUnavailableException: Resource [Host:1] is > unreachable: Host 1: Unable to start instance due to No kickstart PXE server > found in pod: 1, you need to add it before starting VM > at > com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:831) > at > com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:461) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) > at $Proxy192.start(Unknown Source) > at > org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.deployVirtualMachine(VMEntityManagerImpl.java:212) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) > at $Proxy291.deployVirtualMachine(Unknown Source) > at > org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.deploy(VirtualMachineEntityImpl.java:209) > at > com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3860) > at > com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3458) > at > com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3444) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.event.ActionEventInterceptor.AroundAnyMethod(ActionEventInterceptor.java:53) > at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) > at $Proxy252.startVirtualMachine(Unknown Source) > at > org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCmd.java:379) > at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:163) > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > at > org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) > at > com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:679) > Caused by: com.cloud.utils.exception.CloudRuntimeException: No kickstart PXE > server found in pod: 1, you need to add it before starting VM > at > com.cloud.baremetal.networkservice.BaremetalKickStartServiceImpl.prepare(BaremetalKickStartServiceImpl.java:91) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira