Sorry for just notice your issue. But it's unrelated to my chance. The scripts I deleted are scripts used to access the VR, not the host... So I don't think it's the cause of your issue. These files has been replaced by executing in the VR directly. I would remove the wrong warnings.
can_bridge_firewall() called vmops plugin rather than the files you listed. Maybe take a look at /var/log/SMlog would give more details? --Sheng On Mon, Mar 3, 2014 at 10:18 AM, Mike Tutkowski <mike.tutkow...@solidfire.com> wrote: > Hi Sheng, > > It looks like you removed these scripts on January 16th, 17th, and 20th. > > Any chance this could be the cause of the bug we're seeing where XenServer > hosts cannot be added to a cluster? > > Thanks! > > > On Mon, Mar 3, 2014 at 10:47 AM, Mike Tutkowski < > mike.tutkow...@solidfire.com> wrote: > >> bumpUpPriority.sh and dhcp_entry.sh were deleted in >> >> 0cdf0f6f67c99a06fc1b94c2f2a38eff020f3f67 >> >> call_loadbalancer.shh was deleted in >> >> e88cc488e5a9011f2c199f906bb0dacdb95685d7 >> >> save_password_to_domr.sh was deleted in >> >> ca81e7b465fb40866fd14d1d1d27a2c42e1a2741 >> >> >> On Mon, Mar 3, 2014 at 10:42 AM, Mike Tutkowski < >> mike.tutkow...@solidfire.com> wrote: >> >>> It looks like, for example, call_firewall.sh was deleted in >>> >>> 0ea1c7dfc411db0d3710ac2c4fb238111cbec328 >>> >>> >>> On Mon, Mar 3, 2014 at 10:27 AM, Mike Tutkowski < >>> mike.tutkow...@solidfire.com> wrote: >>> >>>> OK, I've had a bit of time to investigate this. >>>> >>>> I noticed in CitrixResourceBase that can_bridge_firewall (which calls a >>>> plug-in on the XenServer host) returns false: >>>> >>>> if (_securityGroupEnabled) { >>>> >>>> _canBridgeFirewall = can_bridge_firewall(conn); >>>> >>>> if (!_canBridgeFirewall) { >>>> >>>> String msg = "Failed to configure brige firewall"; >>>> >>>> s_logger.warn(msg); >>>> >>>> s_logger.warn("Check host " + _host.ip +" for CSP >>>> is installed or not and check network mode for bridge"); >>>> >>>> return new SetupAnswer(cmd, msg); >>>> >>>> } >>>> >>>> >>>> } >>>> >>>> >>>> Right before this code, the XenServer server resource tries to copy a >>>> bunch of files to the XenServer host, but several of these files cannot be >>>> found on the CS management server: >>>> >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr//call_firewall.sh >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr//bumpUpPriority.sh >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr//dhcp_entry.sh >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr//call_loadbalancer.sh >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr//save_password_to_domr.sh >>>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-1:ctx-33a9d930) We >>>> cannot locate >>>> /home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/classes/scripts/vm/hypervisor/xenserver/xenserver60/../vhd-util >>>> >>>> I know that vhd-util has to be manually copied to the CS MS, but what >>>> about the others? >>>> >>>> >>>> Thanks! >>>> >>>> >>>> On Fri, Feb 28, 2014 at 11:40 AM, Mike Tutkowski < >>>> mike.tutkow...@solidfire.com> wrote: >>>> >>>>> Thanks, Kelven! Glad it's not just me. :) >>>>> >>>>> When I have a little free time this afternoon, I plan to look into this >>>>> in more detail - unless, of course, a XenServer-focused developer already >>>>> knows what's going on. >>>>> >>>>> >>>>> On Fri, Feb 28, 2014 at 11:37 AM, Kelven Yang >>>>> <kelven.y...@citrix.com>wrote: >>>>> >>>>>> I was also trying master this morning and ran into the same problem >>>>>> >>>>>> Kelven >>>>>> >>>>>> On 2/28/14, 10:19 AM, "Mike Tutkowski" <mike.tutkow...@solidfire.com> >>>>>> wrote: >>>>>> >>>>>> >Just curious if anyone else has been able to successfully add a >>>>>> XenServer >>>>>> >host to a newly created cloud on master recently? >>>>>> > >>>>>> > >>>>>> >On Thu, Feb 27, 2014 at 10:58 PM, Mike Tutkowski < >>>>>> >mike.tutkow...@solidfire.com> wrote: >>>>>> > >>>>>> >> I've tried this with a couple different XenServer 6.1 hosts...same >>>>>> >>results. >>>>>> >> >>>>>> >> One exception I noticed that was buried was at the top of the log >>>>>> (look >>>>>> >> familiar to anyone?): >>>>>> >> >>>>>> >> ERROR [c.c.a.ApiServer] (1182531138@qtp-1140222894-7:ctx-2111b24c >>>>>> >> ctx-e6ecb4c0) unhandled exception executing api command: addHost >>>>>> >> com.cloud.utils.exception.CloudRuntimeException: Cannot transit >>>>>> agent >>>>>> >> status with event AgentDisconnected for host 1, mangement server id >>>>>> is >>>>>> >> 52231564957,Unable to transition to a new state from Creating via >>>>>> >> AgentDisconnected >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>com.cloud.agent.manager.AgentManagerImpl.agentStatusTransitTo(AgentManage >>>>>> >>rImpl.java:1343) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>com.cloud.resource.ResourceManagerImpl.markHostAsDisconnected(ResourceMan >>>>>> >>agerImpl.java:1693) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>com.cloud.resource.ResourceManagerImpl.createHostAndAgentDeferred(Resourc >>>>>> >>eManagerImpl.java:1854) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerI >>>>>> >>mpl.java:756) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl. >>>>>> >>java:571) >>>>>> >> >>>>>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java >>>>>> >>:57) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI >>>>>> >>mpl.java:43) >>>>>> >> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(A >>>>>> >>opUtils.java:317) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpo >>>>>> >>int(ReflectiveMethodInvocation.java:183) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Refl >>>>>> >>ectiveMethodInvocation.java:150) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(Ex >>>>>> >>poseInvocationInterceptor.java:91) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Refl >>>>>> >>ectiveMethodInvocation.java:172) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAop >>>>>> >>Proxy.java:204) >>>>>> >> at com.sun.proxy.$Proxy143.discoverHosts(Unknown Source) >>>>>> >> at >>>>>> >> >>>>>> >>>>>> >>org.apache.cloudstack.api.command.admin.host.AddHostCmd.execute(AddHostCm >>>>>> >>d.java:142) >>>>>> >> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:168) >>>>>> >> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:546) >>>>>> >> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:384) >>>>>> >> at >>>>>> >> >>>>>> com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:329) >>>>>> >> at com.cloud.api.ApiServlet.access$000(ApiServlet.java:53) >>>>>> >> at com.cloud.api.ApiServlet$1.run(ApiServlet.java:117) >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> On Thu, Feb 27, 2014 at 5:02 PM, Mike Tutkowski < >>>>>> >> mike.tutkow...@solidfire.com> wrote: >>>>>> >> >>>>>> >>> As it turns out, I didn't notice the second line of the exception. >>>>>> >>> Apparently I am missing scripts: >>>>>> >>> >>>>>> >>> WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-12:ctx-9cd43d58) >>>>>> We >>>>>> >>> cannot locate >>>>>> >>> >>>>>> >>>>>> >>>/home/mtutkowski/CloudStack/client/target/generated-webapp/WEB-INF/class >>>>>> >>>>>> >>>es/scripts/vm/hypervisor/xenserver/xenserver60/../../../../network/domr/ >>>>>> >>>/call_firewall.sh >>>>>> >>> >>>>>> >>> I built the system how I normally do: mvn -P developer,systemvm >>>>>> clean >>>>>> >>> install >>>>>> >>> >>>>>> >>> >>>>>> >>> On Thu, Feb 27, 2014 at 4:57 PM, Mike Tutkowski < >>>>>> >>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>> >>>>>> >>>> Actually, ignore that last e-mail...I figured out what the log >>>>>> meant. >>>>>> >>>> >>>>>> >>>> However, I am still having trouble getting the CS MS to stay >>>>>> connected >>>>>> >>>> to the XenServer host. >>>>>> >>>> >>>>>> >>>> >>>>>> >>>> On Thu, Feb 27, 2014 at 4:55 PM, Mike Tutkowski < >>>>>> >>>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>>> >>>>>> >>>>> Not sure if this has anything to do with it, but part of what >>>>>> the log >>>>>> >>>>> says near this exception is that it can't locate a certain >>>>>> folder. >>>>>> >>>>>However, >>>>>> >>>>> this screen shot shows that the folder in question does exist: >>>>>> >>>>> >>>>>> >>>>> http://i.imgur.com/ptZj9Is.png >>>>>> >>>>> >>>>>> >>>>> >>>>>> >>>>> On Thu, Feb 27, 2014 at 4:30 PM, Mike Tutkowski < >>>>>> >>>>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> >>>>>> >>>>>> I've been away from the master branch for a while and am now >>>>>> trying >>>>>> >>>>>>to >>>>>> >>>>>> set up an environment on it. >>>>>> >>>>>> >>>>>> >>>>>> I'm having trouble creating a cloud with a single XenServer 6.1 >>>>>> >>>>>>host. >>>>>> >>>>>> >>>>>> >>>>>> Any thoughts on this? >>>>>> >>>>>> >>>>>> >>>>>> Thanks! >>>>>> >>>>>> >>>>>> >>>>>> 2014-02-27 16:07:03,059 DEBUG [c.c.h.Status] >>>>>> >>>>>> (AgentTaskPool-1:ctx-cb62d21c) Agent status update: [id = 1; >>>>>> name = >>>>>> >>>>>> XenServer-6.1-Tut; old status = Connecting; event = >>>>>> >>>>>>AgentDisconnected; new >>>>>> >>>>>> status = Alert; old update count = 3; new update count = 4] >>>>>> >>>>>> 2014-02-27 16:07:03,060 DEBUG >>>>>> [c.c.a.m.ClusteredAgentManagerImpl] >>>>>> >>>>>> (AgentTaskPool-1:ctx-cb62d21c) Notifying other nodes of to >>>>>> >>>>>>disconnect >>>>>> >>>>>> 2014-02-27 16:07:03,067 WARN [c.c.r.ResourceManagerImpl] >>>>>> >>>>>> (AgentTaskPool-1:ctx-cb62d21c) Unable to connect due to >>>>>> >>>>>> com.cloud.exception.ConnectionException: Reinitialize agent >>>>>> after >>>>>> >>>>>> setup. >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer.processConnec >>>>>> >>>>>>t(XcpServerDiscoverer.java:695) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(A >>>>>> >>>>>>gentManagerImpl.java:498) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(Age >>>>>> >>>>>>ntManagerImpl.java:1411) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceMan >>>>>> >>>>>>agerImpl.java:1738) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceMan >>>>>> >>>>>>agerImpl.java:1864) >>>>>> >>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>> Method) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. >>>>>> >>>>>>java:57) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces >>>>>> >>>>>>sorImpl.java:43) >>>>>> >>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti >>>>>> >>>>>>on(AopUtils.java:317) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo >>>>>> >>>>>>inpoint(ReflectiveMethodInvocation.java:183) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( >>>>>> >>>>>>ReflectiveMethodInvocation.java:150) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.interceptor.ExposeInvocationInterceptor.invok >>>>>> >>>>>>e(ExposeInvocationInterceptor.java:91) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( >>>>>> >>>>>>ReflectiveMethodInvocation.java:172) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami >>>>>> >>>>>>cAopProxy.java:204) >>>>>> >>>>>> at com.sun.proxy.$Proxy143.createHostAndAgent(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>com.cloud.agent.manager.AgentManagerImpl$SimulateStartTask.runInConte >>>>>> >>>>>>xt(AgentManagerImpl.java:1053) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(Ma >>>>>> >>>>>>nagedContextRunnable.java:49) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>>org.apache.cloudstack.managed.context.impl.DefaultManagedContext$ >>>>>> 1.ca >>>>>> >>>>>>ll(DefaultManagedContext.java:56) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.apache.cloudstack.managed.context.impl.DefaultManagedContext.call >>>>>> >>>>>>WithContext(DefaultManagedContext.java:103) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runW >>>>>> >>>>>>ithContext(DefaultManagedContext.java:53) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>org.apache.cloudstack.managed.context.ManagedContextRunnable.run(Mana >>>>>> >>>>>>gedContextRunnable.java:46) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. >>>>>> >>>>>>java:1145) >>>>>> >>>>>> at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor >>>>>> >>>>>>.java:615) >>>>>> >>>>>> at java.lang.Thread.run(Thread.java:744) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> *Mike Tutkowski* >>>>>> >>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> >>>>>> e: mike.tutkow...@solidfire.com >>>>>> >>>>>> o: 303.746.7302 >>>>>> >>>>>> Advancing the way the world uses the >>>>>> >>>>>>cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >>>>>> *(tm)* >>>>>> >>>>>> >>>>>> >>>>> >>>>>> >>>>> >>>>>> >>>>> >>>>>> >>>>> -- >>>>>> >>>>> *Mike Tutkowski* >>>>>> >>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> >>>>> e: mike.tutkow...@solidfire.com >>>>>> >>>>> o: 303.746.7302 >>>>>> >>>>> Advancing the way the world uses the >>>>>> >>>>>cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >>>>> *(tm)* >>>>>> >>>>> >>>>>> >>>> >>>>>> >>>> >>>>>> >>>> >>>>>> >>>> -- >>>>>> >>>> *Mike Tutkowski* >>>>>> >>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> >>>> e: mike.tutkow...@solidfire.com >>>>>> >>>> o: 303.746.7302 >>>>>> >>>> Advancing the way the world uses the >>>>>> >>>>cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >>>> *(tm)* >>>>>> >>>> >>>>>> >>> >>>>>> >>> >>>>>> >>> >>>>>> >>> -- >>>>>> >>> *Mike Tutkowski* >>>>>> >>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> >>> e: mike.tutkow...@solidfire.com >>>>>> >>> o: 303.746.7302 >>>>>> >>> Advancing the way the world uses the >>>>>> >>>cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >>> *(tm)* >>>>>> >>> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> -- >>>>>> >> *Mike Tutkowski* >>>>>> >> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> >> e: mike.tutkow...@solidfire.com >>>>>> >> o: 303.746.7302 >>>>>> >> Advancing the way the world uses the >>>>>> >>cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >> *(tm)* >>>>>> >> >>>>>> > >>>>>> > >>>>>> > >>>>>> >-- >>>>>> >*Mike Tutkowski* >>>>>> >*Senior CloudStack Developer, SolidFire Inc.* >>>>>> >e: mike.tutkow...@solidfire.com >>>>>> >o: 303.746.7302 >>>>>> >Advancing the way the world uses the >>>>>> >cloud<http://solidfire.com/solution/overview/?video=play> >>>>>> >*(tm)* >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Mike Tutkowski* >>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>> e: mike.tutkow...@solidfire.com >>>>> o: 303.746.7302 >>>>> Advancing the way the world uses the >>>>> cloud<http://solidfire.com/solution/overview/?video=play> >>>>> *(tm)* >>>>> >>>> >>>> >>>> >>>> -- >>>> *Mike Tutkowski* >>>> *Senior CloudStack Developer, SolidFire Inc.* >>>> e: mike.tutkow...@solidfire.com >>>> o: 303.746.7302 >>>> Advancing the way the world uses the >>>> cloud<http://solidfire.com/solution/overview/?video=play> >>>> *(tm)* >>>> >>> >>> >>> >>> -- >>> *Mike Tutkowski* >>> *Senior CloudStack Developer, SolidFire Inc.* >>> e: mike.tutkow...@solidfire.com >>> o: 303.746.7302 >>> Advancing the way the world uses the >>> cloud<http://solidfire.com/solution/overview/?video=play> >>> *(tm)* >>> >> >> >> >> -- >> *Mike Tutkowski* >> *Senior CloudStack Developer, SolidFire Inc.* >> e: mike.tutkow...@solidfire.com >> o: 303.746.7302 >> Advancing the way the world uses the >> cloud<http://solidfire.com/solution/overview/?video=play> >> *(tm)* >> > > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkow...@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the > cloud<http://solidfire.com/solution/overview/?video=play> > *(tm)*