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