14:04:59 #startmeeting Rally 14:05:00 Meeting started Mon Jun 6 14:04:59 2016 UTC and is due to finish in 60 minutes. The chair is boris-42. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:05:01 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:05:03 The meeting name has been set to 'rally' 14:05:16 ping rvasilets_ amaretskiy andreykurilin__ r 14:05:21 ping ikhudoshyn 14:05:29 o/ 14:05:41 hi 14:05:46 what's up guys? 14:05:47 pong 14:06:14 still fighting with gates (( 14:06:27 ikhudoshyn: what happend with gates? 14:06:46 'existing users' 14:06:57 ikhudoshyn: ah 14:07:25 everything seemed ok the day before yesterday yet I somehow unavailable to update quotas 14:08:00 Doing some minor refactoring/bu fixing of Rally. Preparing to write the code of validation refactoring 14:08:24 rvasilets_: we will need to fix a bit spec 14:08:49 rvasilets_: ikhudoshyn amaretskiy btw I think that we should try to have less code and more exploration in specs 14:09:45 oh I good at it already )) not a single line of code from my side for a week (( (excapt gate script) 14:09:59 lol 14:10:14 (i sucks actually) 14:10:22 s/i/it/ 14:10:27 i'm good 14:10:29 boris-42, Ok. I just have one more question to you about realization 14:11:06 ikhudoshyn: lol 14:11:17 rvasilets_: so ask it lol 14:12:55 boris-42, Will we need to hide unexpected exceptions inside validators? Or we write theirs trace into db and reraise an exception? 14:13:24 rvasilets_: so from my perspective it would be nice to do the next 14:13:26 *"we want to write" 14:13:32 rvasilets_: do the next 14:13:54 1) keep results of all validators like a (boolean, message) 14:14:28 2) if some of validators rises exceptions return (False, TraceInStr) 14:14:43 3) in case of exceptions if debug mode is on log errors 14:15:04 o/ 14:17:04 Ok, I get. But is it better to show for end user unexpected errors as it is now in our validators? This is explicit 14:17:40 boris-42: just to remind one proposal - how about to expect that validators never return values, only raise exception ValidationError if something is wrong? This is how Django validators work 14:17:59 currently we expect that validator return ValidationResult 14:18:17 amaretskiy: I remember that we have already this disucssion 14:18:21 yes 14:18:41 but I do not remember the result of discussion 14:18:53 only fact that we discussed this 14:19:23 =) 14:19:39 amaretskiy: so I don't remember the reasons why it is better to raise expections 14:19:51 the code is simpler 14:20:14 actually validators should never change anything 14:20:15 amaretskiy: and how can you return message that describes why validator was successfull ? 14:20:38 "My will!" - http://www.zuguide.com/images/14530/14530.0.570.359.jpg 14:20:41 raise ValidationError(message) 14:20:41 ) 14:20:54 amaretskiy: in case of success* 14:20:59 amaretskiy: not in case of failures 14:21:09 validator just makes desicion taht something is valid or not 14:21:28 is valid - then it keep silence 14:21:34 By default they could be valid) 14:21:41 if error - raise exception 14:21:51 amaretskiy: I would prefer to provide info about why it made such decisisons 14:22:01 amaretskiy: that it is right 14:22:18 ok 14:22:32 amaretskiy: that will simplify really debuggability 14:23:06 Okey master) 14:24:10 Why we ned msg that validator was successfulд? 14:24:33 rvasilets_: amaretskiy one sample 14:24:45 rvasilets_: amaretskiy you are specifying image by reg exp 14:25:32 rvasilets_: it will show you message (image_validatior, "True", "Image with UUID and name matches pattern XXX") 14:25:35 amaretskiy: ^ 14:26:21 we can use logging in validators 14:26:30 We could write such msges at the last line of validator 14:27:00 but we will not controll then writting of validator... 14:27:13 amaretskiy: this will be already more complicated 14:27:24 amaretskiy: because it is logging + rising exceptions 14:27:43 amaretskiy: plus logs won't be stored in DB and you won't be able to retrive results of validation of specific task 14:28:42 boris-42, Looks like I get you point. We want to have msg in ANY case 14:28:49 I would not insist on exceptions-based validators, let it be so 14:29:03 even if user wrote very bad validator 14:30:29 "plus logs won't be stored in DB and you won't be able to retrive results of validation of specific task" - This can be hacked by catching erroe inside engine, write to db information and reraise) 14:31:09 rvasilets_: so rising excetpions in case of success is very bad idea 14:33:30 Okey, I will wrote the code by your wish) In both cases from perspective of code not to much to change) 14:33:51 boris-42, ^ 14:34:14 rvasilets_: thanks 14:34:32 amaretskiy: andreykurilin1 rvasilets_ ikhudoshyn do we have something to disucss? 14:34:43 https://review.openstack.org/#/c/167060/ 14:34:45 nothing from my side:) 14:35:04 we got two +2's yet we're waiting for u 14:35:15 no ideas 14:35:42 ikhudoshyn: ok 14:35:45 Nothing from me 14:35:45 ikhudoshyn: I will reivew it 14:35:50 tnx 14:35:56 ou 14:35:58 that's all from my side 14:36:00 I have 14:36:30 In spec by Rally db there are described not all changes 14:36:40 is it normal? 14:37:13 Previously we dissussed that there is only task related part 14:37:20 I guess rvasilets_ is talking about changes in Deployment (like cloud_info) 14:37:29 yes 14:37:51 Do we want to store Cloud info? 14:38:02 boris-42, ^ 14:38:58 And minor question: Will we need to describe Deployment table changes at those spec? 14:38:59 rvasilets_: heh we need to do that but in smart way 14:39:04 good question, because it is relatively easy to add this information to reports, and it will be nice to have it there 14:39:32 boris-42, Do you know the smart way or we need to think? 14:39:33 amaretskiy: rvasilets_ so we need to think where to collect this data 14:39:55 amaretskiy: rvasilets_ basically we need to move this to the deployment plugins related to openstack 14:40:11 keep in mind that this is an openstack-related info, it must be universal 14:40:29 amaretskiy: nope it must not be 14:40:34 amaretskiy: =) 14:40:38 :) 14:41:00 amaretskiy: if we collect this data in plugins of deployment 14:41:13 amaretskiy: as a JSON 14:41:24 amaretskiy: then we can collect anything 14:41:29 How to collect? - What is the problem to make some linux api calls? In case of not distributed rally?\ 14:41:44 yes, arbitrary key-value data in JSON format 14:42:48 Okey. What cloud info we want to store? - CPUs, RAM? 14:42:59 amaretskiy: yep 14:43:05 rvasilets_: everything that can be collected 14:43:20 nodes, services available 14:44:04 field name should not contain "cloud" 14:44:30 so this will not point to openstack 14:45:14 amaretskiy: rvasilets_ yep it should be like info 14:45:21 amaretskiy: rvasilets_ and can point anything 14:45:29 + 14:45:54 Lets create separate plugin. Cloud_info etc 14:46:18 Simply "Info" :) 14:46:19 And will allow users to write there own plugins to collect the data 14:46:21 ) 14:46:29 rvasilets_: nope plugin is bad idea imho 14:46:34 This was my first idea) 14:46:41 rvasilets_: I would preer rather to extend existings 14:46:46 rvasilets_: deployment plugins 14:46:59 Okey 14:47:12 Maybe reasonable 14:47:14 I guess this information should be populated while making "deployment create" 14:47:25 amaretskiy: yep 14:48:15 We could extend it then to collect how cloud resources changed during task execution) 14:48:27 or bad швуф 14:48:32 *idea 14:48:39 ? 14:49:12 rvasilets_: I don't think so=) 14:49:18 (( 14:49:21 I think we should bind this data collection to Task start 14:49:24 rvasilets_: it's called monitoring and should be done in other place 14:49:33 because remote system can be changed 14:49:34 agree( 14:49:54 and show this info per-task in report 14:50:08 amaretskiy: rvasilets_ I think this is spearated discussion 14:50:17 amaretskiy: rvasilets_ we should do the spec about it 14:50:26 Okey. The question was do we need to describe this in spec and the answer we need) 14:50:31 yes) 14:50:40 Then I have -1 to spec) 14:50:43 this is important whether to add this field to Task or to Deployment in the Spec 14:51:30 Spec is about Task-related schema 14:51:37 amaretskiy: yep 14:51:51 amaretskiy: rvasilets_ so for now it should be described in the spec from Ilya 14:51:57 amaretskiy: rvasilets_ because it's different topic 14:52:12 ok 14:52:26 should be -> shouldn't be? 14:52:44 Okey 14:53:00 We need separeted spec as I understand 14:53:14 *separate 14:54:11 Who will make it?) 14:54:22 any decision will not make problems in implementaton, so we can make separate spec for this topic 14:54:30 Or we will decide later? 14:55:14 rvasilets_: I can start it 14:55:30 rvasilets_: there is another question as well to let users provide info about task & deploymnt amaretskiy 14:55:47 okay seems like we can end todays meeting 14:55:51 #endmeeting