Cool, really thanks for reaching out, much appreciated! I’ve had the same problem with keeping my sources up to date, it hurts a lot :) I don’t recognise the midget error tbh :(
Cheers, Funs > On 26 Mar 2015, at 21:41, Roger Crerie <roger.cre...@hds.com> wrote: > > Thanks both for the reply. I am going to try and move forward with the > skipTest option for now. After fixing these issues I found myself for these > test I ran into another test error in the plugins/network-elements/midonet > code. I will attach my build output here but again just skipping the test > might get me through a build. My biggest issue I guess is an update from the > source cause a slew of new build problems which didn't exist before. I guess > that teaches me to update my source ;). > > Roger > > -----Original Message----- > From: Funs Kessen [mailto:fozzielumpk...@gmail.com] On Behalf Of Funs Kessen > Sent: Thursday, March 26, 2015 4:36 PM > To: Daan Hoogland; Roger Crerie > Cc: dev > Subject: Re: OVM3 test failures > > Hi Roger/Daan, > > Sorry for coming late to the party, and my apologies in advance! > > You’re right as the base value for “getVirtualDiskPath” is hardcoded in > com.cloud.hypervisor.ovm3.resources.helpers Ovm3Configuration,java’s variable > agentOvmRepoPath. I never thought about it as OVM3 is linux itself and I > developed it on Mac/Linux, so my bad as I should have used File.seperator > there. The same goes for “getAgentSecStoragePath”’s agentSecStoragePath > variable > > The second part of the booboo is in the tests themselves actually as you’ve > noticed, so I’ll have to place the File.seperator there too in XenTest.java. > > Thanks for reaching out! > > @Daan: I can fix it in the ovm3rebase branch so you can pick it out ? > > Cheers, > > Funs > >> On 26 Mar 2015, at 21:32, Daan Hoogland <daan.hoogl...@gmail.com> wrote: >> >> Well, these are interesting questions. >> >> A generic solution is to split the path on both seperators in a >> generic (util) method. this would solve both a mixed and an unexpected >> case. On caveat is that for some reason a mixed case might be >> intentional though i can't see why right now. >> >> Another tactic is to go for the root and solve it there but as this is >> a heterogeneous system, the root might be outside the java realm. Not >> that this would make solving on input inpossible but it would make it >> harder. >> >> as a direct solution to run tests on a window based test system you >> might consider building using skipTests. that will not run unit tests >> during build. >> >> third option is to abandon windows support which is not really an >> option but maybe a way for you to go (build in a virtualmachine). >> Hyperv is a target so you don't have to worry about my wishful >> thinking. >> >> >> >> On Thu, Mar 26, 2015 at 9:02 PM, Roger Crerie <roger.cre...@hds.com> wrote: >>> Daan I looked in my GIT histories and I see the commit >>> a4c23b170e4c94d4ed4783b19a051ad8f6c45328 (findbugs: just in case we run on >>> windows, use save expression) So that is where my first problem is coming >>> from. Using Cygwin on Windows my file separators are the '/' character BUT >>> Java stills sees them as.... >>> 2015-03-26 15:44:34 DEBUG Xen:441 - System File.separator = \ >>> 2015-03-26 15:44:34 DEBUG Xen:442 - System File.separatorChar = \ >>> >>> So in this case using Cygwin on windows and running these tests the tests >>> fail here. Being new to cloudstack I am not sure that this merits a code >>> fix to handle this situation. I do know that the documentation on the >>> wiki >>> (https://cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+a+CloudStack+dev+environment+on+Windows) >>> gives you instructions on windows to download cygwin and install it on >>> your window system. >>> >>> The second location I found a problem is trickier. We have 2 separate >>> issues. >>> >>> 1.) the getVirtualDiskPath() call creates you a VDisk path which contains >>> different path separators (due in large part to the >>> config.getAgentOvnRepoPath() call). >>> 2.) the StoragePlugin.storagePluginCreate call returns back a >>> FileProperties file where all the separators are "/" and not '\' as defined >>> by File.serparator. >>> >>> Again this is probably a Cygwin on windows issue BUT the wiki does say to >>> use Cygwin when developing on windows. Thoughts? >>> >>> Roger >>> >>> -----Original Message----- >>> From: Daan Hoogland [mailto:daan.hoogl...@gmail.com] >>> Sent: Thursday, March 26, 2015 3:23 PM >>> To: dev >>> Cc: Funs Kessen >>> Subject: Re: OVM3 test failures >>> >>> right, so your second example means that the string has to be split >>> according to both separators, it seems >>> >>> On Thu, Mar 26, 2015 at 8:14 PM, Roger Crerie <roger.cre...@hds.com> wrote: >>>> So I have identified a couple of places in the code where these tests are >>>> failing for me. Again let me reiterate that I am building using Cygwin on >>>> a Windows 7 system. Up until today this has not been a problem but when I >>>> brought in the OVM3 features I ran into FILE separator issues..... >>>> >>>> C:\workspaces\Cloudstack\WS1\cloudstack\plugins\hypervisors\ovm3\src >>>> \m ain\java\com\cloud\hypervisor\ovm3\objects\Xen.java >>>> >>>> Line 437: String[] st = diskPath.split(File.separatorChar == '\\' ? >>>> "\\\\" : File.separator); >>>> >>>> On my build environment this return a String array of size 1. The path I >>>> getting back from the getVMDiskDetailFromMap call looks like >>>> file:/OVS/Repositories/f12842ebf5ed3fe78da1eb0e17f5ede8/VirtualDisks/722eb520-dcf5-4113-8f45-22d67c9a2f3c.raw >>>> and the \ character isn't present at all. When I make the regex string >>>> to be '/' my test now works. >>>> >>>> C:\workspaces\Cloudstack\WS1\cloudstack\plugins\hypervisors\ovm3\src >>>> \m ain\java\com\cloud\hypervisor\ovm3\resources >>>> >>>> Line 553: if (!fp.getName().equals(file)) { >>>> >>>> Again this has to do with the file separator character. >>>> >>>> /OVS/Repositories/f12842ebf5ed3fe78da1eb0e17f5ede8/VirtualDisks/1571 >>>> 0e ca-1ea7-47f0-8bde-e6bd0066fec8.raw != >>>> /OVS/Repositories\f12842ebf5ed3fe78da1eb0e17f5ede8\VirtualDisks\1571 >>>> 0e >>>> ca-1ea7-47f0-8bde-e6bd0066fec8.raw >>>> >>>> Notice how the file separators change in the middle of the second string. >>>> >>>> Roger >>>> >>>> >>>> -----Original Message----- >>>> From: Roger Crerie [mailto:roger.cre...@hds.com] >>>> Sent: Thursday, March 26, 2015 2:43 PM >>>> To: dev@cloudstack.apache.org >>>> Cc: Funs Kessen >>>> Subject: RE: OVM3 test failures >>>> >>>> Just to clear up a few more things. I am building in Cygwin on a windows >>>> system. I through in some more debugging and found that the split command >>>> isn't doing what is expected...... >>>> >>>> 2015-03-26 14:47:12 DEBUG Ovm3HypervisorResource:208 - >>>> executeRequest >>>> called: class com.cloud.agent.api.StopCommand >>>> 2015-03-26 14:47:12 DEBUG ConnectionTest:72 - getresult call: >>>> list_vms >>>> - [] >>>> 2015-03-26 14:47:12 DEBUG Xen:437 - diskPath = >>>> file:/OVS/Repositories/f12842ebf5ed3fe78da1eb0e17f5ede8/VirtualDisks >>>> /7 22eb520-dcf5-4113-8f45-22d67c9a2f3c.raw >>>> 2015-03-26 14:47:12 DEBUG Xen:439 - st Size = 1 st = >>>> [Ljava.lang.String;@2e01787 >>>> 2015-03-26 14:47:12 DEBUG Ovm3HypervisorResource:559 - Stop i-2-3-VM >>>> failed >>>> java.lang.ArrayIndexOutOfBoundsException: 3 >>>> >>>> The code actually hard codes the number 3 in the code so as to return the >>>> 3 string from the split array. As you can see from my debug output the >>>> split command isn't getting 3+ string in the array but rather just 1 (st >>>> Size = 1). >>>> >>>> Roger >>>> >>>> >>>> -----Original Message----- >>>> From: Roger Crerie [mailto:roger.cre...@hds.com] >>>> Sent: Thursday, March 26, 2015 2:33 PM >>>> To: dev@cloudstack.apache.org >>>> Cc: Funs Kessen >>>> Subject: RE: OVM3 test failures >>>> >>>> From what I am seeing in the surefire reports though it looks like I am >>>> running into an ArrayIndexOutOfBoundsException. >>>> >>>> 2015-03-26 13:40:48 DEBUG Ovm3HypervisorResource:345 - configure >>>> ovm-1 with params: {agentusername=oracle, >>>> public.network.device=xenbr0, xenserver.heartbeat.interval=60, >>>> private.network.device=xenbr0, agentpassword=unknown, >>>> Hypervisor.Version=4.1.3OVM, secondary.storage.vm=false, >>>> Host.OS=Oracle VM Server, ovm3pool=true, ipaddress=192.168.1.64, >>>> password=unknown, username=root, >>>> pool=a9c1219d-817d-4242-b23e-2607801c79d5, ismaster=false, >>>> storage.network.device=xenbr0, ovm3.heartbeat.timeout=120, >>>> Host.OS.Version=5.7, xenserver.nics.max=7, agentVersion=3.2.1-183, >>>> router.aggregation.command.each.timeout=3, pod=1, istest=true, >>>> max.template.iso.size=50, host=ovm-1, >>>> com.cloud.network.Networks.RouterPrivateIpStrategy=DcGlobal, >>>> agentport=8899, Host.OS.Kernel.Version=2.6.39-300.22.2.el5uek, >>>> migratewait=3600, storage.network.device1=xenbr0, >>>> ovm3.heartbeat.interval=1, ip=192.168.1.64, ovm3cluster=false, >>>> guid=19e5f1e7-22f4-3b6d-8d41-c82f89c65295, ovm3vip=192.168.1.230, >>>> hasmaster=true, cluster=1, guest.network.device=xenbr0, zone=1, >>>> xenserver.heartbeat.timeout=120} >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> check_dom0_ip - [192.168.1.230] >>>> 2015-03-26 13:40:48 DEBUG Ovm3HypervisorSupport:587 - ovm-1 is a >>>> master, already has vip 192.168.1.230 >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> discover_network - [] >>>> 2015-03-26 13:40:48 DEBUG Ovm3HypervisorNetwork:75 - already have >>>> control0 >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> ovs_ip_config - [control0, static, 169.254.0.1, 255.255.0.0] >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> ovs_control_interface - [control0, 169.254.0.0/16] >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> discover_hardware - [] >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> discover_server - [] >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:67 - methodresponse call: >>>> update_server_roles - [xen,utility] >>>> 2015-03-26 13:40:48 DEBUG Ovm3StoragePool:164 - Host ovm-1 owned by >>>> us >>>> 2015-03-26 13:40:48 DEBUG Ovm3HypervisorResource:208 - >>>> executeRequest >>>> called: class com.cloud.agent.api.StopCommand >>>> 2015-03-26 13:40:48 DEBUG ConnectionTest:72 - getresult call: >>>> list_vms >>>> - [] >>>> 2015-03-26 13:40:48 DEBUG Ovm3HypervisorResource:559 - Stop i-2-3-VM >>>> failed >>>> java.lang.ArrayIndexOutOfBoundsException: 3 >>>> at >>>> com.cloud.hypervisor.ovm3.objects.Xen$Vm.getVmDiskPoolId(Xen.java:438) >>>> at >>>> com.cloud.hypervisor.ovm3.objects.Xen$Vm.getVmRootDiskPoolId(Xen.java:423) >>>> at >>>> com.cloud.hypervisor.ovm3.resources.Ovm3HypervisorResource.execute(Ovm3HypervisorResource.java:537) >>>> at >>>> com.cloud.hypervisor.ovm3.resources.Ovm3HypervisorResource.executeRequest(Ovm3HypervisorResource.java:285) >>>> at >>>> com.cloud.hypervisor.ovm3.resources.Ovm3HypervisorResourceTest.stopVmTest(Ovm3HypervisorResourceTest.java:198) >>>> 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:606) >>>> at >>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) >>>> at >>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >>>> at >>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) >>>> at >>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) >>>> at >>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) >>>> at >>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) >>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) >>>> at >>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) >>>> at >>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) >>>> at >>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) >>>> at >>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) >>>> at >>>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) >>>> at >>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) >>>> at >>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java >>>> :1 >>>> 03) >>>> >>>> >>>> -----Original Message----- >>>> From: Daan Hoogland [mailto:daan.hoogl...@gmail.com] >>>> Sent: Thursday, March 26, 2015 2:23 PM >>>> To: dev >>>> Cc: Funs Kessen >>>> Subject: Re: OVM3 test failures >>>> >>>> Roger, I've been browsing through your output and can't find an obvious >>>> root cause. I am cc'ing the author of the ovm3. In the meanwhile i'll be >>>> compiling master and run the dbdeploy target. What do you mean by 'ovm >>>> install command'? typo? >>>> >>>> On Thu, Mar 26, 2015 at 7:03 PM, Roger Crerie <roger.cre...@hds.com> wrote: >>>>> Thanks for the quick reply. Please find attached a text of the >>>>> build errors I am getting for OVM3 >>>>> >>>>> Roger >>>>> >>>>> -----Original Message----- >>>>> From: Daan Hoogland [mailto:daan.hoogl...@gmail.com] >>>>> Sent: Thursday, March 26, 2015 1:28 PM >>>>> To: dev >>>>> Subject: Re: OVM3 test failures >>>>> >>>>> H Roger, >>>>> >>>>> I hope you are missing something but can't say for sure. The jenkins >>>>> master build [1] seems not to have your problem. So please expand on your >>>>> problems. >>>>> >>>>> [1] http://jenkins.buildacloud.org/job/master-slowbuild/ >>>>> >>>>> On Thu, Mar 26, 2015 at 6:18 PM, Roger Crerie <roger.cre...@hds.com> >>>>> wrote: >>>>>> I just updated my source from the master repository. I am now seeing >>>>>> failures with cloud-plugin-hypervisor-ovm3. The failures are having to >>>>>> do with the tests that OVM3 are running. I ran the ovm install command >>>>>> to clear the old databse .... >>>>>> mvn -P developer -pl developer -Ddeploydb >>>>>> >>>>>> But when I go to build cloudstack now I fail with 6 separate tests in >>>>>> OVM3. Am I missing something? >>>>>> >>>>>> Roger >>>>> >>>>> >>>>> >>>>> -- >>>>> Daan >>>> >>>> >>>> >>>> -- >>>> Daan >>> >>> >>> >>> -- >>> Daan >> >> >> >> -- >> Daan >> > > <install.txt>