08:00:49 <huzhj> #startmeeting daisycloud
08:00:50 <openstack> Meeting started Fri Aug 26 08:00:49 2016 UTC and is due to finish in 60 minutes.  The chair is huzhj. Information about MeetBot at http://wiki.debian.org/MeetBot.
08:00:51 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
08:00:53 <openstack> The meeting name has been set to 'daisycloud'
08:01:05 <huzhj> 1) Roll Call
08:01:13 <huzhj> #topic Roll Call
08:01:22 <kongwei> #info kongwei
08:01:32 <huzhj> #info  Zhijiang
08:02:32 <huzhj> waiting more people to join...
08:02:47 <zhuzeyu> #info zhuzeyu
08:02:59 <huzhj> Hi Zeyu
08:03:10 <huzhj> Hi Wei
08:03:21 <kongwei> hi
08:03:27 <huzhj> Ya seem got network problem
08:04:29 <luyao> #info luyao
08:04:49 <zhouya> #zhouya
08:04:56 <zhouya> #info zhouya
08:05:05 <huzhj> OK, let move on
08:05:12 <huzhj> #topic OPNFV CI Evolution Study Progress
08:05:58 <huzhj> @Wei do you have anything updated for the OPNFV CI and JJB stuff?
08:06:27 <kongwei> yes
08:06:44 <kongwei> i update the wiki page
08:07:04 <huzhj> could you please provide the link?
08:07:53 <huzhj> is it https://wiki.openstack.org/wiki/Daisy#Example_of_Daisy_CI_Environmen  ?
08:08:06 <kongwei> i append the content at the end of your wiki page
08:08:09 <kongwei> yes
08:08:17 <huzhj> Great.
08:08:50 <huzhj> #info Wei done some wiki page update for daisycloud CI documentation ,at https://wiki.openstack.org/wiki/Daisy#Example_of_Daisy_CI_Environmen
08:09:50 <huzhj> What about OPNFV side? I thought the topic is about OPNFV
08:14:44 <huzhj> OK, may be Jing has more update about OPNFV CI , I will try to contact with her
08:15:26 <huzhj> shall we move to the next topic?
08:15:32 <zhouya> OK
08:15:36 <huzhj> #topic Bare Metal Deployment(PXE/IPMI) Status Update
08:16:09 <huzhj> @luyao do you have any progress on this?:)
08:16:49 <luyao> now I can deploy bare metal include pxe server build
08:17:00 <luyao> and get progress
08:17:20 <huzhj> # #luyao said we can can deploy bare metal include pxe server build
08:17:20 <huzhj> and get progress
08:17:30 <luyao> and can go on deploy openstack
08:17:32 <zhouya> great
08:17:51 <huzhj> #info @luyao said we can deploy bare metal include pxe server build and get progress
08:18:06 <huzhj> without ironic ?
08:18:10 <luyao> yes
08:18:17 <luyao> without ironic
08:18:44 <huzhj> But I think @Ya is still working on moving the db from ironic to daisy
08:19:08 <zhouya> yes
08:19:22 <huzhj> So how to deal without that @Yao
08:19:46 <luyao> I add ironic date in code about host-detail to finish the test
08:19:47 <zhouya> and in the near future,we can read these config file from our Daisy dB
08:20:25 <huzhj> Got it, Good
08:20:49 <huzhj> anything else @yao?
08:20:56 <luyao> yes,just test 。Iwill wait ya to finish it
08:20:58 <huzhj> anything else @luyao
08:21:03 <luyao> no
08:21:10 <huzhj> Good
08:21:23 <huzhj> #topic Bare Metal Related DB Development Status Update
08:22:10 <huzhj> I think @zhouya really get something new about this
08:22:35 <zhouya> yes
08:23:46 <zhouya> we now use text type to store our data
08:24:19 <zhouya> but in the referance of ironic
08:24:52 <zhouya> we can use JSONEncoded dict type to store our data
08:25:26 <huzhj> So you plan to convert TEXT to Dict?
08:25:42 <huzhj> I think it is the right direction
08:25:45 <zhouya> and I am still working on this to compare the difference between ironic and Daisy
08:25:54 <huzhj> Good
08:26:35 <huzhj> #info @zhouya is working on comparing data format between ironic and daisy
08:27:55 <zhouya> and I will rewrite this class in our Daisy code
08:28:00 <huzhj> But that does not mean that what type daisy choose currently is perfectly correct
08:28:19 <zhouya> yes
08:28:36 <huzhj> It only we can say it is better than simple string
08:28:56 <zhouya> we should extend the type for us to store much more data
08:29:34 <huzhj> I hope we can get some inspriation from ironic mitaka version.
08:30:00 <zhouya> from my side JSONEncoded type is a better choise
08:30:15 <huzhj> Yes, agree
08:30:27 <huzhj> thanks and please go ahead
08:30:41 <huzhj> anything else?
08:30:42 <zhouya> OK,I will try my best
08:30:46 <zhouya> no
08:30:53 <huzhj> OK
08:31:08 <huzhj> #topic Bifrost/Ironic Integration (does ironic provide all data we need)
08:31:48 <huzhj> I've looked into the ironic db table design and found something interesting
08:32:24 <huzhj> As wel know the ironic-agent.kernel(the bootstrap kernel) as well as the ironic-agent.initramfs is the software take the responsibility to collect device info.
08:33:04 <huzhj> just like daisy's bootstrap system which exec get_node_info script.
08:33:42 <huzhj> So it seems all we have to do is modifing the ironic-agent.initramfs  to let it to report our special(auxiliary) data to ironic-inspector(ironic-discoverd).
08:34:18 <huzhj> But do we really need to do this?
08:34:31 <huzhj> I don't think only us need those info.
08:34:49 <huzhj> So let's find out what information it collects currently.
08:35:07 <huzhj> According to http://docs.openstack.org/developer/ironic-inspector/install.html
08:35:15 <huzhj> #link http://docs.openstack.org/developer/ironic-inspector/install.html
08:35:31 <huzhj> #info we can get the pre built ironic-agent.kernel and ironic-agent.initramfs at http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/
08:35:56 <luyao> good
08:36:07 <huzhj> then, when config PXE evnironment, waht we will do is copy ironic-agent.kernel and ironic-agent.initramfs to the TFTP root, and set up kernel parameter line in $TFTPROOT/pxelinux.cfg/default as follows:
08:36:27 <huzhj> "append initrd=ironic-agent.initramfs ipa-inspection-callback-url=http://{Jump Server IP}:5050/v1/continue"
08:36:57 <huzhj> it indicates the agent to talk to http://{Jump Server IP}:5050/v1/continue to report the data
08:37:11 <huzhj> Note that the data collection ability inside the ironic-agent.initramfs is pluggable.
08:37:30 <huzhj> You can insert introspection plugins called collectors into it. For example:
08:37:37 <huzhj> #info  the data collection ability inside the ironic-agent.initramfs is pluggable.
08:37:45 <huzhj> "append initrd=ironic-agent.initramfs ipa-inspection-callback-url=http://{Jump Server IP}:5050/v1/continue ipa-inspection-collectors=default,extra_hardware,pci_devices"
08:38:27 <huzhj> This will let the ironic-agent.kernel to execute extra_hardware and pci_devices plugin to  collect more hardware info to ironic-inspector(ironic-discoverd).
08:38:56 <huzhj> #info extra_hardware and pci_devices plugins' code can be found at: http://git.openstack.org/cgit/openstack/ironic-python-agent/tree/ironic_python_agent/inspector.py
08:39:46 <huzhj> From that code piece, we can see that extra_hardware and pci_devices plugin(collect_extra_hardware() and collect_pci_devices_info()) can help us to get more hardware info about PCI,cpu,network.... etc. by using /sys/bus/pci/devices file and hardware-detect(from python-hardware-detect package) command.
08:40:18 <huzhj> #info extra_hardware and pci_devices plugin(collect_extra_hardware() and collect_pci_devices_info()) can help us to get more hardware info about PCI,cpu,network.... etc. by using /sys/bus/pci/devices file and hardware-detect(from python-hardware-detect package) command.
08:40:50 <huzhj> I suggest you install python-hardware-detect package and run hardware-detect command on your machine to see what you can get.  It can really rich info on my test machine.
08:41:01 <zhouya> it is convenient for us to get these data
08:41:15 <huzhj> I could put the result here but it is tooooo long..
08:41:18 <huzhj> Yes
08:41:54 <huzhj> It is also helpful for us to see how those data will be stored into ironic db @zhouya
08:42:13 <zhouya> excellent
08:42:13 <huzhj> #info So we need to find out if those already existed plugins suit for us to get what we need.
08:42:32 <huzhj> #info If they do, then there is no need for us to modify the repbuilt ironic-agent.initramfs.
08:42:58 <zhouya> IT is really a good direction for us to go forward
08:43:02 <huzhj> #info But if they don't, then we need to actually DIY the ironic-agent.initramfs.
08:43:32 <huzhj> #info We can uses dib do create one according to http://docs.openstack.org/developer/ironic-inspector/install.html, simply like follows:
08:43:52 <huzhj> #info yum install diskimage-builder
08:43:56 <huzhj> #info disk-image-create ironic-agent centos -o ironic-agent
08:44:08 <huzhj> #info before running the last comand, we can modify the ironic_python_agent/inspector.py to collect what we need.
08:44:38 <huzhj> Just to implement a new function like collect_extra_hardware() and collect_pci_devices_info().
08:44:48 <huzhj> #info May be that is a contribution point to the ironic project.
08:45:24 <zhouya> yes,it will be a entry-point
08:46:11 <huzhj> That is all for me about this topic.
08:46:58 <huzhj> #action @huzhj will evaluate if the collect_extra_hardware() and collect_pci_devices_info() is suit for daisy to get what it needs.
08:48:04 <huzhj> @zhouya if you have time , may be you could find out where those info are located in the ironic db
08:48:25 <huzhj> I think it may be the ironic.node.extra column
08:48:47 <zhouya> I will spend time dive into this
08:48:50 <huzhj> Just guess :)
08:49:02 <huzhj> Thanks
08:49:24 <huzhj> any question about ironic or bifrost?
08:50:08 <zhouya> nothing from my side
08:50:09 <luyao> no
08:50:27 <huzhj> I sent a  mail to bifrost team to ask about some parameters used when enroll a node, but haven't got any resp.  ... so sad
08:50:47 <huzhj> :)
08:51:16 <zhouya> have patient and wait for them to reply
08:51:27 <huzhj> OK
08:52:00 <huzhj> Ok, Let's call it a meeting ?
08:52:29 <zhouya> OK
08:52:34 <huzhj> have a good weekend as usual!
08:52:42 <huzhj> bye
08:52:52 <zhouya> thanks
08:52:55 <luyao> bye
08:52:57 <zhouya> bye
08:52:59 <zhuzeyu> goodbye
08:53:06 <huzhj> #endmeeting