Monday, 2016-01-18

*** davidlenwell has quit IRC01:05
*** davidlenwell has joined #refstack01:07
*** ChanServ sets mode: +o davidlenwell01:07
*** markvoelker_ has quit IRC02:26
*** coolsvap|away is now known as coolsvap05:11
*** coolsvap is now known as coolsvap|away07:18
openstackgerritDavid Liu proposed openstack/refstack-client: Remove RefStack dependency on Keystone client.  https://review.openstack.org/26574708:05
openstackgerritCatherine Diep proposed openstack/refstack: Add database tables to support vendor/product registration.  https://review.openstack.org/26892208:25
openstackgerritAndrey Pavlov proposed openstack/refstack: Create group table.  https://review.openstack.org/26892908:52
openstackgerritAndrey Pavlov proposed openstack/refstack: Create group table.  https://review.openstack.org/26892911:38
openstackgerritDavid Liu proposed openstack/refstack-client: Remove RefStack dependency on Keystone client.  https://review.openstack.org/26574711:46
*** edmondsw has joined #refstack13:12
*** edmondsw has quit IRC14:02
openstackgerritAndrey Pavlov proposed openstack/refstack: Introduce organization and product tables  https://review.openstack.org/26906614:05
openstackgerritAndrey Pavlov proposed openstack/refstack: Introduce organization and product tables  https://review.openstack.org/26906614:59
*** resker has quit IRC15:53
*** edmondsw has joined #refstack16:16
-openstackstatus- NOTICE: Gerrit is restarting quickly as a workaround for performance degradation16:50
openstackgerritCatherine Diep proposed openstack/refstack: This specification proposes RefStack to add user group support.  https://review.openstack.org/26918416:55
*** hockeynut_afk has joined #refstack17:10
*** davidlenwell has quit IRC18:22
*** davidlenwell has joined #refstack18:24
*** ChanServ sets mode: +o davidlenwell18:24
*** alexandrelevine has joined #refstack18:38
*** hockeynut_afk is now known as hockeynut18:43
*** pvaneck has joined #refstack18:57
*** alexandrelevine has quit IRC19:14
*** andrey-mp_ has joined #refstack19:55
catherineDHi everyone,20:00
sslypushenko+20:00
catherineDI am so excited that we finally get this going ...20:00
sslypushenkome too20:00
andrey-mp_about unique names - I don't have strong desicion on this but my thoughts that we don't need it20:01
pvaneckdont think we need to enforce uniqueness for now. maybe just for orgs if at all20:01
andrey-mp_because user can enter 'private cloud' and 'private cloud.'. or add/remove space in name...20:01
sslypushenkoI think we can do this enforcement20:01
catherineDif we enforce uniqueness and with soft delete , since the record are never deleted ... a name that is used will never be used again even that it is deleted (from soft delete)20:02
sslypushenkohmmm that is right20:02
catherineDbecause for soft delete the different between delete or not is a flag in the deleted column20:03
sslypushenkobut it can be avoid it some how20:03
sslypushenkowith some more complex constraints20:04
andrey-mp_another thought - foundation admin may register vendors/products after small check and suggest to rename...20:04
sslypushenkobut I see some other issue here20:04
andrey-mp_but we can't block renaming after approvement20:05
sslypushenkosomeone can create vendors records with good known trademarks20:05
catherineDandrey-mp_: I think foundation should register vendors but not product ... vendor admin should register product ... this is an other discussion topic20:05
andrey-mp_catherineD: yes, I agree20:06
catherineDsslypushenko: could you explain some more?20:06
andrey-mp_i mean that user can create vendor with any name but foundation admin will approve only if the vendor has correct name (and other properties)20:07
sslypushenkojust thoughts... If foundation handles vendor registration, so that if should work fine20:07
andrey-mp_so it is task for foundation admin - checking name of the vendor20:07
*** alexandrelevine has joined #refstack20:08
sslypushenkoso we can enforce unique vendor name20:08
alexandrelevineOI20:08
alexandrelevineI'm back. Am I too late?20:08
catherineDso foundation should check and enforce for uniqueness of name?20:08
sslypushenkoand unique pair vendor/product20:08
alexandrelevineSorry about the call. Couldn't help it.20:08
alexandrelevinedid we decide about the Groups and Roles if I may ask?20:09
catherineDalexandrelevine: no we are on topic 2.3.4 of the agenda20:09
andrey-mp_catherineD: foundation should check for correctness20:09
catherineDalexandrelevine: no we have not ... we waite for you20:09
alexandrelevinecatherineD: Thank you :)20:09
catherineDlet's get the uniqness topic settle then we can revisit the group / user20:10
alexandrelevinesure20:11
sslypushenkocatherineD:  unique vendor, unique vendor+product20:11
catherineDandrey-mp_: checking should include upper/lower case ... that is  very tedious ..20:11
andrey-mp_catherineD: not only. also spaces, dots or other punctuation symbols20:12
catherineDandrey-mp_: agree ... so it is very tedious ...20:13
alexandrelevinecatherineD: We should ask maybe the DefCore guys - would they allow renaming, for example?20:13
catherineDalexandrelevine: OK good idea .. so we will ask DefCore ...20:14
andrey-mp_and another thought - we will not have many vendors...20:14
catherineDso we still want to add the delete column right?20:14
sslypushenkoI think so...20:14
andrey-mp_if it is a oslo (or Openstack way) then we want20:15
catherineDdo we care for uniqueness in product?20:15
alexandrelevineSame thing - ask DefCore. Uniqueness, Renaming, allowed characters.....20:15
catherineD#agreed All tables should include the "delete" related column20:16
sslypushenko+120:16
alexandrelevinenone of cares to be honest :)20:16
andrey-mp_catherineD: i think no. vendor will mantain their products easily with it20:16
catherineD#agreed RefStack will check with DefCore/Foundation whether vendor name can be renamed20:16
sslypushenkoandrey-mp_: I would suggest to keep vendor+product unique20:16
catherineDsslypushenko: how can we do that?20:17
andrey-mp_sslypushenko: it is a good idea but how we can do it at DB level? )20:17
alexandrelevineWe don't do it at DB level.20:17
sslypushenkoDB supports complex unique constraints20:17
alexandrelevineWe apply constraints in the business logic.20:18
andrey-mp_but it will slow DB operations20:18
catherineDsslypushenko: the issue is the name will be mix cases ...20:18
alexandrelevineAt least if we want to have DB as simple and upgradeable as possible.20:18
catherineDAmazon and AMAZON are 2 names20:18
sslypushenkoyeap... but we will do some kind of calidation befor put data in to dv20:18
alexandrelevineI suggest leaving DB to store our stuff and not do any checking at all.20:18
sslypushenko*db20:19
catherineDyup that is why I did the upper of name in the table ...20:19
sslypushenkoalexandrelevine: I don't agree with you20:19
catherineDwith that we are not sensitive to the cases and then we can use DB to contrain the name20:19
andrey-mp_sslypushenko: if foundation will not approve two same vendors then we don't face with this problem20:19
*** alexandrelevine_ has joined #refstack20:20
sslypushenkoandrey-mp_:  My point of view here that we should keep uniqueness not only for vendors but also for vendors and products20:21
alexandrelevine_catherineD: I missed the answer: why did you add the Upper Name in the DB?20:21
sslypushenkoand also I think that as much as possible kind of such related with data model should be placed in db20:22
catherineDalexandrelevine_: so that AmaZon and AmAzon is one name AMAZON for us ... with this we can use db to contrain on name uniqueness ..20:22
catherineDsslypushenko: ++|20:22
andrey-mp_sslypushenko: i agree with this - but if vendors will unique then vendor can manage their products with uniquness....20:22
catherineDandrey-mp_: I am just afraid that people make typo..20:23
*** alexandrelevine has quit IRC20:23
sslypushenkoandrey-mp_: Vendor can but not must... I think Vendor must manage products with uniquness20:23
*** alexandrelevine has joined #refstack20:23
alexandrelevineI get disconnected all the time by some weird reason.20:24
sslypushenkoalexandrelevine: It is IRC)))20:24
catherineDalexandrelevine: hmm that is not good20:24
andrey-mp_catherineD: then they can rename any item :)20:24
alexandrelevinecatherineD: I strongly disagree with such pattern, to be honest. Let's not burden DB with additional data which we can check ourselves.20:24
sslypushenkoalexandrelevine: It will be really big issue20:25
catherineDalexandrelevine: DB is the best place for these tasks for performance reason20:25
alexandrelevinecatherineD: We don't have any performance issues yet20:25
*** alexandrelevine_ has quit IRC20:25
alexandrelevinecatherineD: And we won't until we see some coming. I don't see any.20:25
sslypushenkoI don't see the way how to check uniqueness of item in db20:25
catherineDalexandrelevine: I know I am just a performance engineer that always design for that :-)20:25
alexandrelevinecatherineD: In order to talk about performance we first need to get Non-Functional requirements from the DefCore or make them approve ours.20:26
catherineDsslypushenko: by defining  UNI20:26
sslypushenkocatherineD: yeap if we use DB20:26
alexandrelevinecatherineD: Some well-known person said once: Preliminary optimization is a root of all evils. Not that I completely agree with it though20:26
sslypushenkobut alexandrelevine suggest to do it in code20:27
catherineDsslypushenko: yup otherwais we may need to dump all record an manipulated in the application20:27
alexandrelevinecatherineD: But in our case it's definitely not a performance issue and not a way to solve it.20:27
sslypushenkoalexandrelevine: Sorry, but I disagree  with you20:27
alexandrelevineGuys, I suggest to start worrying about it when we have something to worry on. I don't at the moment. And I don't see it coming at all. Not even close.20:27
catherineDok let me suggest this ,,, for name uniqueness let us check qieh DefCore. .. then we can continue the discussion20:28
sslypushenkoWe can already fill some slowdown in current RefStack20:28
sslypushenkocatherineD: +20:28
alexandrelevinesslypushenko: With what exactly? That we shouldn't to preliminary performance optimizations?20:28
catherineDsslypushenko: ++20:28
alexandrelevine"do" not "to"20:28
catherineDLet move on ...20:28
sslypushenkoalexandrelevine: Agreed with keeping thing as much as possible20:29
alexandrelevinesslypushenko: If we do have slowdown let's profile it and find a solution for particular problem. Not imaginary one.20:29
catherineDthe different in these two specs are one with a table "group" define and one without https://review.openstack.org/#/c/268922/ and  https://review.openstack.org/#/c/269184/20:29
sslypushenkoalexandrelevine: yeap you are right)20:30
catherineDalexandrelevine: since you mention that we will never do group management that is why I think we may not need the group table20:30
catherineDdo we need the group table ?20:30
alexandrelevineI like the group approach better.20:31
alexandrelevinecatherineD: Where would you store lists of users for built-in groups?20:31
sslypushenkoagreed with alexandrelevine20:31
alexandrelevineI still don't see why we need the second group-user-role table.20:31
catherineDthe group table would introduce an other level of reference ... the relationship will store in org-user table20:32
sslypushenko group is much general entity20:32
catherineDso we agree to go the group route?20:32
catherineDsslypushenko: I agreed that is my initial thinking too ...20:32
catherineD#agreed RefStack will create a group table20:33
catherineDback to the user-group-role discussion20:33
catherineDalexandrelevine: we do not add a second group-user-role table ...20:33
alexandrelevineorg-user table is exactly the group table if we remove the role. I think group is more straightforward naming.20:34
catherineDwe replace the group-user table with group-user-role table20:34
catherineDalexandrelevine: we already agree that we will not use org-user table20:34
sslypushenkogroup-user-role table should work fine20:34
catherineDwe are now revisit the role discussion20:34
alexandrelevinecatherineD: Ok, in my Domain Model there is a link between Organization and Group. It's named "group of admins".20:35
alexandrelevinecatherineD: You can't put any roles in there unless we change the Domain Model.20:35
alexandrelevinecatherineD: And having a role in the Group entity is really bad. It's not for Groups to have such notions usually.20:36
catherineDalexandrelevine: in my mind group of admin is a group of user with admin role20:36
catherineDstill fit your model20:36
alexandrelevinecatherineD: Correct. But no "role" field there.20:36
alexandrelevinecatherineD: Just a Group of Users.20:37
catherineDalexandrelevine: object model does not dictate the implementation details right?20:37
sslypushenkoalexandrelevine: I think it is enough to mention that user can have different rights in group20:37
alexandrelevinecatherineD: It does to some extent.20:37
catherineDas long as the implementation implements whatever dictated in the model20:37
alexandrelevinesslypushenko: Usually it's not enough and usually it's not done this way. Roles are a more complex and separate entity from the Groups.20:38
*** markvoelker has joined #refstack20:38
alexandrelevinecatherineD: Implementation usually doesn't implement something which is not in the design model :) If we need to implement it, it has to be reflected in the design.20:39
sslypushenkoalexandrelevine: yes... So I suggest to not put it in current model, just mention what users with different roles can do20:39
catherineDsslypushenko: ++20:39
alexandrelevinesslypushenko: What do you mean mention? Mention how and where?20:39
sslypushenkoRight now we see schema for admin role20:39
alexandrelevineI20:40
sslypushenkojust put relations for regular user in other color on same schema20:40
alexandrelevineWhere?20:40
alexandrelevineIn the Domain model picture?20:40
sslypushenkohmm... give a sec....20:41
catherineDalexandrelevine: I see that the object model is the relationship of objects ... it does not necessary dictates all the use cases ..20:41
alexandrelevinecatherineD: It implements the use-cases.20:42
catherineDI think the best solution for us right now is to vote on this20:42
alexandrelevinecatherineD: The ones not implemented by the object model are commented below - it's written why they are skipped and how it is suggested for them to be added later. Like in secition Vendor Users and Vendor Product Admins20:42
alexandrelevine"section"20:42
sslypushenkobecause we don't have of relations in Domain model now... we can just live it as it is... And describe role policies in words20:42
sslypushenko*have all relations20:43
alexandrelevinesslypushenko: Please take a look at Vendor Users and Vendor Product Admins section20:43
sslypushenkoI'm there20:43
alexandrelevinesslypushenko: It's explained how I suggest to implement these two use-cases. No explicit roles required.20:44
sslypushenkorequired yeat20:44
alexandrelevinesslypushenko: How?20:45
alexandrelevinesslypushenko: Which use-case is not covered?20:45
sslypushenkoWe should not put ACL in to data model20:45
catherineDI have a hard stop in 15 mins .... we have 3 more items to discuss ... could we ether agree based on vote or revisit this topic ?20:46
sslypushenkoalexandrelevine: I'm not so good to see in future) But anyway if roles are not useful for now it do not mean anything20:46
*** alexandrelevine_ has joined #refstack20:46
alexandrelevine_Sorry. Got kicked out again.20:46
alexandrelevine_sslypushenko: Could you repeat, which use-case is not covered?20:46
catherineDsslypushenko: let's revisit this later ...20:47
pvaneckwhen you say add a "Group of Users" to vendor, how is the association modeled in the db?20:47
sslypushenkocatherineD: Lets maybe schedule one more meeting for discussion especially this question. We definitely need to get a point which will work of all of us20:48
catherineDsslypushenko: good idea ...20:48
alexandrelevine_pvaneck: The review provided by Andrey showed it. Just a Group ID in the Orgranization20:48
sslypushenkovoting is not an option here20:48
alexandrelevine_sslypushenko: I suggest moving down from the use-cases, not from implementation up.20:49
alexandrelevine_catherineD: Tomorrow?20:49
sslypushenkotommorrow will work for me20:49
catherineDI will schedule an other meeting and at that time if we do not agree .. we will go by vote20:49
catherineDwhat time tomorrow?20:49
*** alexandrelevine has quit IRC20:50
catherineDsame time as today?20:50
alexandrelevine_whatever you say20:50
sslypushenkosame as today's meeting20:50
alexandrelevine_The earlier the better for me.20:50
pvaneckisnt that group id the the group of admins for that org?20:50
catherineDso our meeting is 19UTC today20:50
alexandrelevine_pvaneck: Yes20:50
catherineDso should we meet 18 UTC or 19 UTC tomorrow?20:51
sslypushenkosame as today will work for me20:51
alexandrelevine_I vote for 18 UTC20:51
alexandrelevine_But can do 19 as well20:51
sslypushenko18.30?))20:51
catherineDok deal 18L3020:52
alexandrelevine_whatever :)20:52
catherineD18:3020:52
alexandrelevine_cool20:52
sslypushenkogreat20:52
catherineDI will send a meeting notice ...20:52
catherineDthank you so much ....20:52
alexandrelevine_thanks.20:52
alexandrelevine_bye20:52
sslypushenkoNeed to run now, so see you tommor20:52
*** alexandrelevine_ has quit IRC20:52
catherineDwe have disagreement but that is for the health of the project20:52
catherineDI really appreciate your effort!!!20:53
catherineDbye20:53
andrey-mp_bye20:56
*** andrey-mp_ has quit IRC20:56
*** edmondsw has quit IRC22:02
*** pvaneck has quit IRC22:36
*** davidlenwell has quit IRC23:38
*** davidlenwell has joined #refstack23:58
*** ChanServ sets mode: +o davidlenwell23:58

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