Tuesday, 2016-01-26

*** aesr_ has joined #refstack00:57
*** pvaneck_ has joined #refstack00:57
*** catherineD|2 has joined #refstack00:58
*** aesr has quit IRC01:00
*** pvaneck_ has quit IRC01:01
*** pvaneck has quit IRC01:01
*** catherineD has quit IRC01:01
*** davidlenwell has quit IRC02:14
*** davidlenwell has joined #refstack02:16
*** ChanServ sets mode: +o davidlenwell02:16
*** cody-somerville has quit IRC05:00
*** cody-somerville has joined #refstack07:19
*** nijaba has quit IRC07:27
*** nijaba has joined #refstack07:27
*** cody-somerville has quit IRC08:14
*** pilgrimstack has joined #refstack08:24
*** pilgrimstack has quit IRC08:59
*** pilgrimstack has joined #refstack09:05
*** pilgrimstack has quit IRC09:20
*** pilgrimstack has joined #refstack09:22
*** markvoelker has quit IRC09:23
*** markvoelker has joined #refstack10:23
*** markvoelker has quit IRC10:28
*** sc has quit IRC11:06
*** pilgrimstack has quit IRC11:38
*** markvoelker has joined #refstack12:25
*** markvoelker has quit IRC12:29
*** pilgrimstack has joined #refstack12:59
*** pilgrimstack has quit IRC13:18
*** edmondsw has joined #refstack13:18
*** markvoelker has joined #refstack13:25
*** pilgrimstack has joined #refstack13:26
*** markvoelker has quit IRC13:28
*** markvoelker has joined #refstack13:28
*** pilgrimstack has quit IRC13:40
*** pilgrimstack has joined #refstack13:56
*** pilgrimstack has quit IRC13:59
*** pilgrimstack has joined #refstack14:13
*** davidlenwell has quit IRC14:35
*** davidlenwell has joined #refstack14:49
*** ChanServ sets mode: +o davidlenwell14:49
*** esker has quit IRC15:12
*** esker has joined #refstack15:13
*** esker has quit IRC15:14
*** esker has joined #refstack15:14
*** esker has quit IRC15:22
*** pilgrimstack has quit IRC16:08
*** pilgrimstack has joined #refstack16:14
*** nijaba has quit IRC17:07
*** nijaba has joined #refstack17:08
*** nijaba has quit IRC17:08
*** nijaba has joined #refstack17:08
*** openstackgerrit has quit IRC17:17
*** openstackgerrit has joined #refstack17:18
*** cody-somerville has joined #refstack17:45
*** hockeynut is now known as hockeynut_otr17:51
*** hockeynut_otr is now known as hockeynut17:52
*** cody-somerville has quit IRC17:53
*** hockeynut_afk has joined #refstack18:00
*** pilgrimstack has quit IRC18:02
*** alexandrelevine has joined #refstack18:03
*** hockeynut_afk has quit IRC18:05
catherineD|2about the keystone id18:06
*** hockeynut_otr has joined #refstack18:06
alexandrelevinecatherineD?18:12
catherineD|2our patch related to keystone id -hockeynut_otr: . https://review.openstack.org/#/c/245007/ https://review.openstack.org/#/c/224965/18:12
catherineD|2pls take a look ...18:13
alexandrelevinewhich means that we can rely on having unique cloudID, right?18:13
catherineD|2yes and no ... for v2 no .. for v3 yes18:14
catherineD|2but the main issue is some public cloud do not offer keystone list service command to non-admin user18:15
catherineD|2devstack or private clouds maybe OK ... but the concern is public cloud18:15
alexandrelevineare you sure? We checked that demo user in devstack has access. Are you saying public clouds forbid it in policies or I don't know where?18:16
catherineD|2public cloud can defined policy file to restrict the list service commands18:17
catherineD|2RefStack has been using keystone since day 118:18
alexandrelevinedo we need to allow regular user to test the cloud in the case? I mean if someone want's to certify a public cloud he'll have the admin creds and we'll have the keystone list service available, no?18:18
catherineD|2No all DefCore define tests are targeted at being run without admin user...18:19
alexandrelevineAndrey is saying that keystone catalog will work in any case and it has service id. Isn't it enough?18:20
alexandrelevinecatherineD:  That's a problem too, no? What are they going to do about the admin-related functionality? How are they going to certify a cloud against this functionality?18:21
catherineD|2alexandrelevine: I am saying that keystone catalog may not be served by all public cloud for regular user ....18:21
catherineD|2our current code is using keystone catalog18:22
catherineD|2API to retrive the keystone service ID18:22
alexandrelevinecatherineD: Do you know such a cloud? From our experience keystone catalog works all the time - otherwise some of the functionality won't work for regular user, like metadata service.18:22
catherineD|2no certification is from the regular user aspect no admin certification18:23
alexandrelevinecatherineD: I did see clouds with keystone list service forbidden but not keystone catalog. It works all the time.18:23
catherineD|2Rackspace is one of the cloud raising this issue sometime ago ...18:24
catherineD|2please take a look at https://review.openstack.org/#/c/265747/  ..18:25
alexandrelevine"no certification is from the regular user aspect no admin certification". I don't understand this statement. An OpenStack cloud provides a number of APIs and in order to be compliant with Logo all of them (selected of course) should pass tests. Admin related functionality is one of such APIs. What if I have a cloud which presents OpenStack logo and I try to use some admin-related functionality and it doesn't work? What's th18:25
alexandrelevinecatherineD: Are you sure that Rackspace forbade "keystone catalog"? Can we recheck? I'm saying that the cloud will be not fully functional in this case. It's like prohibiting to use "nova list" for regular user.18:26
alexandrelevinecatherineD: What about this review? It replaces calls to keystone client with HTTP calls18:28
*** hockeynut_otr has quit IRC18:28
catherineD|2any way fetching the cpid from keystone is still in RefStack code ...so if you decide that that good enough ... we are ok for now18:29
alexandrelevineYes. Then we'll have our unique cpid (CloudID) which we'll put into Product ID in DB and will always have something unique to address by18:29
catherineD|2this review is using the catalog list RES API..  I want to tell you that we are very familiar with this aspect and keep improvint our pricess ....18:30
catherineD|2based on the issues we encountered ....18:30
catherineD|2we have at least 5 or 6 patches for the keystone service ID related18:31
alexandrelevinecatherineD: I didn't doubt it :) The question was, is it really so that "keystone catalog" is forbidden? How does functionality relying on it work in such clouds, do you know?18:31
catherineD|2What I am saying is that OpenStack allows vendor to create policy files which vendor can specify stricter policy for their cloud ...18:33
alexandrelevinecatherineD: No problem. Vendor can even not install cinder and nova or do whatever he wants. We just won't test such a Cloud in the case - that's all.18:34
catherineD|2and getting keystone service id is not one of the must pass test ...18:34
alexandrelevinecatherineD: In order to be officially and openly tested and certified, some rules should be abided and some services should work correctly. I guess it's not too much to ask for keystone catalog to be available, no?18:35
alexandrelevinecatherineD: That might have to change now. Because without it we can't identify the cloud and what certification can we talk about in this case?18:35
catherineD|2we can not ask some feature that is not in must-pass test list fronm DefCore18:35
alexandrelevinecatherineD: We can ask them to enhance the list. As I said - we need to correctly identify Cloud. Or let them suggest the way to do this without it.18:36
catherineD|2the only keystone test in DefCore must pass list is create token18:36
alexandrelevinecatherineD: For Clouds testing we'll either need keystone catalog working or admin creds - customer's choice.18:37
alexandrelevineWe can't just trust some URL. I don't think it's right. Or if DefCore is ok with it, then all of the devstacks and temporary URLs are out of our testing.18:37
catherineD|2alexandrelevine sure but to add a test it will first needed to add to the advisory catagory then to required catagory ... it will take 2 OpenStack release cycle18:38
catherineD|2back to our issues18:38
alexandrelevinecatherineD: This is not a test. This is a requirement for testing - there is a difference.18:38
alexandrelevinecatherineD: Prerequisites for certification should be handled differently than certification tests.18:38
catherineD|2for centralize testing your need a URL...18:39
alexandrelevinecatherineD: I need many things. URL, creds, access tokens ....18:39
catherineD|2do you want to fetch that URL from the config file or from a field in the product table (prodcut_id)?18:39
alexandrelevinecatherineD: And again I don't want to differentiate Centralized or Local testing. They are the same for me in terms of cloud identification18:39
alexandrelevinecatherineD: Right now it's in Config18:40
catherineD|2for local testing RefStack do not need any URL and can cont controll because all tests are done on-premise by the vendor18:41
alexandrelevinecatherineD: ProductID - is just an ID.18:41
alexandrelevinecatherineD: It needs exactly the same tempest config. There is no difference.18:41
alexandrelevinecatherineD: Our Centralized testing right now does exactly the same - it just places the Tempest config where refstack client will be run and then just run it. There is no difference.18:42
catherineD|2in the product table , cureently there is a ID field (which is UUID created automatically by RefStack) and product_id (the intention is for unique id) ... we can just choose to use one of them18:43
alexandrelevineWe don't need the UUID. But we do need the Product ID.18:44
catherineD|2ok suppose we get rid of ID and only use Product_ID ... what would be the value of Product_id when a product is created?18:45
alexandrelevinecatherineD: What do you mean? :) It'll be used as a regular ID of any entity. For each and every operation with it.18:46
catherineD|2currently the field product_id is defined as nullable=false ... that means that when you create a product you must give a value to this fiedl ... what value will it be?18:49
alexandrelevineYou should pass it during creation of a Product. If you register a Cloud it should be a CPID. If you register  a Software, it'll also be passed or GUID generated (not sure about Software id yet)18:50
alexandrelevineProcedure of Cloud registration should take creds sufficient for going to the Cloud, determining the CloudID and then passing this info to our engine and DB for Product Creation.18:53
*** pvaneck has joined #refstack18:54
catherineD|2so when you register a cloud (that is create a prodcut) you will need to connect to the cloud get the CPID then initializes the product_id field?18:56
alexandrelevineyes18:56
catherineD|2OK I agreed with a cloud registration ... and you say we don't know what it is for software prodcut ?18:57
alexandrelevinecatherineD: We talked about it internally. It's either Software name if we work with only unique names and no renaming. Or we'll have to generate a GUID for each new Software we register.18:58
catherineD|2so for software product the product_ID can be : case 1: software name case 2: refstack generate a UUID .  For a cloud it will be case 3: some id fetch from the cloud19:00
catherineD|2so in one fiedl we have at least 2 types of data ... how do we differenticat whch  is which? or do need to differentiat them?19:01
alexandrelevineFor a public Amazon and Google Clouds we'll have case 4: we'll define it by Tempest config by predefined URL for the cloud and we'll use some predefined IDs for those clouds19:01
alexandrelevinecatherineD: We don't. That's why STRING19:01
alexandrelevinecatherineD: We don't care about the format of this string.19:02
catherineD|2but our BL logic need to know which of the 4 types it need to initiate the field with19:02
alexandrelevinecatherineD: Or we can make it all uniform by taking hash of those various ID contents19:03
alexandrelevinecatherineD: Why? It'll need to know only about Software or Cloud. And we'll have field "type" for this.19:03
alexandrelevineOh. You mean to initialize it initially?19:03
catherineD|2before taking a hash BL code still need to know case 1: expect user input (it may not be uniqe) case 2: Refstack need to create UUID case 3: go to the cloud and get it case 4: got to tempest config and get it19:04
alexandrelevineYes. It'll know. Various code for registration of Software and Clouds will employ various mechanisms for determining the ID and then pass it down.19:04
alexandrelevine1. I still think that there is no such case. I don't see how we can work with it.19:04
catherineD|2ok remove 119:05
alexandrelevineFor the rest it's just different registration code.19:05
alexandrelevineSoftware registration code will create GUID or use Software name.19:05
alexandrelevineCloud registration code will take a look into Tempest config and determine if it's OpenStack cloud. If yes, it'll go to the cloud and determine cpid. If not, it'll work otherwise.19:06
catherineD|2ok so it is required to upload a tempest.config file to register a software product?19:08
alexandrelevineNo. Software product doesn't need tempest config19:09
alexandrelevineOnly  Cloud Product19:09
catherineD|2So when a product is created it will check to see whether tempest.conf is included if it is not included it will assume that it is a software product?19:10
alexandrelevineNo. When you create Software Product one interface and Controller is invoked. When Cloud product another.19:11
alexandrelevineRoughly, refstack API will have two different calls create_software and create_cloud19:11
alexandrelevine(maybe Contoller is the same but methods are different)19:12
catherineD|2so if that is the case , we should have a type filed in the product19:13
alexandrelevinecatherineD: Exactly19:13
catherineD|2ok great19:14
catherineD|2if type=software_product, product_id will be a UUID generated by refstack19:15
alexandrelevine(or software name)19:15
catherineD|2if type = cloud, product_id = a keystone ifrom the cloude19:15
catherineD|2we can not guarantee that software name will be unique19:16
catherineD|2ther is also a name field in the table19:16
alexandrelevineI'm still not sure about that (that software name is not  unique). At least combination Vendor-Software name should be unique, what do you think?19:16
alexandrelevineWe can use Vendor-Software name as a unique ID, I guess?19:17
catherineD|2ok since software name is user input, Amazon amd AMAZON are actually 2 unique name19:18
alexandrelevineHowever, we might have a problem here with the registration of User's Software.19:18
alexandrelevineYes, maybe GUID is the safest for Software now. At least I can't imagine how to automatically deduce something unique for each Software19:19
alexandrelevineMaybe some #ID in Amazon's goods listings? (just kidding)19:20
catherineD|2at least from db table point of view ... I am ok with having product_id (unique, none nullable) with a type field19:20
alexandrelevinegreat19:20
catherineD|2let's discuss the public flag in the prodcut table ... I will indicate when I am done19:21
alexandrelevinelistening19:22
catherineD|2my main concern about having the public flag (share/not share) at various levels is about consistency19:23
catherineD|2currently, we have a flag at the test level.19:23
catherineD|2a flag at the prodcut level .19:24
catherineD|2so in the case when a test run result which is associated to a product ..19:24
catherineD|2what would happend if a test is  public but the product is private?19:25
catherineD|2done19:25
alexandrelevineThe same as now happens in RefStack. You can see lots of test results and no Products.19:25
catherineD|2ok.19:26
catherineD|2I just want us to think about and document that19:26
catherineD|2one more topic ..then we should be done :-)19:27
alexandrelevineWell, ok. How do you want it to be documented? I can create another section in Design Decisions in Requirements doc stating exactly this.19:27
catherineD|2I would like to have the update_by_user in both org and product tables .19:28
catherineD|2you can add to the requriement doc and I will add that to the spec too ..19:28
alexandrelevineYou want it why?19:29
catherineD|2I know it is not a perfect solution with the up_date_by ... but at least we know who did what the last time19:29
catherineD|2because now we have a group of admins we can update the recored ...19:30
alexandrelevineYou want it for audit purposes?19:30
catherineD|2yes minimum tracking19:30
catherineD|2until we have a better solution19:31
alexandrelevineDo we need such an audit? If we do then first of all we should add it to non-functional requirements.19:31
alexandrelevineSecondly, if we do, then we'd better devise and agree upon some efficient and specialized mechanism for this. Not just spread this by chunks and pieces everywhere.19:32
alexandrelevineCan't we use logging for this?19:32
catherineD|2we do need it ... would  be greate if  you could  add them the non-functional requirement19:32
alexandrelevineI'll add19:32
catherineD|2agree that we should have a more robust auditting strategy... but I don't think it would happend in the Mitaka release19:33
catherineD|2so I suggest that we do the minimum ..19:33
catherineD|2by adding the update_by_user since this type of data is not reproduce ..19:35
catherineD|2anything else to discuss?  I am good ... I will update the spec and then Andrey can update his ..19:36
*** alexandrelevine_ has joined #refstack19:36
alexandrelevine_catherineD: I'm sorry, I got disconnected for like 3 minutes19:36
alexandrelevine_Could you repeat your last messages?19:37
*** alexandrelevine has quit IRC19:37
catherineD|2ic ... just ask whether you have anything else to discuss?  I am good .. and will update the org./product spec then Andrey can update his ..19:38
alexandrelevine_We haven't decided about the updated_by_user.19:38
alexandrelevine_Wouldn't logging be good enough for the total audit?19:39
catherineD|2oh I would like to have it ..19:39
catherineD|2yes logging is the right way ... this is  for the meantime19:39
alexandrelevine_I mean I'm not totally against it, but in terms of design it's not good to have such rudiments if we satisfy the audit requirement by other means.19:40
alexandrelevine_catherineD: Why can't we start logging right away? To avoid having garbage in a future in our DB?19:40
catherineD|2I totally agree that we need to have full blown audtiting solution but that take ttime19:41
alexandrelevine_catherineD: We can start logging everything right away. It's not a problem. At least logging the "update" actions by some user we can for sure.19:41
catherineD|2we only add one field per table ..19:42
alexandrelevine_You yourself were very much worried about the DB structure, further upgrades, consistency and stuff.19:42
catherineD|2logging need analyzer19:42
alexandrelevine_And?19:42
catherineD|2I don;t see that we have time for this round19:43
alexandrelevine_No more than this field in DB. Even less. You can grep logs by "updated_by_user" substring while here you'll have to use mysql utlility and use correct Select and stuff. Much more complicated for my taste.19:43
alexandrelevine_catherineD: Just writing some logs? The technology is quite developed. We use it in our projects and we just took it from nova or oslo, or whatever.19:44
catherineD|2that means that we need to create a grep script19:44
catherineD|2keep in mind that you and I are not the one who can acces the log19:44
catherineD|2logs19:44
alexandrelevine_No. You need to write in bash: grep -r "updated_by_user" *.log :)19:44
catherineD|2and a API to retrieve this info?19:45
alexandrelevine_catherineD: Why API? Are you going to provide API for the access to this field in DB?19:46
catherineD|2if we want to go the log path  we need a psce19:46
catherineD|2spec19:46
alexandrelevine_What about other actions? Which can't be recorded this way?19:46
catherineD|2I am only focusing on the important actions here ...19:47
alexandrelevine_Same here. If we want to implement one of the key non-functional reqs in some way we need to somehow make sure that it's known. And it's known what's covered by this decison and why....19:47
catherineD|2that is why I suggest that we have this one filed here ...to capture some data in case we need it19:48
alexandrelevine_catherineD: Ok, making something Public is important or not? Changing name is important or not? All of those fields are in this same record. I'll change the public flag and you'll change the name tomorrow. But only one updated_by_user will remain. Yours. You'll never know who changed the public flag. And you'll never know what exactly was changed. What's the use?19:48
alexandrelevine_How are you going to audit actions for a complex structure controlled by a group of admins with just one value?19:49
alexandrelevine_What's the use?19:49
catherineD|2at least I know who to go to for the last change ... hopefully he/she will know what was the state of the data before he.she changes it19:50
catherineD|2without that you don't even know where to start19:50
alexandrelevine_Why is it important? And what if he/she changed something unimportant, and then changed it back?19:50
alexandrelevine_catherineD: Honestly, the more I talk about it the more I'm against it. It's useless and misleading for the purposes you try to put into it.19:51
alexandrelevine_catherineD: It'll give a fake sense of safety which will be totally untrue.19:51
alexandrelevine_audit cannot be done in such a way.19:51
alexandrelevine_So if it is really important we should do the logging. If it's not that important we shouldn't spoil our DB with something which is totally unusable.19:52
catherineD|2I  really want to have at least a spec  or blueprint for our plan on autditing19:52
alexandrelevine_Perfect suggestion.19:53
*** edmondsw has quit IRC19:53
alexandrelevine_Let me put our ideas about a logging into the doc for the beginning, what do you think?19:53
catherineD|2sure ...19:53
catherineD|2that should be all for today ?19:54
alexandrelevine_Yes, I guess that was great. Thank you so much.19:54
catherineD|2alexandrelevine_:   same here ... I really appreciate you taking the time ... I know it is late for you ... thanks again! godd night!19:55
alexandrelevine_catherineD: And sorry for being so tough on you :)19:55
catherineD|2being tough means that you really care about the project .... I have no complaint ... I would rather everyone to be tought forRefStack19:57
alexandrelevine_I do. At least I can guarantee you that :)19:58
*** alexandrelevine_ has quit IRC20:03
*** tobybot11 has joined #refstack21:06
*** esker has joined #refstack21:08
*** tobybot11 has quit IRC21:57
*** davidlenwell has quit IRC22:24
*** davidlenwell has joined #refstack22:25
*** ChanServ sets mode: +o davidlenwell22:25

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