Wednesday, 2016-08-03

*** yangyapeng has quit IRC00:03
*** mtanino has quit IRC00:11
*** pgbridge has quit IRC00:20
*** akerr_ is now known as akerr_away00:33
*** akerr_away is now known as akerr_00:33
*** kaisers_ has joined #openstack-manila00:34
*** kaisers_ has quit IRC00:38
*** Suyi_ has quit IRC00:40
*** liyifeng has quit IRC00:57
*** yangyapeng has joined #openstack-manila01:16
*** akshai has joined #openstack-manila01:23
*** akshai has quit IRC01:35
*** vbellur has joined #openstack-manila01:50
*** liyifeng has joined #openstack-manila01:50
*** yangyape_ has joined #openstack-manila02:03
*** yangyapeng has quit IRC02:04
*** akerr_ has quit IRC02:16
*** kaisers_ has joined #openstack-manila02:23
*** gouthamr has joined #openstack-manila02:24
*** gouthamr_ has joined #openstack-manila02:27
*** kaisers_ has quit IRC02:27
*** gouthamr has quit IRC02:30
*** yangyapeng has joined #openstack-manila02:34
*** yangyape_ has quit IRC02:37
*** cknight has joined #openstack-manila03:26
*** gouthamr_ has quit IRC03:29
*** nkrinner_afk is now known as nkrinner03:47
*** liyifeng has quit IRC04:02
*** liyifeng has joined #openstack-manila04:17
*** kaisers_ has joined #openstack-manila04:23
*** kaisers_ has quit IRC04:23
*** furlongm has quit IRC04:43
*** furlongm_ has joined #openstack-manila04:43
*** vbellur has quit IRC05:02
*** furlongm_ has quit IRC05:05
*** furlongm_ has joined #openstack-manila05:06
*** cknight has quit IRC05:06
*** yangyape_ has joined #openstack-manila05:42
*** yangyapeng has quit IRC05:42
*** vbellur has joined #openstack-manila05:55
*** lpetrut has joined #openstack-manila06:19
openstackgerritDaniel Gonzalez Nothnagel proposed openstack/manila: Add binding_profile option for backends  https://review.openstack.org/28403406:35
openstackgerritDaniel Gonzalez Nothnagel proposed openstack/manila: Add multi-segment support  https://review.openstack.org/27773106:35
openstackgerritDaniel Gonzalez Nothnagel proposed openstack/manila: Add neutron driver for binding  https://review.openstack.org/28349406:35
*** tovchinnikova has joined #openstack-manila06:41
*** liyifeng has quit IRC07:01
*** pcaruana has joined #openstack-manila07:21
*** zengyingzhe has quit IRC07:22
*** zengyingzhe has joined #openstack-manila07:22
*** ekarlso has quit IRC07:29
*** lpetrut has quit IRC07:36
*** ekarlso has joined #openstack-manila07:37
*** furlongm_ has quit IRC07:38
*** furlongm_ has joined #openstack-manila07:42
openstackgerritAlexey Ovchinnikov proposed openstack/manila: Container driver  https://review.openstack.org/30893007:44
*** lpetrut has joined #openstack-manila07:46
*** yangyapeng has joined #openstack-manila07:59
*** liyifeng has joined #openstack-manila07:59
*** yangyap__ has joined #openstack-manila08:01
*** dsariel has joined #openstack-manila08:02
*** yangyape_ has quit IRC08:03
*** yangyapeng has quit IRC08:04
*** lpetrut has quit IRC08:04
*** yangyap__ has quit IRC08:05
openstackgerritBéla Vancsics proposed openstack/manila: Use more specific asserts in tests  https://review.openstack.org/34992608:35
openstackgerritValeriy Ponomaryov proposed openstack/manila: [Tempest] Run tempest with the only plugin - manila's  https://review.openstack.org/33837108:39
openstackgerritValeriy Ponomaryov proposed openstack/manila: [Tempest] Run tempest with the only plugin - manila's  https://review.openstack.org/33837108:42
*** yangyapeng has joined #openstack-manila08:42
openstackgerritValeriy Ponomaryov proposed openstack/manila: [debug] do not merge  https://review.openstack.org/35016808:44
openstackgerritOpenStack Proposal Bot proposed openstack/manila: Updated from global requirements  https://review.openstack.org/34863509:02
*** amitkqed has quit IRC09:04
*** amitkqed has joined #openstack-manila09:04
openstackgerritValeriy Ponomaryov proposed openstack/manila: [Tempest] Run tempest with the only plugin - manila's  https://review.openstack.org/33837109:24
*** lpetrut has joined #openstack-manila09:26
openstackgerritMarc Koderer proposed openstack/manila: Fix issue with snapshot creation in NetApp driver  https://review.openstack.org/35047309:30
openstackgerritBéla Vancsics proposed openstack/manila: Use more specific asserts in tests  https://review.openstack.org/34992609:37
*** furlongm_ has quit IRC09:37
*** furlongm_ has joined #openstack-manila09:37
*** gaurangt has joined #openstack-manila09:40
openstackgerritValeriy Ponomaryov proposed openstack/manila: [Tempest] Run tempest with the only plugin - manila's  https://review.openstack.org/33837109:41
openstackgerritValeriy Ponomaryov proposed openstack/manila: [debug] do not merge  https://review.openstack.org/35016809:42
*** kambiz has joined #openstack-manila09:44
openstackgerritzhongjun proposed openstack/python-manilaclient: Add snapshot instances admin APIs  https://review.openstack.org/30444910:07
*** amit213 has quit IRC10:10
*** amit213 has joined #openstack-manila10:12
openstackgerritzhongjun proposed openstack/python-manilaclient: Add snapshot instances admin APIs  https://review.openstack.org/30444910:15
*** yangyapeng has quit IRC10:26
*** yangyapeng has joined #openstack-manila10:27
*** yangyapeng has quit IRC10:46
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG] bug 1566815  https://review.openstack.org/35017411:10
openstackbug 1566815 in Manila "share manager fails to remove access rules on replicated share" [Critical,In progress] https://launchpad.net/bugs/1566815 - Assigned to Rodrigo Barbieri (rodrigo-barbieri2010)11:10
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG2] bug 1566815  https://review.openstack.org/35017511:11
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG3] bug 1566815  https://review.openstack.org/35017611:11
*** jcsp has joined #openstack-manila11:28
*** alyson_ has joined #openstack-manila11:28
*** yangyapeng has joined #openstack-manila11:42
*** tpsilva has joined #openstack-manila11:48
*** ganso has joined #openstack-manila11:53
gansovponomaryov: ping11:54
vponomaryovganso: pong11:54
gansovponomaryov: Hi Valeriy11:54
vponomaryovganso: Hello Rodrigo11:54
gansovponomaryov: answering your yesterday's messages: I also suspect the bug is fixed11:55
vponomaryovganso: I am not anymore11:55
gansovponomaryov: looking at your debug patches, they are incomplete11:55
gansovponomaryov: so the failures you reported are expected11:55
vponomaryovganso: what is lost you think?11:55
gansovponomaryov: let me link you just a sec11:55
*** gaurangt has left #openstack-manila11:56
gansovponomaryov: this: https://review.openstack.org/#/c/332267/37/manila/db/sqlalchemy/api.py11:56
gansovponomaryov: I did not look at ALL the logs you posted, but looking at some of them I immediately noticed that the code above ^ is missing and is necessary to complete the fix11:57
gansovponomaryov: part of the errors were related to "ResourceNotFound" when querying an instance access rule11:57
gansovponomaryov: the code above addresses that11:57
gansovponomaryov: either way11:58
gansovponomaryov: I am going to separate the patch11:58
gansovponomaryov: I need part of that fix in order for migration to work, which is not completely related to the other errors observed11:59
gansovponomaryov: so I will rebase on top11:59
gansovponomaryov: If the fix, once separated, does not address the bug you filed entirely, I will file another bug related only to migration which I am addressing. Unfortunately I cannot invest time right now finding the root cause of all the other errors12:02
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG3] bug 1566815  https://review.openstack.org/35017612:07
openstackbug 1566815 in Manila "share manager fails to remove access rules on replicated share" [Critical,In progress] https://launchpad.net/bugs/1566815 - Assigned to Rodrigo Barbieri (rodrigo-barbieri2010)12:07
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG2] bug 1566815  https://review.openstack.org/35017512:07
*** jcsp has quit IRC12:07
*** jcsp has joined #openstack-manila12:08
*** timcl has joined #openstack-manila12:08
openstackgerritValeriy Ponomaryov proposed openstack/manila: [DEBUG] bug 1566815  https://review.openstack.org/35017412:08
openstackbug 1566815 in Manila "share manager fails to remove access rules on replicated share" [Critical,In progress] https://launchpad.net/bugs/1566815 - Assigned to Rodrigo Barbieri (rodrigo-barbieri2010)12:08
*** nidhimittalhada has joined #openstack-manila12:10
gansovponomaryov: also, I did not fully understand your changes on access.py, why must the lock be in the update_access method instead of only in the remove_access_rules as in my patch?12:10
vponomaryovganso: "update access" is the only interface per share instance, it consists of several logical parts12:12
vponomaryovganso: so, the most uber fix would be to make lock on that single interface and reload rules inside of it12:12
vponomaryovreload means reread from db12:12
gansovponomaryov: it will have a bigger impact on performance12:14
vponomaryovganso: lock is made on per-instance basis12:14
vponomaryovganso: what performance are you talking about?12:14
gansovponomaryov: my lock is per share_id12:15
gansovponomaryov: because rules are read from share_access_mapping12:15
gansovponomaryov: it acquires what rules each instance should have based on what is registered in the share_access_mapping12:15
vponomaryovganso: "update_access" handles one specific share instance12:16
gansovponomaryov: so the race is when one thread is removing the last access rule from one instance12:16
gansovponomaryov: and then the other instance thinks it should apply that access rule, while in fact it should not, because it is being removed12:16
*** xyang1 has joined #openstack-manila12:16
vponomaryovI don't mind, let it be share_id12:17
gansovponomaryov: it does, but refresh procedure at the end messes it up12:17
vponomaryovganso: just propose your change12:17
gansovponomaryov: in fact, the lock should include remove and refresh refresh as well12:17
vponomaryovganso: gates are broken because of it12:18
gansovponomaryov: are they broken? wasn't this bug random?12:18
vponomaryovganso: just look here - https://review.openstack.org/#/c/338371/12:18
vponomaryovganso: migration tests in tempest fail too12:18
vponomaryovganso: for generic and lvm drivers12:19
vponomaryovganso: which are voting12:19
gansovponomaryov: I am confused, what change broke it? it was voting +1 yesterday12:19
vponomaryovganso: this bug has started to appear very often12:20
*** narayrak has joined #openstack-manila12:21
*** gouthamr has joined #openstack-manila12:30
*** rraja has joined #openstack-manila12:35
*** dustins has joined #openstack-manila12:36
*** narayrak has quit IRC12:41
*** akerr has joined #openstack-manila12:41
*** liyifeng has quit IRC12:44
*** narayrak has joined #openstack-manila12:52
*** narayrak has quit IRC12:54
*** narayrak has joined #openstack-manila12:54
openstackgerritAlexey Ovchinnikov proposed openstack/manila: [DNM] Tests for scenario tests  https://review.openstack.org/34023613:01
*** nidhimittalhada has quit IRC13:14
*** porrua has joined #openstack-manila13:17
*** zengyingzhe_ has joined #openstack-manila13:22
*** rraja has quit IRC13:24
*** zengyingzhe has quit IRC13:25
*** nkrinner is now known as nkrinner_afk13:29
*** faiz89 has joined #openstack-manila13:33
openstackgerritRodrigo Barbieri proposed openstack/manila: Fix update_access race condition and stale data  https://review.openstack.org/35058813:38
gansovponomaryov: ^13:39
tpsilvaganso, vponomaryov: we just stumbled on an issue testing one of our drivers, while adding several rules, some of them are just skipped and never come to the driver13:39
tpsilvaganso, vponomaryov: we'll cherry pick this and test again as soon as jenkins approves :)13:40
gansotpsilva: I remember you attempted to fix this in your latest update_access patch back in Mitaka, using the generic driver... our test case was that missing rules when adding several rules at once13:41
gansotpsilva: this is possibly a related issue13:41
tpsilvaganso: yep, I fixed it with the refresh if I recall correctly, but no locks were used13:42
*** vbellur has quit IRC13:42
gansotpsilva: yep, now we cannot avoid locks anymore :(13:42
tpsilvaganso: why don't you lock the entire update_access though?13:43
gansotpsilva: that's one alternative. My first attempt was https://review.openstack.org/#/c/332267/37/manila/share/access.py13:44
gansotpsilva: ^ I did not see the error anymore after that13:44
*** eharney has joined #openstack-manila13:54
*** akshai has joined #openstack-manila13:54
*** faiz89 has quit IRC13:58
bswartzvponomaryov: https://review.openstack.org/35059713:58
*** merooney has joined #openstack-manila13:58
*** timcl1 has joined #openstack-manila13:59
*** faiz89 has joined #openstack-manila14:00
*** krot_sickleave is now known as krotscheck14:00
*** akshai has quit IRC14:00
*** esker has joined #openstack-manila14:01
*** akshai has joined #openstack-manila14:02
*** timcl has quit IRC14:02
*** eharney_ has joined #openstack-manila14:04
*** vbellur has joined #openstack-manila14:04
*** eharney has quit IRC14:04
vponomaryovtpsilva: I proposed Rodrigo to lock whole module, you can read above in history14:09
vponomaryovtpsilva: so, you are not alone14:10
openstackgerritzhongjun proposed openstack/python-manilaclient: Add snapshot instances admin CLIs  https://review.openstack.org/30444914:13
tpsilvavponomaryov: locking the whole module would also remove that weird method14:17
vponomaryovtpsilva: yes14:18
vponomaryovtpsilva: were debugging it with following: https://review.openstack.org/#/c/350174/3/manila/share/access.py14:19
gansovponomaryov, tpsilva : Just testing, I will submit another patch anyway to address the share_instance model comment. If it passes the first time I will submit several debug patches, one of them with the whole method locked14:23
vponomaryovganso: submit in parallel14:24
vponomaryovganso: it is gates stability related14:24
gansovponomaryov: I'm waiting because I have not tested the one I submitted at all14:25
vponomaryovganso; got working debug - updated commit message and that's it14:25
vponomaryovganso: nice14:25
tpsilvavponomaryov: I did not understand that last part on your patch14:25
vponomaryovtpsilva: update of "remove_rules"?14:25
tpsilvavponomaryov: you're ensuring that remove_rules contains only rules that exist on DB?14:25
tpsilvayes14:25
vponomaryovtpsilva: exactly14:25
tpsilvavponomaryov: looks nice14:26
vponomaryovtpsilva: because previous locked operation could update it14:26
tpsilvavponomaryov: makes sense14:27
tpsilvaI'll keep an eye on that14:27
vponomaryovtpsilva: it already passed tempest jobs14:27
vponomaryovtpsilva: just not updated unit tests failed14:28
*** mtanino has joined #openstack-manila14:40
*** alkhodos has joined #openstack-manila14:42
*** toabctl has quit IRC14:46
*** toabctl has joined #openstack-manila14:47
*** akapil has joined #openstack-manila14:49
*** eharney_ is now known as eharney14:51
*** esker has quit IRC15:00
*** pgbridge has joined #openstack-manila15:02
*** nkrinner_afk has quit IRC15:05
*** akapil has quit IRC15:07
*** akshai has quit IRC15:09
*** vbellur has quit IRC15:10
tpsilvavponomaryov: I'm fine with that implementation15:16
vponomaryovtpsilva: it requires update, there is dead lock15:16
vponomaryovtpsilva: on recursive call part15:16
tpsilvavponomaryov: I see that some tests failed, but I thought it was not related to that change15:16
*** nkrinner_afk has joined #openstack-manila15:16
vponomaryovtpsilva: unit test timeout talks about it15:17
*** akshai has joined #openstack-manila15:18
*** akapil has joined #openstack-manila15:19
tpsilvavponomaryov: changing to share_id fixes it?15:20
vponomaryovtpsilva: it is not related to name of lock15:21
vponomaryovtpsilva: there is recursive call of locked func15:21
tpsilvavponomaryov: ooooh right15:21
vponomaryovtpsilva: with such fix15:21
tpsilvavponomaryov: makes sens15:21
*** akapil has quit IRC15:22
*** akapil has joined #openstack-manila15:22
tpsilvavponomaryov: quick fix is make update_access private and create a public method just for the initial call and put the lock there15:24
tpsilvavponomaryov: but it's ugly15:24
openstackgerritValeriy Ponomaryov proposed openstack/manila: Fix concurrency issue updating access having 2+ share instances  https://review.openstack.org/35064715:25
vponomaryovtpsilva ^ , ganso: you and goutham set as co-authors15:25
vponomaryovganso: we really should fix it asap15:25
tpsilvaoh, you're locking only the recursive call15:26
tpsilvanice15:26
tpsilvano you're not, nvm hehe15:27
*** vbellur has joined #openstack-manila15:27
openstackgerritValeriy Ponomaryov proposed openstack/manila: Fix concurrency issue updating access having 2+ share instances  https://review.openstack.org/35064715:30
*** timcl1 has quit IRC15:32
*** timcl has joined #openstack-manila15:37
tpsilvavponomaryov: https://review.openstack.org/#/c/350647/2/manila/tests/share/test_access.py15:39
tpsilvavponomaryov: this is weird15:39
vponomaryovtpsilva: it is not15:39
tpsilvavponomaryov: doesn't your patch break fallback mode?15:39
vponomaryovtpsilva: it is related to that filtering of updated DB15:40
vponomaryovtpsilva: look at test15:40
vponomaryovtpsilva: its delete_rules do not cross oribinal rules15:40
vponomaryovs/oribinal/original/15:42
tpsilvavponomaryov: yes, looks like the test is not testing properly, but I'm ok with that... fallback mode should be removed soon15:43
tpsilvavponomaryov: original_rules should have delete_rules, since they are deleted after update_access is executed15:44
tpsilvavponomaryov: but I'm ok with that, not the scope of your commit15:44
*** akapil has quit IRC15:49
openstackgerritValeriy Ponomaryov proposed openstack/manila: Fix concurrency issue updating access having 2+ share instances  https://review.openstack.org/35064715:51
openstackgerritValeriy Ponomaryov proposed openstack/manila: Fix concurrent usage of update_access method for share intances  https://review.openstack.org/35064715:56
*** JoseMello has joined #openstack-manila15:57
openstackgerritValeriy Ponomaryov proposed openstack/manila: Fix concurrent usage of update_access method for share intances  https://review.openstack.org/35064715:57
vponomaryovganso: 5th patch should be final -> https://review.openstack.org/#/c/350647/515:58
*** akshai has quit IRC15:59
vponomaryovganso: your commit message + lock by share_id as you wanted15:59
*** tovchinnikova has quit IRC16:26
*** faiz89 has quit IRC16:27
*** vbellur has quit IRC16:27
*** akshai has joined #openstack-manila16:30
*** akshai_ has joined #openstack-manila16:32
*** narayrak has quit IRC16:33
*** akshai has quit IRC16:35
*** dsariel has quit IRC16:39
*** vbellur has joined #openstack-manila16:43
*** Suyi_ has joined #openstack-manila16:45
tpsilvavponomaryov: new implementation is cleaner16:46
tpsilvavponomaryov: but apparently it's still breaking on our driver16:46
tpsilva:(16:46
tpsilvavponomaryov: probably different bug16:46
*** furlongm_ has quit IRC16:49
*** furlongm_ has joined #openstack-manila16:50
*** vbellur has quit IRC16:51
*** vbellur has joined #openstack-manila16:51
*** krotscheck is now known as kro_focused16:53
*** zhongjun_ has quit IRC16:53
*** zhongjun_ has joined #openstack-manila16:55
tpsilvavponomaryov: yep, definitely still broken here16:55
tpsilvavponomaryov: it stops adding the rules16:55
*** zengyingzhe_ has quit IRC16:58
*** pcaruana has quit IRC17:00
*** zengyingzhe has joined #openstack-manila17:00
*** openstackgerrit_ has joined #openstack-manila17:06
*** openstackgerrit_ has quit IRC17:08
tpsilvavponomaryov: still there?17:10
tpsilvavponomaryov: problem is in refresh17:10
*** akshai_ has quit IRC17:11
*** lpetrut has quit IRC17:11
*** eharney has quit IRC17:20
*** lpetrut has joined #openstack-manila17:37
tpsilvagouthamr: ping17:39
gouthamrtpsilva: Hey Tiago17:39
tpsilvagouthamr: hey Goutham17:39
tpsilvagouthamr: you're checking the update access bug as well, right?17:40
tpsilvagouthamr: I found another issue, not sure if it's the same bug or other17:40
tpsilvagouthamr: probably other one, mine is API related17:40
gouthamrtpsilva: oh..17:40
tpsilvagouthamr: but we may need to use the same lock proposed by vponomaryov on API17:41
tpsilvagouthamr: let me explain17:41
gouthamrtpsilva: sure..17:41
tpsilvagouthamr: it's pretty simple and I guess someone already raised that possible issue when the refresh was proposed... API is changing status to updating multiple right after update_access checks it for refresh17:43
tpsilvagouthamr: after that the whole access allow/deny are stalled17:43
gouthamrtpsilva: when the driver is applying rules?17:44
tpsilvagouthamr: yes17:44
tpsilvagouthamr: we may need to add that same lock on allow_access_to_instance17:44
tpsilvagouthamr: on API17:44
tpsilvagouthamr: not sure about the performance impact though17:45
gouthamrtpsilva: so, two separate API requests might try to set stuff to 'status_updating_multiple'17:45
tpsilvagouthamr: no no17:45
tpsilvagouthamr: only one request17:45
tpsilvagouthamr: I made a simple for, adding 100 rules to a share17:45
tpsilvagouthamr: while manager is still processing a rule, another one comes to the API17:46
tpsilvagouthamr: manager has just checked if it needs refresh, status says no17:46
tpsilvagouthamr: then API changed status to "updating multiple"17:46
tpsilvagouthamr: but manager has already checked, so it does not refresh17:46
*** faiz89 has joined #openstack-manila17:46
tpsilvagouthamr: not sure if this would happen on any driver but it certainly happens on HNAS driver17:47
tpsilvagouthamr: a simple for can reproduce this issue17:47
gouthamrtpsilva: ah.. i see the problem now.17:50
tpsilvagouthamr: adding the same lock on allow_access_to_instance would affect the performance?17:50
gouthamrtpsilva: we can't certainly apply the same lock on the API method..17:50
tpsilvagouthamr: why? these locks don't work across two processes?17:51
gouthamrtpsilva: that lock will make the API wait.17:52
*** lpetrut has quit IRC17:52
tpsilvagouthamr: right, API must be available17:53
tpsilvagouthamr: I tried updating the share_instance model, but that's not enough17:53
tpsilvagouthamr: and that's not the correct way of solving concurrency issues :)17:53
gouthamrtpsilva: yes.. bswartz and I were discussing the locks we currently have.. we have gigantic critical sections when driver methods are being invoked..17:54
gouthamrtpsilva: don't we check if the access rules changed when the manager returns and checks for refresh?17:56
tpsilvagouthamr: the refresh method does that17:56
*** harlowja has quit IRC17:58
*** harlowja has joined #openstack-manila18:00
tpsilvagouthamr: lock on API solved it, but there's the availability issue now18:01
tpsilvagouthamr: we may need to check other ways of solving that18:01
gouthamrtpsilva: what's the use of _check_needs_refresh?18:03
tpsilvagouthamr: it solves and older bug18:03
tpsilvagouthamr: let me find it18:03
*** lpetrut has joined #openstack-manila18:03
tpsilvagouthamr: point is, it solved one bug, but added this concurrency one18:03
tpsilvahttps://review.openstack.org/#/c/287758/18:04
gouthamrtpsilva: IIRC, we had an API regression with the first update_access patch.. we weren't allowing more than one non-active rule at a time18:04
tpsilvacheck cknight comments on PS 1518:04
tpsilvagouthamr: ^18:06
gouthamrtpsilva: not to restart that discussion all over again, but we were probably okay with per access rule status so that we could correctly reflect what was applied, and what was not.. and while all of them were not applied correctly, the share instance's access_rule_status could be something other than 'available'18:06
tpsilvagouthamr: yes18:06
tpsilvagouthamr: one of the issued that we would solve on Newton was to add back the per access rule status18:07
tpsilvagouthamr: it was discussed on summit IIRC, but no one voluteered18:07
gouthamrtpsilva: we never got to that :(18:07
tpsilvagouthamr: I want to fix that, but cannot do that on Newton, just ocata :(18:07
gouthamrtpsilva: i think if we had that, we would drip the check in the API, allow access rule changes to come in, perform the necessary reconciliation in the manager.18:08
gouthamrs/drip/drop18:08
* tpsilva gouthamr: yes...18:08
tpsilvagouthamr: don't know why it send it that way... weird irc client lol18:09
tpsilvagouthamr: we're trying to fix this update_access since late mitaka and we never got it working18:10
gansogouthamr, tpsilva: I am following the discussion here18:10
gansoit seems the problem is mostly related to states18:10
gansosince we have a patch that adds a huge lock to update_access18:10
tpsilvagouthamr: we need to add back per rule status, but I'm afraid it's kinda late to get this done in Newton18:10
gansoI believe we could use that to set the state, decide whether the rule is present in DB or not, and always query the correct state18:11
gouthamrbswartz: ?18:11
tpsilvagouthamr: I think I can do that, but that would mean no mountable snapshots18:11
tpsilvasince it classifies as a bugfix, its deadline is past FF18:12
gansotpsilva: yes18:12
bswartzgouthamr: ?18:13
*** MikeG451 has quit IRC18:13
gansobswartz, gouthamr, tpsilva: ?18:13
gouthamrbswartz: per access rule status not being there is issues in the API.. we've lived with it through Newton; we knew we had to fix it...18:14
tpsilvaif ganso continues what I started on mountable snapshots, I can start adding per rule status tomorrow :P18:15
gouthamrganso: tpsilva: in a meeting, sorry for the lag (bswartz is here as well)18:15
tpsilvagouthamr: no problem18:15
* gouthamr looks at all the patches ganso has and tells tpsilva, 'fat chance'18:15
tpsilvagouthamr: is he following the issue?18:15
gansotpsilva: definitely no way18:15
tpsilvahelp me out here guys :P18:16
gouthamrtpsilva: related question for you, i think mountable snapshots has come a long way, but do you think we can have first party driver support?18:17
tpsilvagouthamr: I was discussing that with ganso these days18:17
tpsilvagouthamr: it's probably really quick to implement on LVM driver18:18
gouthamrtpsilva: nice, thanks..18:20
*** timcl1 has joined #openstack-manila18:24
tpsilvawell that's probably topic for the weekly meeting18:26
*** timcl has quit IRC18:27
*** MikeG451 has joined #openstack-manila18:29
*** vbellur has quit IRC18:30
*** dustins has quit IRC18:41
*** dustins has joined #openstack-manila18:45
*** vbellur has joined #openstack-manila18:49
*** lpetrut has quit IRC18:55
*** lpetrut has joined #openstack-manila18:55
*** eharney has joined #openstack-manila18:58
*** porrua has quit IRC19:06
*** timcl has joined #openstack-manila19:10
bswartzguys what's up?19:12
bswartzI'm dividing my attention between 3 things so not reading all the chat here19:12
*** timcl1 has quit IRC19:13
tpsilvabswartz: caught a bug on update access, pretty easy to reproduce19:13
tpsilvabswartz: just by adding several rules... eventually they stop being added because of our refresh mechanism19:14
bswartzyes it's a race condition19:15
bswartzif you add them too fast19:15
tpsilvapoint is, it's not really that fast19:16
tpsilvai'm just adding a bunch of rules using a shell script19:16
tpsilvathis is enought to get it to fail19:16
tpsilvabswartz: ^19:16
bswartzyeah but scripts are fast19:19
bswartzif you did it interactively it probably wouldn't trigger19:19
bswartzif you see the bug even with long delays between adds then I'd be really worried19:20
bswartznevertheless it's a race we shodl fix19:20
gansobswartz: a script to add access rules is a valid use case for a user while there is no share groups feature19:20
bswartzganso: I'm not disagreeing with that19:20
gansobswartz: access groups19:20
tpsilvabswartz: the script is a simple for19:20
tpsilvafor i in `seq 1 100`; do manila access-allow share ip 5.5.5.$i; done19:21
tpsilvabswartz: and after the issue, the whole allow/deny api becomes stuck19:21
gansobswartz: ^ it becomes a blocking issue19:21
tpsilvabswartz: that's what worries me the most19:21
bswartzmy only point was that the issue is known and shouldn't affect interactive users19:22
tpsilvabswartz: access_rules_status are stuck in "updating_multiple"19:22
bswartzobvious the fact that it affects automation scripts means we need to fix it anyways19:22
gansobswartz: before, we assumed that the next rule would fix the problem of a rule not added if refresh wouldn't be able to do so19:22
tpsilvabswartz: and we cannot get it back to anything else without removing the share19:22
tpsilvaeven restarting the services won't fix it19:23
bswartzhonestly I'd hoped that process on tooz locking would have gone faster19:23
bswartzthis is fixable with any kind of multiprocess lock though19:23
tpsilvabswartz: yes, I fixed with extending the lock that vponomaryov proposed to the API19:23
tpsilvabswartz: but the API is locked then19:24
tpsilvathe lock proposed here: https://review.openstack.org/#/c/350647/19:24
bswartztpsilva: forgive me I don't see any locks19:32
bswartzis that the right patch?19:32
bswartzoh wait I found it19:32
* bswartz has poor vision19:32
tpsilvabswartz: https://review.openstack.org/#/c/350647/5/manila/share/access.py@4919:32
tpsilvabswartz: I extended it to this method19:33
tpsilvabswartz: https://github.com/openstack/manila/blob/master/manila/share/api.py#L122519:33
tpsilvabswartz: and refreshed the share_instance model inside the method19:33
tpsilvabswartz: worked for me19:33
*** gouthamr has quit IRC19:35
*** vbellur has quit IRC19:35
bswartztpsilva: okay so does this fix coimpletely address the issue or are there still problems with it19:38
bswartzit looks like it might be the correct fix but I don't have time to properly review it19:38
tpsilvabswartz: it worked for me, I didn't have any issues with it19:39
tpsilvabswartz: I will discuss that with vponomaryov tomorrow19:39
*** timcl has quit IRC19:39
tpsilvabswartz: since he is fixing the original bug19:39
bswartztpsilva: so then the only thing you're asking me is to review that patch, right?19:40
tpsilvabswartz: not exactly... I'm afraid this would cover some other possible issue with that, also, that locks the API, which is not quite nice19:41
tpsilvabut I don't know what I'm asking either :P19:41
bswartzokay19:41
bswartzso my stance is that the api service absolutely needs to have locks19:41
bswartzhowever we need to ensure nothing blocking happens while holding a lock19:41
bswartzat least, no network blocking (DB calls and file I/O would be fine)19:42
bswartzI'm not sure why we've avoided locks in the API service so far19:42
tpsilvabswartz: okay... well since locks on API are OK, I'll discuss that solution with vponomaryov tomorrow19:43
tpsilvahopefully we can get this fixed tomorrow19:43
bswartzyes19:44
tpsilvaalright19:44
tpsilvathanks Ben19:44
bswartzbtw if anyone take the viewpoint that locks in the API are not okay, then I'd *really* like to know what the recommended alternative for fixing these kinds of issues is19:44
tpsilvabswartz: goutham is against locks on API :P19:44
bswartzstill I want to read the code and validate that the lock is only held for a minimum time19:45
tpsilvathink he already left though19:45
bswartzI talked with gouthamr yesterday19:45
bswartzhopefully cleared up any misunderstandings19:45
*** gouthamr has joined #openstack-manila19:45
bswartzI think he was basing his opinion on tradition19:45
gansobswartz: I have an idea but I am not sure if it fixes the problem. tpsilva already tested his idea and it works19:48
*** vbellur has joined #openstack-manila19:48
bswartzganso: can you outline it?19:48
bswartzI have to run in about 2 minutes19:48
gansobswartz: my idea is that now that we cannot avoid to use a huge lock on update_access, we would remove those additional statuses, and allow every RPC request to go to the manager19:48
gansobswartz: and then the whole manager code is inside the lock (which almost already is)19:49
bswartzaha19:49
bswartzthat's exactly what we shouldn't do19:49
bswartzbecause it creates deadlock situations19:49
gansobswartz: we are kinda doing that19:49
gansobswartz: with the proposed fix19:49
bswartzokay that's why I want to look more closely at the proposed fix19:49
tpsilvaganso: no we're not19:49
bswartzthe general goal should be: prevent conflicting access to resources using transitional states, and protect state changes with locks19:50
bswartzthat approach allows us to ensure locks aren't held for more than a few microseconds, and transional states should exist for maybe hundreds of milliseconds19:51
gansotpsilva: when I said "we are kinda doing that" I referred to the huge lock. I know we are not forwarding everything to the manager right now19:51
bswartzokay I'm AFK for a bit19:52
gansobswartz: my suggestion would serialize everything19:52
gansobswartz: because it seems we cannot do it parallel without locks in the API19:52
bswartzganso, tpsilva: I added a topic for tomorrow: https://wiki.openstack.org/wiki/Manila/Meetings#Next_meeting19:54
tpsilvabswartz: awesome, thanks19:54
openstackgerritMerged openstack/manila: Updated from global requirements  https://review.openstack.org/34863519:55
openstackgerritMerged openstack/manila: Check for usage of same Cephx ID as manila service  https://review.openstack.org/34971819:56
*** permalac has quit IRC20:02
*** permalac has joined #openstack-manila20:03
alkhodosxyang1, vponomaryov, gouthamr, zhongjun_ : Hi, please take a look at PS 31 https://review.openstack.org/#/c/309286/3120:08
*** porrua has joined #openstack-manila20:09
*** lpetrut has quit IRC20:10
gouthamralkhodos: responded20:14
*** merooney has quit IRC20:16
gouthamralkhodos: so, you can't remove access rules?20:16
gouthamralkhodos: s/you/your driver20:17
*** akapil has joined #openstack-manila20:28
*** dustins has quit IRC20:30
*** porrua has quit IRC20:30
alkhodosgouthamr: I can20:33
alkhodosgouthamr: forgot to remove that commented test...20:34
gouthamralkhodos: i see that you're not adding any logic to read deleted rules20:34
alkhodosgouthamr: :param access_rules: All access rules for given share. This list         is enough to update the access rules for given share.20:36
alkhodosgouthamr: I just use this param for both add and delete20:36
*** akapil has quit IRC20:36
alkhodosgouthamr: basicly pass all access rules the share should have every time20:37
*** timcl has joined #openstack-manila20:40
gouthamralkhodos: access_rules will not contain "deny" rules.20:40
openstackgerritTiago Pasqualini da Silva proposed openstack/manila: Add Hitachi HSP driver  https://review.openstack.org/32913420:41
gouthamralkhodos: so, the thing is.. when a user uses ``manila access_allow``, update_access() is called on the driver with this access rule set in "add_rules" and in "access_rules"20:42
gouthamralkhodos: when a user uses ``manila access_deny`` , update_access() is called on the driver with this access rule set in "delete_rules"20:43
gouthamralkhodos: access_rules will only contain those rules that need to be on the share..20:43
alkhodosgouthamr: hmm, let me retest this20:43
*** akapil has joined #openstack-manila20:44
*** dustins has joined #openstack-manila20:44
gouthamralkhodos: the use of that is really in the 'recovery' case, when, for instance, you bounce the share manager service and the driver needs to update any un-updated rules, it will receive the ``update_access`` call on driver startup with all the rules that *need* to be on the share.. and in this case add_rules and delete_rules will be None20:45
gouthamrganso: ^ anything wrong with that interpretation?20:45
openstackgerritTiago Pasqualini da Silva proposed openstack/manila: Add Hitachi HSP driver  https://review.openstack.org/32913420:46
gansogouthamr: reading20:46
gansogouthamr, alkhodos: if I am reading it right, his driver works like my driver, which has a list of rules that is basically a string. In order words, a huge list of rules that can be updated atomically. His driver does not need to care about adding or removing individual rules. "access_rules" list always has the list of rules the driver should have, so he20:50
gansojust atomically applies the whole list to his backend.20:50
gansogouthamr: I don't see any problem wit hit20:51
gouthamrganso alkhodos: nice, that was my question in teh review.. if that's the case, it'd be nice to see this explanation in the docstring20:52
*** akerr has quit IRC20:52
alkhodosgouthamr: yes, that what i was trying top say)20:52
alkhodosgouthamr: will update the docstring20:54
gouthamralkhodos: good stuff. thank you!20:54
*** vbellur has quit IRC20:56
*** timcl has quit IRC20:57
*** furlongm has joined #openstack-manila20:57
*** furlongm_ has quit IRC20:57
alkhodosgouthamr: probably a silly question, but can't find a way to make it work: when I pass required=True to an opt with no default, how do I pass the unit tests? It throws an error on setUp21:05
alkhodosgouthamr: here's the error http://paste.openstack.org/show/547855/21:06
gouthamralkhodos: how are you setting and passing this config21:06
gouthamralkhodos: your driver's init method will expect it if required=True..21:07
*** dustins has quit IRC21:07
gouthamralkhodos: an example: https://github.com/openstack/manila/blob/master/manila/tests/share/drivers/zfsonlinux/test_driver.py#L2921:07
gouthamralkhodos: and https://github.com/openstack/manila/blob/master/manila/tests/share/drivers/zfsonlinux/test_driver.py#L9721:08
alkhodosgouthamr: I wonder how it does not fail here https://github.com/openstack/manila/blob/master/manila/tests/share/drivers/zfsonlinux/test_driver.py#L94 ?21:09
alkhodosgouthamr: I wonder how it does not fail here https://github.com/openstack/manila/blob/master/manila/tests/share/drivers/zfsonlinux/test_driver.py#L94 ?21:09
gouthamralkhodos: self.mock_object(zfs_driver.CONF, '_check_required_opts') :)21:09
alkhodosgouthamr: ah nvm21:09
alkhodosgouthamr: got it )21:09
gouthamralkhodos: smart man vponomaryov21:09
alkhodosgouthamr: ye, I was trying to figure that out, but failed lol21:10
*** JoseMello has quit IRC21:10
openstackgerritRodrigo Barbieri proposed openstack/manila: Fix Share Migration improper behavior for drivers  https://review.openstack.org/33226721:14
*** akapil has quit IRC21:14
*** akapil has joined #openstack-manila21:15
*** faiz89 has quit IRC21:23
*** gouthamr has quit IRC21:24
*** alkhodos has quit IRC21:25
*** jcsp has quit IRC21:29
*** akapil has quit IRC21:36
openstackgerritAlexey Khodos proposed openstack/manila: Nexenta: adding share drivers for NexentaStor  https://review.openstack.org/30928621:40
*** jcsp has joined #openstack-manila21:41
*** eharney has quit IRC22:02
*** eharney has joined #openstack-manila22:03
*** alyson_ has quit IRC22:03
*** vbellur has joined #openstack-manila22:28
*** jcsp has quit IRC22:41
*** xyang1 has quit IRC22:56
*** tpsilva has quit IRC23:08
*** sjjfowler has quit IRC23:15
*** adrianofr has quit IRC23:21
*** hoonetorg has quit IRC23:39
*** hoonetorg has joined #openstack-manila23:44
*** zhongjun_ has quit IRC23:47
*** zhongjun_ has joined #openstack-manila23:48
*** liyifeng has joined #openstack-manila23:57

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