13:37:56 #startmeeting jquery_xpath_for_md_sal_intern 13:37:56 Meeting started Mon Aug 18 13:37:56 2014 UTC. The chair is devinavery. Information about MeetBot at http://ci.openstack.org/meetbot.html. 13:37:56 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:37:56 The meeting name has been set to 'jquery_xpath_for_md_sal_intern' 13:38:19 #topic Status Update 13:38:30 the compiled code has errors 13:38:40 #info Neel has modified yang file. Seems to be hanging test trouble after having modified the yang file 13:38:49 Ok. So there is something likely wrong in your .yang file. 13:38:49 so i made 2 classes childtoaster and childtoaster builder 13:39:04 Those will be automatically generated for you. 13:39:08 You only need to modify the .yang file 13:39:25 they weren't 13:39:42 Ok. Moving the toaster yang to the toaster bundle to se what is going on 13:39:53 That is actually a good first question. Where did you modify the toaster.yang file? 13:40:01 What bundle did you modify it under? The original toaster.yang file? 13:41:24 yeah the original toaster.yang file 13:42:03 OK. Can you send me your build error? Because I am not seeing any' 13:42:16 and i added a container child toaster.. 13:42:19 That is, you modified the.yang file, then rebuilt that bundle 13:43:35 yeah 13:43:57 build has no error 13:44:00 Ok. So that worked for me 13:44:03 buid is fine 13:44:07 And it created a Childtoaster and ChildtoasterBuilder 13:44:41 i don't know when i tried i created both of them .. :\ 13:44:48 build was fine 13:45:02 but when i updated maven repo in exlipse 13:45:32 there were redmarks in toaster and toasterbuilder ... 13:46:29 Ok. I would suggest trying to these steps again. Reset the toaster bundle. Then copy in just your toaster.yang changes. 13:46:43 Rebuild that one bundle and make sure that it compiles 13:46:55 toaster bundle right ? 13:47:04 Yes. The existing toaster bundle 13:47:29 Verify that under yang-gen-sal the child toaster and child toaster builder classes were created under a new package 13:47:55 Once that is done, go to your xpath toaster-it project and try to bring in the ChildtoasterBuilder class. It is possible that we need to modify the pom.xml file of the toaster it project to import the new package 13:48:04 I need to step away for a few minutes 13:48:09 back in 5 minutes at most 13:48:11 okay 13:48:18 i will try it in mean while 13:53:49 I am back 13:57:38 some issue with my eclipse 13:57:47 i nedd 2mins 13:57:54 ok 14:01:08 hey... sorry I'm late - I got to spend the last 90 minutes hacking a door lock 14:03:14 regXboi.. No problem. :) 14:03:30 You haven't missed much. Neel tried changing the yang file and ended up getting a bunch of compile errors 14:03:58 Actually not compile errors, but rather run time errors when running the unit tests 14:04:16 I am seeing runtime error issues as well) 14:04:16 I saw the email - haven't had a chance to look at the code *yet* 14:07:18 do we have a paste bin? 14:07:34 and is the error code *in* github? 14:08:10 The error code is in git hub, but you need to manually copy the updated .yang file to the samples/toaster project and recompile it 14:11:37 what's the diff between the updated toaster.yang and the original? 14:11:56 look for the embedded "childToaster" container 14:14:00 This is the error I am getting when running the test right now: http://pastebin.com/KDDCbmNe 14:14:19 oh right 14:14:37 I can't run the Junit test, I'm still fighting with a broken TestHelper 14:14:54 Ok. You can see this error even with the original Toaster-it test 14:14:59 Not sure if that one runs for you or not 14:16:41 ugh 14:18:53 sorry got disconnected 14:19:12 Neel_B: no problem. I am seeing an error now when running the test 14:19:13 devinavery: i don't see any childtoaster or childtoasterbuilder 14:19:29 How are you looking for those classes Neel? 14:19:30 when i am rebuilt it 14:19:37 in the code ? 14:20:08 Look for them using the command line. Depending on your eclipse set up you may not see those classes get imported automatically 14:21:32 yeah i saw them 14:21:40 so 14:21:48 so i set the .yang file correct ? 14:21:52 so I'm not seeing the errors 14:21:58 with proper nesting right ? 14:23:05 i did not change pom.xml to include the module 14:23:12 what should i include 14:23:34 regXboi: So update yang file. Rebuild the toaster project. Now go to either Neels toaster test OR the existing toaster test and run it. 14:23:50 You should see a bunch of errors.' 14:23:52 I did, I did, I didn't 14:24:19 Really... hmm.. 14:24:41 hmm 14:24:55 regXboi: can you reference the ChildtoasterBuilder from inside the test and running it again? 14:25:09 shouldn't need to 14:25:21 the doc dump should trip it and it didn't 14:25:40 doc dump? 14:25:40 so I'm not seeing the updated yang 14:26:04 the test I was looking at dumped an MD-SAL node as a doc 14:26:11 Ahh. Understood. 14:26:32 regXboi: Ok - so you don't see the new classes getting created under yang-gen-sal? 14:26:36 in the toaster bundle? 14:26:42 self test passed 14:27:00 no, I suspect I'm change the wrong toaster.yang - I was hitting the one in the samples 14:28:08 but there are a whole bunch of other yang files that aren't getting updated 14:29:03 We should in theory only have to change the toaster.yang in the md-sal/samples/toaster ... in theory... 14:29:38 I have toaster yangs in md-sal/sal-rest-docgen and sal-rest-connector as well 14:29:41 they are targets 14:29:43 but... 14:29:51 those should just be in the "Test" directories... 14:30:16 and there is a toaster.yang in samples/toaster/bin/target/classes/META-INF/yang/toaster.yang that isn't changing either 14:31:37 and I'm still looking at the original yang (I think) 14:33:29 opendaylight/md-sal/samples/toaster/src/main/yang/toaster.yang 14:33:34 is the file i changed 14:35:18 nope, still not getting it 14:36:10 opendaylight/md-sal/samples/toaster/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/http/netconfcentral/org/ns/toaster/rev091120/toaster 14:36:31 this is where you should find childtoaster and childtoasterbuilder 14:39:36 so I'm cleaning out my .m2 and trying again 14:52:12 devinavery: regXboi what i see is 14:52:20 child node not added 14:52:40 and test are passing 14:53:00 Can you copy/paste your test output? 14:53:18 I see the test passing from the command line, but failing from within eclipse now 14:53:20 all tests passed 14:53:44 1 quick quertion 14:54:02 we are fetching the toaster from server right 14:54:12 Yup 14:54:13 how do we fetch from local copy ? 14:54:28 Ok.. I guess I don't understand your question 14:54:30 beacouse the server is not updated with childToaster 14:55:02 but our local controller/toaster has child toaster 14:55:08 Ahh... I think you are saying in the pax-exam test we read from the toaster and it is already populated, but not with the child 14:55:20 yeah 14:55:34 So, what happens is in the toaster-provider, on start up, they write to the toaster operational datastore some default values 14:56:16 Check out this class: 14:56:17 org.opendaylight.controller.sample.toaster.provider.OpendaylightToaster 14:56:20 but it has no idea about child toaster right ? 14:56:24 Specifically, the "setDataProvider" 14:56:26 Correct. 14:56:43 So what I would do, is in your integration test, modify it to write to the toaster and update 14:56:56 which includes the child information 14:57:11 can you be more eloborate ? 14:57:23 Check out the OpendaylightToaster class 14:57:37 specifically the setTioasterStatusUp() method 14:58:19 What that method does is starts a write transaction, builds a "toaster" dataObject (which does NOT include the child) and then writes it to the operational datastore. 14:58:41 You wan to do the same thing in your test, EXCEPT when you write to the operational datastore, you ALSO want to INCLUDE the child toaster object in your data object 14:58:46 Does that make sense? 14:59:32 Unfortunetly I am heading into another meeting. So I may be slow to respond for the next hour 14:59:36 #chair regXboi 14:59:36 Current chairs: devinavery regXboi 14:59:44 okay i will try that 14:59:54 #info Neel is now able to run the tests 15:00:08 (Neel - can you comment [#info] what steps you took to get there so we can record them) 15:00:31 from the start ? 15:00:41 what i did in the weeked ? 15:00:47 yes please 15:01:13 Yeah. I want to try and get my system running with those tests as well, so I want to know what you changed so I can do the same. :) 15:01:34 #info Neel_B pulled the code devinavery sent through mail 15:02:46 #info Neel_B changed the test evaluate(".", "toaster"); to evaluate("name(.)", "toaster"); and all the tests are passing on toaster 15:03:57 #info adding text nodes as children passed the tests 15:04:54 #info Neel_B changed the toaster.yang to add a child container to make the toaster a nested node 15:05:16 #info code updated in github 15:06:09 #info Built the toaster and found the childtoaster and childtoasterbuilder generated. 15:08:06 #info But the operational datastore has no entry of childtoaster so next steps would be to do a write transaction with childtoaster data in it and test it with our tests 15:08:36 Awesome 15:08:39 Thank you for the summary. 15:09:08 #info After testing with the child container and getting that to work, we will also need to test with child lists. 15:09:36 Neel - one thing. In order to get the XML for your child container you may actually want to modify the OpendaylightToaster class directly 15:09:56 I say that because then you could start up the real controller and through restconf get the XML out. 15:10:14 That way we are not guessing as to what the xpath statements for getting those children will look like 15:10:26 I don't know of an easier way to do that via the unit tests which is why I am suggesting it 15:14:49 devinavery: i will try to change i will ask for help 15:15:00 Sounds good. 15:15:03 Ok. I think we have the next steps for now 15:15:11 Anything else regXboi? Neel_B? 15:20:16 not for now 15:20:33 Ok. Will look for your e-mails :) And we will meet tomorrow sometime. 15:20:36 #endmeeting