15:01:21 <mfedosin> #startmeeting glare 15:01:22 <openstack> Meeting started Tue May 9 15:01:21 2017 UTC and is due to finish in 60 minutes. The chair is mfedosin. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:23 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:01:25 <openstack> The meeting name has been set to 'glare' 15:02:18 <mfedosin> #topic agenda 15:02:32 <mfedosin> #link https://etherpad.openstack.org/p/glare-meeting-agenda 15:03:16 <mfedosin> inarotzk: Idan, is it you? :) 15:03:28 <inarotzk> yep, hello :) 15:03:35 <mfedosin> hi! 15:03:43 <mfedosin> let's begin then 15:03:52 <mfedosin> #topic Updates 15:04:11 <mfedosin> let me quickly describe my latest updates 15:04:32 <mfedosin> inarotzk and then we can talk about yours :) 15:04:56 <inarotzk> Great 15:05:10 <mfedosin> so, 2 documentation units were merged yesterday 15:05:28 <mfedosin> basic architecture and client setup 15:05:42 <mfedosin> then I implemented several new tests 15:06:00 <mfedosin> we will discuss it in next topic 15:06:17 <mfedosin> also I updated glare docker image 15:06:36 <mfedosin> and now you can inject your code inside the container 15:06:51 <mfedosin> #link https://github.com/Fedosin/docker-glare 15:07:15 <mfedosin> and image in docker hub is called "mfedosin/openstack-glare" 15:07:37 <mfedosin> finally I implemented a small feature yesterday... 15:07:53 <mfedosin> it was kinda a technical debt from my side 15:08:20 <mfedosin> it is 'in' operator for 'version' filtering 15:08:50 <inarotzk> Can you elaborate? 15:08:54 <mfedosin> sure 15:09:11 <mfedosin> for version we support all possible operators 15:10:02 <mfedosin> for instance, if you want to get all artifacts with version greater than 2, then you provide filter: version=gt:2 15:10:29 <mfedosin> the same story for lt, eq, neq and so on 15:10:46 <mfedosin> but 'in' operator led to 500 error :( 15:11:42 <mfedosin> if you want to send request like "give me all artifacts with version 1 *or* 2", then you send it as: version=in:1,2 15:12:09 <inarotzk> nice ! 15:12:45 <mfedosin> coercing works for this filter too 15:13:12 <mfedosin> version=in:1.0.0,2.0.0 and version=in:1,2 are the same 15:13:37 <mfedosin> probably that's all from my side 15:13:38 <inarotzk> That's the meaning of coercing? (your example above) 15:14:26 <mfedosin> yes, canonical format for version is "a.b.c-meta" 15:14:47 <mfedosin> where a, b and c some numbers 15:15:09 <mfedosin> but user can omit them if they are zeros 15:15:27 <inarotzk> I understand 15:15:37 <mfedosin> so, 2-rc1 will be converted to 2.0.0-rc1 on server side 15:15:57 <mfedosin> and user doesn't need to bother about it 15:16:35 <mfedosin> inarotzk: do you have any questions? 15:17:06 <inarotzk> not on this topic :) 15:17:15 <mfedosin> all right :) 15:17:25 <inarotzk> should i update? 15:17:30 <mfedosin> do you have any updates then? 15:17:36 <mfedosin> yes, you're welcome 15:18:13 <inarotzk> Yes, I wrote unit tests for sorting - https://review.openstack.org/463564 15:18:45 <mfedosin> amazing! I'll review them today 15:19:01 <inarotzk> While i did not, few question popped up 15:19:30 <inarotzk> *while i did so 15:20:03 <mfedosin> probably we will be able to discuss them during next topic... 15:20:16 <mfedosin> do you have any other updates? 15:20:32 <inarotzk> no 15:21:04 <mfedosin> okay 15:21:17 <mfedosin> #topic Unit tests and coverage 15:21:48 <mfedosin> let me provide quick information about our status... 15:22:04 <mfedosin> and then we will discuss your questions 15:22:27 <inarotzk> cool 15:22:52 <mfedosin> so, as I mentioned at last meeting we have a good coverage by functional tests 15:23:07 <mfedosin> but it's hard to measure this coverage 15:23:32 <mfedosin> and so we decided to begin this initiative 15:23:42 <mfedosin> and implement a lot of unit tests 15:24:46 <mfedosin> current coverage is near 69% which is not really bad, but definitely we can do better 15:25:17 <mfedosin> it's after the exclusion of glare.tests folder 15:25:27 <inarotzk> Can you remind me, how can we check the coverage? some command with tox? 15:25:50 <mfedosin> if we include it in the coverage then results will be much higher, over 80% 15:26:08 <mfedosin> yes, the simplest way is tox 15:26:18 <mfedosin> command is: tox -e cover 15:26:42 <mfedosin> it will generate a detailed report and place it in cover folder 15:27:10 <mfedosin> since it's html you can view it in a webbrowser 15:28:01 <mfedosin> my ideal plan is to make the coverage about 90% 15:28:10 <mfedosin> which is hard but doable 15:29:10 <mfedosin> we have 2 big items without unit tests now: upload/download and common utils 15:29:26 <inarotzk> I'll be glad to take it 15:29:28 <mfedosin> if we add tests for them we will get more then 80 15:30:01 <mfedosin> *than 15:30:28 <mfedosin> inarotzk: you can take common utils 15:30:37 <mfedosin> and I'll do upload/download 15:30:50 <mfedosin> I'll give you several examples on the matter 15:30:58 <mfedosin> after this meeting 15:31:39 <inarotzk> cool 15:31:52 <mfedosin> but generally speaking I'm talking about this functions: https://github.com/openstack/glare/blob/master/glare/common/utils.py 15:32:30 <mfedosin> if you build the report you will see big amount of red lines in this file 15:33:16 <mfedosin> okay, so we have an action for Idan: 15:33:55 <mfedosin> #action (inarotzk): implement unit tests for common utils 15:34:02 <mfedosin> and an action for me 15:34:29 <mfedosin> #action (mfedosin): implement unit tests for upload/download of blobs 15:34:56 <mfedosin> and of course a global action: 15:35:26 <mfedosin> #action increase test coverage up to 90% from the existing 69% 15:35:49 <mfedosin> inarotzk: you wanted to ask questions... 15:36:42 <inarotzk> yep , but they aren't really related to unit tests. Is it good time? 15:37:39 <mfedosin> What do they related to? 15:38:14 <inarotzk> Sorting operation and glare schema 15:38:30 <mfedosin> no, it's fine to discuss it here 15:38:39 <mfedosin> since you wrote unit tests for them 15:38:42 <mfedosin> shoot :) 15:39:21 <inarotzk> :) Sorting: Do we support 'secondary' sorting? 15:39:38 <mfedosin> yes 15:40:06 <mfedosin> sort=name:asc,version:desc,id:desc 15:40:07 <inarotzk> and also for third, fourth etc ? 15:40:13 <mfedosin> yes 15:40:49 <mfedosin> it's comma separated list of artifact fields with optional sorting order 15:41:01 <mfedosin> default one is desc 15:41:14 <inarotzk> Ok, So maybe i should unit tests add for those scenarios :) 15:41:17 <mfedosin> so, sort=name and sort=name:desc are the same 15:41:39 <mfedosin> indeed! it will be awesome to have those tests 15:42:20 <inarotzk> In glare schema: visibility has 2 options , as i understood. In ns_packages for example, 15:42:48 <inarotzk> in the column available_values, i didn 15:43:15 <mfedosin> what do you mean? 15:43:16 <inarotzk> i didn't see those 2 options for visibility, and i think it might be good to add those 15:43:36 <mfedosin> yes, visibility has two possible options now 15:43:44 <mfedosin> 'private' and 'public' 15:44:05 <mfedosin> but afaiu it's included in the schema 15:44:15 <mfedosin> let me check quickly 15:45:01 <inarotzk> If i do glare schema ns_packages, i would expect to see in the row of visibility in the column of available_values: {'private', 'public'} but it's empty 15:45:11 <mfedosin> inarotzk: you are right 15:45:20 <mfedosin> it's not 15:46:06 <mfedosin> let's include it then! it will be good 15:46:24 <inarotzk> It might be a good opportunity for me to do it, and learn more by doing so 15:46:24 <mfedosin> but, schemas are generated automatically 15:46:56 <mfedosin> you just need to add appropriate validator to 'visibility' field in Base artifact type 15:47:27 <mfedosin> okay, I'll help you on this 15:47:36 <inarotzk> Thank you 15:48:02 <mfedosin> #action (inarotzk) define available values for 'visibility' field 15:48:26 <mfedosin> inarotzk: anything else? 15:48:44 <inarotzk> No, thanks 15:49:17 <mfedosin> okay, just a quick update from my side: 15:49:34 <mfedosin> I've implemented a lot of tests for wsgi 15:49:48 <mfedosin> #link https://review.openstack.org/#/c/463380/ 15:49:54 <mfedosin> I know, it's hard to review 15:50:21 <mfedosin> but please, if you have time :) 15:51:04 <inarotzk> Yes :) 15:51:19 <mfedosin> also I found unused file we can remove without consequences 15:51:26 <mfedosin> https://review.openstack.org/#/c/463381/ 15:51:48 <inarotzk> Have we ever used it? 15:51:49 <mfedosin> probably that's all 15:52:04 <mfedosin> let's discuss the documentation 15:52:11 <mfedosin> #topic Documentation 15:52:39 <mfedosin> I'm still writing the documentation related to artifact type framework 15:53:11 <mfedosin> I wanted to finish it yesterday, but wsgi tests took a lot of time 15:53:23 <mfedosin> and I gave up and postponed it 15:53:48 <mfedosin> but I do think it will be done tomorrow or on Thursday 15:54:04 <mfedosin> definitely this week :) 15:54:46 <mfedosin> inarotzk: thank you for merging those two files! 15:55:08 <mfedosin> #topic Open Discussion 15:56:03 <mfedosin> Probably we should think how we can involve more people in glare community... 15:56:10 <mfedosin> inarotzk: any ideas? 15:57:20 <mfedosin> I think openstack mailing list is a good start 15:57:43 <inarotzk> To write there about the project? 15:58:00 <mfedosin> yes 15:58:29 <mfedosin> show activity I would say 15:58:44 <mfedosin> I'll take care about it :) 15:58:57 <inarotzk> :) 15:59:01 <mfedosin> also I found a bug in stackalytics 15:59:17 <inarotzk> What is stackalytics ? 15:59:29 <mfedosin> all glare commits from late March until May went to deb-glare 15:59:37 <mfedosin> http://stackalytics.com/ 16:00:01 <mfedosin> all OpenStack statistics 16:00:12 <mfedosin> you can play with it 16:00:22 <mfedosin> start with finding your stats :) 16:00:34 <mfedosin> okay, we're out of time 16:00:43 <mfedosin> inarotzk: thank you for coming 16:00:48 <inarotzk> Thank you Mike 16:00:52 <mfedosin> #endmeeting