You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Rohit Yadav (JIRA)" <ji...@apache.org> on 2013/03/14 07:26:12 UTC

[jira] [Resolved] (CLOUDSTACK-1566) Baremetal API addBaremetalPxePingServer fail to add PXE PING server to deployment causing create instance with PING style image to fail

     [ 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