15:10:24 #startmeeting jQuery/XPath for MD-SAL intern 15:10:24 Meeting started Thu Jul 10 15:10:24 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 15:10:24 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:10:24 The meeting name has been set to 'jquery_xpath_for_md_sal_intern' 15:10:33 #topic status update 15:12:09 i guess i did it right 15:12:29 014-07-10 20:34:23.426 IST [config-pusher] INFO o.o.c.c.y.c.t.i.ToasterProviderModule - Toaster provider (instance org.opendaylight.controller.config.yang.config.toaster_provider.impl.ToasterProviderModule$1AutoCloseableToaster@75fa8eb5) initialized 15:13:04 That is for the Toaster. :) Your message should be similar though "TaskProviderModule" 15:15:05 then i did it wrong 15:15:16 it is not initialized 15:15:37 #info Neel_B is just finishing step 5 from the list devinavery gave him of how to get started with the MD-SAL 15:15:43 Ok. Did you copy over the configuration XML? 15:15:47 i copied the jar files and 15:15:49 in addition to the jars? 15:15:56 2 configuration xml 15:16:11 one consumer and one provider 15:16:29 Ok - can you copy the full path of where you copied the files TO? 15:17:15 opendaylight/configuration/initial 15:17:30 that initial folder was not there i created 15:17:43 that path is mentioned in archetype next stpes 15:17:48 steps* 15:17:58 can you go to that destination folder and do a "pwd"? 15:18:05 The folder should have already existed 15:20:53 /home/neel/odl/mywork/controller/opendaylight/configuration 15:23:55 #chair devinavery 15:23:56 Current chairs: colindixon devinavery 15:24:15 ok. Should be /home/neel/odl/mywork/controller/opendaylight/distribution/opendaylight/target/distribut....../opendaylight/configuration/initial 15:24:28 You have to go into the location where you actually start the controller from, not the source code. 15:25:23 the full path should be /home/neel/odl/mywork/controller/opendaylight/distribution/opendaylight/target/distribution.opendaylight-osgipackage/opendaylight/configuration/initial 15:25:40 okay 15:25:49 #info it appears as though Neel_B was having trouble copying the jars/config files to the right place 15:26:24 all: I'm reading, just splitting my attention n ways 15:26:30 #info the jar files should go in this direcory: /home/neel/odl/mywork/controller/opendaylight/distribution/opendaylight/target/distribution.opendaylight-osgipackage/opendaylight/plugins 15:27:11 #info the config (xml) files should go in this directory: /home/neel/odl/mywork/controller/opendaylight/distribution/opendaylight/target/distribution.opendaylight-osgipackage/opendaylight/configuration/initial 15:27:26 (I’m just logging this stuff so that Neel_B has something to go back and look at in the notes if he wants later) 15:28:08 done 15:28:17 both Taskprovider and 15:28:24 #info where /home/neel/odl/mywork/controller is the path to the controller repository on Neel_B’s machine 15:28:44 Great. So now you see the info message that the TaskProvider is initialized? 15:28:44 TaskConsumer initialized 15:28:57 2014-07-10 20:54:45.324 IST [config-pusher] INFO o.o.c.c.y.c.t.i.TaskProviderModule - TaskProvider (instance org.opendaylight.controller.config.yang.config.task_provider.impl.TaskProviderModule$1CloseResources@1313edc) initialized. 15:28:57 2014-07-10 20:54:45.406 IST [config-pusher] INFO o.o.c.c.y.c.t.i.TaskConsumerModule - TaskConsumerService (instance org.opendaylight.controller.config.yang.config.task_consumer.impl.TaskConsumerModule$1AutoCloseableService@40dfcaa) initialized. 15:29:04 Cool cool. 15:29:18 setting up rpc 15:29:19 Did you add a print out statement verifying that the DOMDataBroker was non-nuill? 15:29:59 DOMDataBroker domDataBroker=getDomDataBrokerDependency(); 15:29:59 System.out.println(domDataBroker); 15:30:37 Cool cool. And you see that getting printed out too - right? 15:32:09 looking 15:32:51 no not printed 15:34:17 Ok. I would add some additional text in there so you can find it easily. Then make sure that you compile and copy over the new jar file from the target directory correctly 15:35:00 #info with that change, Neel_B has his first MD-SAL app up and working in the controller! 15:35:06 #topic nex steps 15:35:36 #topic next steps 15:36:22 #info devinavery suggests that we could speed up development by setting up an integration test 15:36:30 #chair regXboi 15:36:30 Current chairs: colindixon devinavery regXboi 15:37:19 printed 15:37:31 i copied it without buildinf 15:37:55 i added print and did not build 15:38:04 now its printer 15:38:08 printed* 15:38:17 org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl@5e451607 15:38:43 Awesome. Ok. So we are ready to move onto the next steps 15:38:59 Thought to be honest, instead of wasting time using the real controller, I would suggest we try and use an integration test. 15:39:12 This is new territory for me though, so we will have to experiment 15:40:51 okay how do we do that ? 15:41:29 Well. I am looking at the "sample-toaster-it" bundle in the controller as an example 15:41:52 We can use a framework called "pax-exam" which essentially loads a real OSGi environment up. 15:42:57 So.... I am guessing that we can take most of that existing code, perhaps comment out a few things, but ultimately get ahold of a real DOMDataBroker, and then play around with it 15:43:10 This would allow us to run JUnit tests just like we did before, and thus make it faster to experiment 15:44:21 okay 15:45:08 I am playing around with it myself as well, but I would suggest you first just try and run the toaster sample IT bundle test through eclipse 15:47:17 okay i would import it now 15:48:56 Ok. 15:49:33 Ok. I will #action some new next steps 15:50:09 okay 15:52:15 #info change of plans with regards to next steps. Instead of getting a URL up and running in a "running" controller we should use an integration test instead for faster development 15:52:27 #info will #action next steps 15:53:05 #action Neel_B should try running the sample-toaster-it project in the controller source code, to get a feel for how it runs. 15:53:25 #action Neel_B should then copy to project to his projects so we can modify it 15:54:33 done 15:54:54 devinavery: i am missing one plugin for eclipse 15:54:57 installing it 15:55:09 #action Neel_B should now modify his copy of the integration test to do the minimal amount of work (for example, comment out all comments in the "testToaster" methods) and add in a simple Print line to understand how integration test flow works 15:56:52 #action Neel_B should then try to import the DOMDataBroker service using the the @Inject method (hopefully all dependencies are already being pulled in). 15:57:48 #action Neel_B now has a functioning DOMDataBroker installed. Neel_B should use that to first insert a simple toaster and then use it to experiment with how we might merge the element and read interfaces of MD-SAL 15:58:31 #action Neel_B: Note, Neel_B may want to import the DataBroker (which is the "binding" version to create the toaster information as is done in the toaster provider code. May prove to be easier.) 15:58:43 Ok, so at a high level does that make sense Neel? 15:58:57 i am reading 16:00:40 sort of i will ping when i need more help presently i get what we are doing 16:00:45 at a high level 16:01:42 Ok great. It is a bit of experimentation, but the idea in general is to take the toaster iteration test bundle as a starting point, then modifying it a step at a time to test what we want. I think you will only need to comment out the code in the method annotated with the @Test annotation 16:01:48 ok 16:01:49 Everything else can probably stay for now 16:02:06 okay 16:02:06 #info The idea in general is to take the toaster iteration test bundle as a starting point, then modifying it a step at a time to test what we want. I think you will only need to comment out the code in the method annotated with the @Test annotation 16:02:38 okay 16:03:30 Alright. Well that should give you plenty to get started with for tomorrow. :) 16:03:31 perfect 16:03:41 #endmeeting