Tuesday, 2018-07-17

*** bobh has quit IRC00:38
*** bobh has joined #openstack-mistral00:38
*** bobh has quit IRC00:43
*** weshay has quit IRC02:30
*** weshay has joined #openstack-mistral02:32
openstackgerritAndras Kovi proposed openstack/mistral master: Allow noop as task name  https://review.openstack.org/58296604:39
*** hardikjasani has joined #openstack-mistral05:10
*** jenner_ has left #openstack-mistral05:50
*** akovi has joined #openstack-mistral06:07
hardikjasaniHow do I create alembic migration script? Should I copy existing one and modify it, or use some tool to generate one?06:12
mcdoker181818alembic revision -m 'blablabla'06:15
mcdoker181818I create manually :D06:16
akoviCreate manually ++06:16
rakhmerovhardikjasani: hi06:16
rakhmerovyes :)06:16
rakhmerovyou can also look at http://alembic.zzzcomputing.com/en/latest/tutorial.html#create-a-migration-script06:17
hardikjasani^all: Thanks, I will go with tool. Fewer chances of mistakes :)06:19
hardikjasaniWell this took more time than expected :D06:59
hardikjasaniTurns out migration file layout in mistral is not what alembic expects, we need to use mistral-db-manage wrapper.06:59
hardikjasanimistral-db-manage revision -m "slug goes here" --rev-id "revision-id"07:00
hardikjasanilike mistral-db-manage revision -m "add a column" --rev-id 03007:00
akoviyeah, I'd try not to waste time with tools07:01
*** shardy has joined #openstack-mistral07:06
rakhmerovd0ugal: hey07:08
rakhmerovping me when you have time07:08
mcdoker181818What do you think to check a "Authozation: Bearer token" here too https://github.com/openstack/mistral/blob/master/mistral/auth/keycloak.py#L42 ?07:13
mcdoker181818`X-Auth-Token` is only used by Openstack services07:13
mcdoker181818Not very convenient07:13
mcdoker181818rakhmerov: akovi:07:14
rakhmerovmcdoker181818: hi07:14
rakhmerovwhat's the context? What are you trying to solve07:14
rakhmerov?07:14
rakhmerovmcdoker181818: I'm just not so strong at this security stuff so I'm asking to explain a little bit )07:16
mcdoker181818rakhmerov: My microservices use a Authorization header because it's a standard https://tools.ietf.org/html/rfc6750 Not very convenient  to change header only for Mistral07:19
rakhmerovaah, I see07:19
rakhmerovthen yes, sure07:20
rakhmerovI guess we should have even ignored OpenStack specific header here for the Keycloak integration07:20
rakhmerovbut we can check both, yes07:20
mcdoker181818guess we already can't because backward compatible :)07:21
mcdoker181818Ok, good07:21
*** AlexeyAbashkin has joined #openstack-mistral07:22
rakhmerovyep07:41
openstackgerritAndras Kovi proposed openstack/mistral master: Allow noop as task name  https://review.openstack.org/58296607:56
d0ugalrakhmerov: Hi, I have time now.08:09
akovihi d0ugal, I'd like to discuss https://review.openstack.org/582966 a bit08:16
akoviI think this change can be extended to not restrict task names at all08:16
akoviWe should document that the priority of name resolution is 1st:"tasks", 2nd:"engine commands"08:18
akoviBut at least noop should be allowed as it severely breaks BC08:18
akovid0ugal: ping :)08:19
d0ugalakovi: breaks BC?08:21
akovibackward comp08:21
d0ugaloh, was noop allowed previously? When did we disallow it?08:21
akoviyes, everything was allowed actually08:21
d0ugalI see08:21
d0ugalOh, you have a related change08:21
* d0ugal looks08:22
akovithis is kind of nice as it allows to override engine commands if needed08:22
d0ugalakovi: I don't even think I seen the original change. Why do we need it? Could we just revert that?08:22
d0ugalThat change landed when I was on paternity leave :)08:22
akoviI put some improvement in this one that enhances consistency :)08:23
d0ugalakovi: but yes, I agree, we shouldn't have changed this08:23
akoviOk, I'll exend with the other commands too08:24
d0ugalakovi: Thanks08:24
d0ugalWe didn't even include a release note for the change :(08:24
*** shardy has quit IRC08:24
d0ugalakovi: the backwards incompatible change landed in queens!08:26
d0ugalso it has even been release and we didn't get any bug reports for it...08:26
rakhmerov:)08:33
rakhmerovI don't mind reverting it08:33
*** shardy has joined #openstack-mistral08:37
*** gkadam has joined #openstack-mistral08:41
d0ugalrakhmerov: but I guess since it was released as part of queens and we have had no complaints it wasn't that bad...08:43
d0ugalwell, we had our first complaint now from akovi :-D08:43
akovi:)08:46
rakhmerovyeah :)08:50
rakhmerovI assume there could be people who just preferred to be silent :)08:50
d0ugalTrue08:50
d0ugalShould we also then backport the fix to Queens?08:50
rakhmerovand may be even throw their attempts to use Mistral :)08:50
rakhmerovaah...08:50
rakhmerovgood question08:50
d0ugalI guess we should, because if we fix it for Rocky then it would work in Pike and Rocky but not Queens. That seems trange.08:51
rakhmerovI'm wondering if it would be complaint with stable branch policy08:51
d0ugalstrange08:51
rakhmerovyeah08:51
rakhmerovyou're making a point08:51
d0ugalrakhmerov: I think it would be okay, because we are fixing a backwards compatability issue08:51
rakhmerovyep, ok08:52
rakhmerovagree08:52
rakhmerovakovi: seems like you have a green light )08:52
d0ugalbtw, I don't know if you know, but apetrich is on vacation until august 1st08:53
d0ugal(He is moving to Berlin)08:53
d0ugalrakhmerov: Can you help me understand something in the rpc clients?08:58
d0ugalrakhmerov: What does this call? https://github.com/openstack/mistral/blob/master/mistral/rpc/clients.py#L425-L43308:58
d0ugalI guess it call the "notify" method somewhere, but where? :)08:58
d0ugalhttps://github.com/openstack/mistral/blob/master/mistral/notifiers/notification_server.py#L5908:59
d0ugalHere?08:59
mcdoker181818yep08:59
d0ugalHow does it know "notify" is that notify method? where are they connected?09:00
akovid0ugal: I think you're looking for this https://github.com/openstack/mistral/blob/master/mistral/notifiers/notification_server.py#L5909:03
d0ugalakovi: Yeah, I found that. I just don't understand how the two are linked09:04
d0ugalHow does it know the "notify" string maps to that method09:04
mcdoker181818d0ugal: You can take a look on kombu implementation09:04
d0ugalah ok09:05
d0ugalso it isn't a simple answer :)09:05
mcdoker181818https://github.com/openstack/mistral/tree/master/mistral/rpc/kombu09:05
d0ugalThanks, I'll take a read :)09:06
mcdoker181818It's simple answer. But my english is harder to understand than the Mistral or oslo messaging code  :D09:07
mcdoker181818You can debug the example https://github.com/openstack/mistral/tree/master/mistral/rpc/kombu/examples09:08
d0ugalmcdoker181818: oh, I didn't know we had examples. That is useful, thanks.09:13
rakhmerovd0ugal: hey..09:26
rakhmerovreading..09:26
d0ugalrakhmerov: it's okay, I think I got the answers I need :)09:26
rakhmerovso, https://github.com/openstack/mistral/blob/master/mistral/rpc/clients.py#L427 is the key09:26
rakhmerovit forms a topic for Rabbit09:26
rakhmerovand when we initialize an RPC server we subscribe to that topic09:27
rakhmerovhere: https://github.com/openstack/mistral/blob/master/mistral/notifiers/notification_server.py#L46-L4709:28
rakhmerovit's the place where we register the current object (instance of NotifierServer) in the Oslo Messaging RPC server09:29
rakhmerovso that its methods (including "notify") are automatically linked to the corresponding MQ topics09:29
d0ugalRight09:29
d0ugalthat makes sense09:29
rakhmerovyep09:29
rakhmerovhow exactly? Well, you need to drill down to o.m09:30
rakhmerov:)09:30
d0ugalhaha, indeed09:30
rakhmerovyep09:30
d0ugalokay, so I think I understand the mistral side of it at least.09:30
mcdoker181818Our kombu implementation is simple version of o m09:32
mcdoker181818rakhmerov: Why you dind't contribute at least once to om?09:32
rakhmerovmcdoker181818: we tried to09:36
rakhmerovspent huge amount of time and their team decided that it doesn't fall into the project scope really (which is still weird to me)09:36
rakhmerovthere was even a suggestion to start a new project09:37
rakhmerovmcdoker181818: all in all, there is a long story behind it09:38
d0ugalrakhmerov: Can you look at this again? https://review.openstack.org/58105909:42
rakhmerovsure09:42
d0ugalAdded tests for the action itself and one for the engine calling async actions.09:43
mcdoker181818rakhmerov: Got it09:43
rakhmerovd0ugal: looks good (+2ed), just one minor comment to address if you happen to send another ps09:47
rakhmerovmcdoker181818: yeah, we're still hoping to get back to Kombu RPC and make it more production ready09:48
rakhmerovbecause for us it's more beneficial architecturally09:48
mcdoker181818I agree. Except for executor09:59
*** shardy_ has joined #openstack-mistral09:59
*** shardy has quit IRC10:02
*** d0ugal has quit IRC11:15
*** d0ugal has joined #openstack-mistral11:18
*** d0ugal has quit IRC11:18
*** d0ugal has joined #openstack-mistral11:18
openstackgerritHardik Jasani proposed openstack/mistral master: [WIP] Add namespace support for workbooks and actions  https://review.openstack.org/58248211:21
openstackgerritHardik Jasani proposed openstack/mistral master: Fix rev-id parameter in mistral-db-manage  https://review.openstack.org/58321411:44
jlejeunehello @all11:47
jlejeuneI have some questions for you :)11:47
jlejeuneI want to deploy a global mistral server in "front of" several openstack regions11:48
jlejeuneI don't want that my mistral service be a part of these openstack regions11:49
jlejeuneso I configure my mistral service with that option : Pecan’s auth_enable = False11:50
jlejeuneand I declare os-target-* ENV variable matching my first openstack region (just an example)11:51
jlejeunebut when I want to call some openstack actions like cinder.services_list for example, I've got a 400 http error on POST call over /v2/action_executions url with no error message except ERROR (app)11:53
jlejeune(using pike release)11:53
jlejeunefirst question: is my use case can work with that configuration ?11:54
jlejeunesecond question: do I miss something ? ;)11:54
thrashjlejeune: I think if you auth_enable = False that would disable any of the auth processing.12:07
thrashincluding target.12:07
thrashBut I could be wrong.12:08
jlejeuneI can try using keystone auth12:12
openstackgerritHardik Jasani proposed openstack/mistral master: [WIP] Add namespace support for workbooks and actions  https://review.openstack.org/58248212:27
akovijlejeune: the target-* are the params you are looking for12:33
akovihowever, we never tried with multiple regions so it is possible that something is missing there12:34
jlejeuneakovi: yep I actually try to use them :)12:37
jlejeuneI need to define OS_TARGET_AUTH_URL right ?12:38
akoviyes12:39
jlejeunebut as soon I define this variable, a simple std.echo action doesn't work anymore12:39
akovican you send an example?12:39
jlejeuneOS_TARGET_AUTH_URL is mapped to our global keystone endpoint12:39
akoviyou can paste it on http://paste.openstack.org/12:39
akovisome logs or some more info would be useful to diagnose the issue12:44
openstackgerritAndras Kovi proposed openstack/mistral master: Allow engine commands as task name  https://review.openstack.org/58296612:46
jlejeuneakovi: doing12:54
jlejeuneakovi: http://paste.openstack.org/show/726109/13:04
openstackgerritAndras Kovi proposed openstack/mistral master: Allow engine commands as task name  https://review.openstack.org/58296613:04
akovijlejeune: can you please check the server logs?13:06
akovithe client logs seem to be useless13:06
jlejeuneit's a client error, and I have nothing more in server logs13:08
akoviis your API running on localhost?13:09
jlejeuneyep13:10
jlejeunebut I don't see the call in api log13:11
jlejeunelike the error occured before13:11
jlejeunethe POST13:11
openstackgerritBrad P. Crochet proposed openstack/mistral master: Install mistral-lib as a sibling for tox jobs  https://review.openstack.org/58323213:11
openstackgerritBrad P. Crochet proposed openstack/mistral master: Add user creds trusts to db  https://review.openstack.org/46205613:12
openstackgerritBrad P. Crochet proposed openstack/mistral master: Install mistral-lib as a sibling for tox jobs  https://review.openstack.org/58323213:14
d0ugalrakhmerov: The stable branch is created when the RC1 is released.13:22
akoviseemingly the authentication succeeds13:27
akovican you run: mistral --debug run-action std.noop13:28
akoviwithout the target stuff13:28
jlejeuneof course13:30
akovican you show the logs?13:30
jlejeuneDEBUG (extension) found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')                                                                                                                                          │13:31
jlejeuneDEBUG (extension) found extension EntryPoint.parse('json = cliff.formatters.json_format:JSONFormatter')                                                                                                                                      │13:31
jlejeuneDEBUG (extension) found extension EntryPoint.parse('shell = cliff.formatters.shell:ShellFormatter')                                                                                                                                          │13:31
jlejeuneDEBUG (extension) found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')                                                                                                                                          │13:31
jlejeuneDEBUG (extension) found extension EntryPoint.parse('yaml = cliff.formatters.yaml_format:YAMLFormatter')                                                                                                                                      │13:32
jlejeuneDEBUG (command) run(Namespace(columns=[], fit_width=False, formatter='table', input=None, max_width=0, name='std.noop', noindent=False, prefix='', print_empty=False, run_sync=False, save_result=False, target=None, variables=[]))         │13:32
jlejeuneDEBUG (connectionpool) Starting new HTTP connection (1): localhost                                                                                                                                                                           │13:32
jlejeuneDEBUG (connectionpool) http://localhost:8989 "POST /v2/action_executions HTTP/1.1" 201 290                                                                                                                                                   │13:32
jlejeuneDEBUG (httpclient) HTTP POST http://localhost:8989/v2/action_executions 201                                                                                                                                                                  │13:32
jlejeune{"result": null}13:32
jlejeunesorry for the flood :/13:32
jlejeune2018-07-17 13:31:29.504 3089 INFO mistral.api.controllers.v2.action_execution [req-72b4b495-3ec7-4e4b-8ae3-d65af91b3dcb - - - - -] Create action_execution [action_execution=ActionExecution [id='Unset', workflow_name='Unset', workflow_nam│13:32
jlejeuneespace='Unset', task_name='Unset', task_execution_id='Unset', state='Unset', state_info='Unset', tags='Unset', name='std.noop', description='Unset', accepted='Unset', input='Unset', output='Unset', created_at='Unset', updated_at='Unset',│13:32
jlejeune params='Unset']]13:32
jlejeuneapi-log ^13:32
akovithe HTTP 400 must be returned by the API13:34
jlejeuneagree13:34
akoviand there should be some error that is not logged13:35
akovimaybe in the executor log?13:36
akovithe auth parameters are used only during the action execution13:36
akovithough, the std.echo or noop does not used it at all13:37
jlejeunethat's why it's weird13:37
akoviI think there may be something in the context creation13:38
akovithe api should be run with debug logging13:39
jlejeuneit is13:41
akoviI know13:42
akoviis it possible that the service catalog that is returned by keystone is large?13:43
akovican it be that the json is not sent fully to the API?13:43
jlejeuneit's large, yes13:46
akovithen this is the issue13:46
jlejeunehm13:47
akoviwe have https://bugs.launchpad.net/mistral/+bug/1699248 and https://bugs.launchpad.net/python-mistralclient/+bug/1702324 as open issues13:47
openstackLaunchpad bug 1699248 in Mistral "The X-Target-Service-Catalog header can get too big" [High,In progress] - Assigned to Andras Kovi (akovi)13:47
openstackLaunchpad bug 1702324 in python-mistralclient "mistralclient sends too big header" [Undecided,New] - Assigned to Andras Kovi (akovi)13:47
akovithe service catalog is sent in the http header which is quite limited13:47
akoviif it is too large, the server will return an error without processing the request13:47
jlejeuneok13:49
akoviI have been trying to come up with fixes for this issue but I haven't found a clean solution yet13:50
jlejeunemaybe I can test your patch13:50
akovihttps://review.openstack.org/#/q/topic:service-catalog-issue+(status:open+OR+status:merged)13:53
*** bobh has joined #openstack-mistral13:53
akoviI haven't played with them for a while13:53
jlejeune:)13:54
*** bobh has quit IRC13:58
jlejeuneakovi: your patch works well !14:16
akovi:)14:23
jlejeuneI hope it will be quickly approved and merged in next releases14:23
akoviI'll try to work on it. We need it as well14:23
jlejeuneno doubt :)14:24
jlejeuneI come back14:24
*** bobh has joined #openstack-mistral14:28
*** d0ugal has quit IRC14:37
*** d0ugal has joined #openstack-mistral14:45
*** josecastroleon has joined #openstack-mistral14:58
*** akovi has quit IRC14:59
*** josecastroleon has quit IRC14:59
*** d0ugal has quit IRC15:03
*** hardikjasani has quit IRC15:10
*** d0ugal has joined #openstack-mistral15:15
*** d0ugal has quit IRC15:26
*** jistr is now known as jistr|afk15:38
*** d0ugal has joined #openstack-mistral15:57
*** gkadam has quit IRC15:59
openstackgerritBrad P. Crochet proposed openstack/mistral master: Install mistral-lib as a sibling for tox jobs  https://review.openstack.org/58323216:14
*** d0ugal has quit IRC16:18
*** harlowja has joined #openstack-mistral16:18
*** d0ugal has joined #openstack-mistral16:30
*** AlexeyAbashkin has quit IRC16:59
*** bobh has quit IRC17:13
*** livelace2 has joined #openstack-mistral17:19
*** jistr|afk is now known as jistr17:30
*** harlowja has quit IRC17:54
*** shardy_ has quit IRC17:54
*** bobh has joined #openstack-mistral18:10
*** jistr is now known as jistr|off18:25
*** harlowja has joined #openstack-mistral18:32
*** bobh has quit IRC18:54
openstackgerritHardik Jasani proposed openstack/mistral master: [WIP] Add namespace support for workbooks and actions  https://review.openstack.org/58248219:07
*** AlexeyAbashkin has joined #openstack-mistral20:22
openstackgerritBrad P. Crochet proposed openstack/mistral master: Add user creds trusts to dbA new table is created to store the user creds trusts.Change-Id: Ia2a19a3fcd8808475a16d4d439e085e62a00dfdcPartial-Bug: #1595084Depends-On: If6ff496fe562c1f7ec76cb7e38e89300b4880034Depends-On: I1f42836ec549a3e56681af29738868bf589  https://review.openstack.org/58335320:34
openstackbug 1595084 in Mistral "Workflow execution lifespan is limited by auth token expire time" [High,In progress] https://launchpad.net/bugs/1595084 - Assigned to Brad P. Crochet (brad-9)20:34
openstackgerritBrad P. Crochet proposed openstack/mistral master: Add user creds trusts to db  https://review.openstack.org/46205620:35
*** AlexeyAbashkin has quit IRC20:54
*** d0ugal has quit IRC20:58
*** d0ugal has joined #openstack-mistral21:00
*** d0ugal has quit IRC21:00
*** d0ugal has joined #openstack-mistral21:00
*** jtomasek has quit IRC21:01
*** jtomasek has joined #openstack-mistral21:06
openstackgerritBrad P. Crochet proposed openstack/mistral master: Add user creds trusts to db  https://review.openstack.org/46205621:20
*** bobh has joined #openstack-mistral21:44
*** toure is now known as toure|gone22:04
*** bobh has quit IRC22:05
*** apetrich has quit IRC22:08
*** apetrich has joined #openstack-mistral22:12
*** jtomasek has quit IRC22:36

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!