Earlier  
Posted Nick Remark
#openstack-cyborg - 2019-06-05
03:29:25 yikun Like something, the placement done: https://github.com/openstack/nova/blob/master/nova/tests/functional/fixtures.py#L79-L90
03:29:30 Sundar yikun: Yes
03:29:59 Sundar I think Nova developers are coming from the historical experience that 3rd party hardware/CI sometimes beaks, and may take time to fix.
03:30:06 Sundar *breaks
03:30:38 Sundar A non-hardware-dependent CI is easier to maintain by the community and more reliable, even if it is not an end-to-end test
03:30:51 Biwei ok I see
03:30:55 xinranwang I understand what 3rd parth CI do, but I am confused about what upstream CI do exactly
03:31:24 xinranwang is it used for let nova call fake Cyborg API?
03:31:37 Sundar xinranwang: They are functional or tempest tests that do not rely on specialize d hardware
03:32:07 Sundar Yes, when Nova patches are submitted, they will automatically run tests that will simulate caling Cyborg to get device profiles and ARQs
03:32:43 Sundar The functional test fixture will return some values without actually calling Cyborg
03:33:07 Sundar You could think of it as mocking CYborg API
03:33:12 xinranwang Ok, so no more fake driver required in upstream CI, just simulate API layer and return right data?
03:33:19 Sundar Yes
03:33:27 ikuo_o Sundar: do you mean we should make upstream CI instead the CI by Xinran and Biwei?
03:33:53 xinranwang Sundar: got it, thanks
03:34:02 Sundar ikuo_o: Xinran/Biwei will work on real hardware i.e. 3rd party CI
03:34:12 Biwei that sounds like a different effort from the tempest plugin. Do we need both? Sundar
03:34:26 xinranwang I think we need both. ;)
03:34:34 Biwei Oh got ya
03:34:44 Sundar If we do a fake Cyborg driver, we will be doing tempest tests 2 ways, which seems redundant.
03:35:02 ikuo_o I see.
03:35:28 Sundar The downside is that the tempest CI will test only FPGAs, not GPUs or anything else
03:35:47 Sundar The common Cyborg code will not be exercised by 3rd party tempest CI, as planned now
03:36:08 Sundar Sorry -- badly phrased
03:36:26 Sundar The Cyborg code for GPUs and other devices will not be tested by 3rd party tempest CI
03:38:27 ikuo_o Does FPGA mean Intel FPGA?
03:38:42 Sundar Yes
03:38:59 Sundar Depending on your interest, we could push for a fake GPU/generic driver (with tempest) OR fake Cyborg API (functional test)
03:39:07 Sundar No need for both IMHO
03:40:04 Sundar With tempest, bugs in Cyborg will break Nova tests.
03:40:16 Sundar But, of course, we will not have any bugs ;)
03:41:26 ikuo_o Thanks. should we choose the two option (fake GPU/generic driver (with tempest) OR fake Cyborg API (functional test)) now?
03:41:41 xinranwang tempest test runs in real env, how to use fake driver with tempest
03:42:18 Sundar xinranwang: the fake driver will return driver OVOs and implement the same API calls as a regular driver
03:42:39 Sundar You mean you cannot put up a VM with a fake driver?
03:43:28 xinranwang yes, we cannot boot VM with accelerators with fake driver
03:44:08 Sundar ikuo_o: We have to implement _some_ tests for the Nova patches to merge. It looks like the 3rd party tempest may take sometime and it is not clear that Nova folks will accept that alone
03:44:57 ikuo_o I got it.
03:45:20 Sundar xinranwang: there may be some way to fake that success too? It has been suggested an an option by Nova folks too. E.g. Line 20 of https://etherpad.openstack.org/p/ptg-train-xproj-nova-cyborg
03:46:51 Sundar Anyways, may be we can take this up in tomorrow's Zoom meeting, because we have only 15 minutes left for today
03:47:16 xinranwang Ok
03:47:20 Sundar #topic Cyborg specs
03:47:33 Sundar Device/driver discovery spec: https://review.opendev.org/#/c/593726
03:48:03 Sundar We have already implemented it, though the spec is not merged. Do we need the spec?
03:48:53 yikun any different between specs and impletation? If not I think we didn't need it anymore
03:49:19 ikuo_o yikun +1
03:49:29 xinranwang +1
03:49:58 Sundar The spec was probably obsolete anyway :) So there may be differences. But that may not be relevant anyway.
03:50:46 Sundar Do the +1s mean 'we do not need it' or 'if no difference, we don't need it' ?
03:51:28 ikuo_o Thanks Sundar. Then the spec seems unnecessary
03:51:43 ikuo_o we do not need it +!
03:52:00 Sundar Good, thanks ikuo_o. I like that answer :)
03:52:21 Sundar I already abandoned it. I'll remove it from Nova spec as well
03:52:55 Sundar specs/index.rst: https://review.opendev.org/#/c/658498/ I think yikun already did that. SO, abandon this?
03:53:56 yikun https://review.opendev.org/#/c/651061/9/doc/source/index.rst@12
03:53:58 yikun Yes
03:54:17 yikun I fixed it in the other merged patch.
03:54:25 Sundar Thanks, yikun. Done.
03:54:48 Sundar Please review these specs: https://review.opendev.org/#/c/602978/, https://review.opendev.org/#/c/605237/
03:55:46 yikun OK, add to my review list
03:55:57 Sundar For device profiles, some more changes _may_ be needed in the future for 'nested magic'. See http://eavesdrop.openstack.org/irclogs/%23openstack-placement/%23openstack-placement.2019-06-04.log.html#t2019-06-04T13:17:48
03:56:13 Sundar But we can always add a change spec
03:56:40 Sundar #topic Cyborg patches
03:57:00 Sundar Q: Why not use asserts? They are complementary to exceptions, IMHO
03:57:37 Sundar Like I said in the code reviews, other projects use them. And they are useful to check internal program logic. E.g. a function must return a list
03:58:11 Sundar If we make exceptions for everything, there will be too many exceptions or, worse, developers will not put the check
03:58:52 Sundar yikun said they produce unclear messages
03:59:20 Sundar But we can say: assert x == y: "Bad state for x, differ s from y"
03:59:53 ikuo_o "They" means exceptions?
04:00:01 yikun Both the ways of the assert or exception is okay to me, :) But I prefer to use the exception.
04:00:26 Sundar ikuo_o: "they" mean asserts
04:01:14 Sundar yikun: OK. For e.g., would you put an exception to check that a function returns a list?
04:03:07 Sundar Anyways, this is food for thought :)
04:03:37 yikun OK, I think assert and exception has their use case. :) so, I said, both okay to me
04:03:44 Sundar If you are all ok, I'll leave the asserts in the code. IMHO, it is a good practice, recommended in software engineering books
04:03:54 Sundar yikun, ok. Thanks ;)
04:04:02 ikuo_o Sure.
04:04:11 Sundar #topic AoB
04:04:17 Sundar There is a Zoom meeting tomorrow
04:04:36 Sundar Mostly to wrap up the spec and patch reviews as much as possible
04:04:45 ikuo_o Ok, I will see you tomorrow.
04:05:01 Sundar ikuo_o and all, see you all tomorrow :)
04:05:08 yikun ok will join it, and thereare some patches need you guys eyes:
04:05:15 yikun https://review.opendev.org/#/c/658987
04:05:15 yikun ^ the generic driver spec have been approved, and the patch is ready for review.
04:05:15 yikun https://review.opendev.org/#/c/660874/
04:05:15 yikun ^ also the huawei ascend driver is also ready to merged
04:05:29 Sundar Great, will review
04:05:35 yikun any question, you can leave your comments, thanks. :)
04:05:37 Sundar Good day, everybody!
04:05:41 Sundar #endmeeting
04:05:42 ikuo_o Bye.
04:05:44 openstack Meeting ended Wed Jun 5 04:05:41 2019 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
04:05:45 openstack Minutes: http://eavesdrop.openstack.org/meetings/openstack_cyborg/2019/openstack_cyborg.2019-06-05-03.03.html
04:05:46 openstack Minutes (text): http://eavesdrop.openstack.org/meetings/openstack_cyborg/2019/openstack_cyborg.2019-06-05-03.03.txt
04:05:47 openstack Log: http://eavesdrop.openstack.org/meetings/openstack_cyborg/2019/openstack_cyborg.2019-06-05-03.03.log.html
04:05:52 Biwei Bye
16:02:29 edleafe Sundar: I saw this comment: https://leafe.com/timeline/%23openstack-cyborg/2019-06-05T03:36:26
16:03:17 edleafe Sundar: and wanted to let you know that there may be interest at IBM in also hosting a 3rd party CI for accelerators on Power hardware

Earlier   Later