13:00:17 #startmeeting monasca 13:00:18 Meeting started Tue Mar 3 13:00:17 2020 UTC and is due to finish in 60 minutes. The chair is witek. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:19 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:00:21 The meeting name has been set to 'monasca' 13:00:28 hello everyone! 13:00:56 the agenda for today: 13:01:00 https://etherpad.openstack.org/p/monasca-team-meeting-agenda 13:01:21 please add if you have any other topics 13:01:52 #topic updating alarm definitions 13:02:24 OK, I will explain a bit 13:02:31 please, go on 13:02:37 This is the topic Martin brought up last week already. 13:02:45 I've investigated further. 13:03:18 The reason is quite simple: For an alarm definition, "time" and "times" are not used when updating an alarm definition. 13:03:42 Besides, I detected that even an update for "function" won't have any impact. 13:04:11 According to documentation, everything can be updated, apart from "metric name" and "match by". 13:04:38 And I don't see any reason why the time, times and fucntion shouldn't be updated. 13:04:46 I was just a bit confused: 13:05:24 The queries to create the sub alarm definitions and updating sub alarm definitions are really located very close to each other. 13:05:50 So, I just wanted to confirm if anybody has any idea for a reason why these fields shouldn't be updated? 13:07:18 I think times, time and function could be encapsulated in `expression` 13:07:44 expression is stored for the alarm definition. 13:08:12 alright 13:08:13 For sub-alarm-definition, the expression is split up into function, operator, metric-name, time, times etc 13:08:23 fine 13:08:39 So, the expression in the alarm definition is stored correctly, even after an update. 13:08:50 I wonder if it is a thresholder limitation, or just an oversight 13:08:52 But sub-alarm definitions are not properly handled 13:09:20 dougsz: That's exactly why I wanted to discuss it here 13:10:30 I would be tempted to hack in support for updates and see if it behaves 13:11:03 I did that already, but haven't tested extensively yet. 13:11:29 Cool, I am guessing there is no tempest coverage? 13:11:31 As said: "function" (min, max, avg, ...) won't be reflected either in the update 13:11:56 No, not at all. That's even not that easy to do - a further topic, maybe for the next call 13:12:27 For the other params that must not be updated, checks have been implemented to prevent that. 13:12:33 But not for those... 13:12:51 we have `test_update_alarm_definition` 13:12:51 No, not at all: it's related to tempest tests. 13:13:00 but it updates from empty expression 13:13:39 This error is even difficult to detect in tempest tests: You can't read the sub-alarm definitions via api. It's not a logical entity for the user 13:14:07 And the expression itself, stored for the alarm definition is always correct 13:14:13 also I guess it just reads from alarm_definitions table, so won't find this bug 13:14:36 Exactly. 13:14:40 An indirect test, like checking an alarm fires with the new expression could work 13:14:58 Yes, that's one of the possible solutions 13:15:03 we would need a test which proves for more realistic scenario with test values and triggered alarm state change 13:15:16 :) 13:15:48 Another option would be to extend the API, so that sub alarm definitions can be read 13:16:21 you mean the response body, right? 13:17:14 I thought about a new operation: get sub alarm defs for an alarm def 13:17:35 Not intended for end-users 13:18:59 I'm not sure I like it, I'd prefer adding more details to existing requests 13:19:44 My concern would be that it would expose what could be considered 'implementation detail' 13:19:45 Well, the "problem" is, that sub alarm definitions are not visible for end-users. They just see alarm defs and the related expression. 13:19:57 dougsz: Yes, you're right 13:20:28 What I anyway want to avoid is direct access to the database. 13:20:37 So, there are only 2 options: 13:21:15 Indirect testing (but that may take long, waiting for an alarm with e..g 2*2 minutes 13:21:23 Or extending the API somehow 13:22:19 I feel quite happy with the first approach. I think having to wait for the alarm to fire is acceptable. 13:23:14 It could all be done via tempest too right, just polling for alarms 13:23:55 Yes. 13:24:24 i suppose before putting effort into that test, it would be nice to know if your patch works with some manual testing 13:24:29 In an error situation you still don't know where the problem is located (from updating alarm def. to triggering of alarms). 13:24:39 However, I think, we could live with this. 13:25:17 we could add some debug logging in API 13:25:58 +1, that could help 13:26:12 dougsz: Yes, of course. As said, I did already some testing - lokks good so far. Now, wanted to check if anybody knows any reason why these params shouldn't be updated. 13:26:41 Yes, I started already to add some debug logging. 13:26:52 excellent 13:27:41 OK, let me summarize: 13:27:45 it seems to me to be a bug, indeed, another option could be, that thresholding is a limitation here 13:28:05 o Nobody knows a concrete reason why not to do the update, but not 100% sure 13:28:11 agreed, it either needs a doc fix, or a code fix 13:29:21 To dos: Fix the issue, extend logging, extend tempest tests with a scenario that checks via alarms 13:29:33 Doc fix would be sufficent from your point of view? 13:30:09 Actually, we would probably want to prevent the operation as well, if the patch doesn't work 13:30:28 This issue came up with a Japanese customer. I'm not sure yet whether they will request a fix 13:31:32 code fix is better, but if it's too expensive, e.g. involves logic change in thresh, we'd have to document and perhaps limit API usage 13:32:55 As said: I'm pretty sure fix in api is sufficient. Just creation of tempest tests might be some more effort. However, I will exec. more manual tests. We can discuss again next week, when I have the results. 13:33:22 great, good work bandorf 13:33:55 yes, thanks bandorf, good work! 13:34:16 Thanks 13:35:08 do we have anything else to discuss? 13:35:22 Nothing from me. 13:35:32 Not from me either 13:36:04 we've got some comments on events topic from last week in review 13:36:15 https://review.opendev.org/708335 13:37:36 I guess we can follow up next week again 13:38:35 #topic PTG 13:38:41 Monasca will not be holding own session during the PTG in Vancouver 13:38:57 but we should meet and discuss plans for the next release cycle 13:39:44 I though, as we are all in Europe, do you think it would make sense to meet F2F? 13:42:04 In geneneral, I think F2F is much better, communication is easier. 13:42:25 I would have to check if we will get a budget... 13:42:31 I think I exceeded my carbon emissions quota last week burning the monasca notification source code 13:42:37 haha 13:42:45 But it's not impossible 13:43:05 so we'd have to come to Bristol ;) 13:43:32 You'd be most welcome, but I don't want to impose anything on anyone :) 13:44:05 I mean, it would only make sense if all parties can participate, we're too small group 13:44:06 As said, I can't confirm any travel budget for us 13:44:21 Yes, you're right. 13:44:40 agreed, perhaps we can discuss again next week 13:44:41 The least travel cost overall would be created if we do it in Munich, right? 13:45:08 OK, good idea, let's discuss next week 13:45:26 agreed 13:45:47 alright, I guess that's all for today then 13:46:01 thanks for joining and for the discussion 13:46:05 thanks all, bye 13:46:09 and see you next week 13:46:11 bye 13:46:12 Thanks, bye everybody 13:46:22 #endmeeting