Friday, 2018-08-10

*** markvoelker has quit IRC00:35
*** mtreinish has quit IRC00:45
*** mtreinish has joined #openstack-sdks00:46
*** mriedem has quit IRC00:52
*** mtreinish has quit IRC01:06
*** mtreinish has joined #openstack-sdks01:08
*** slaweq has joined #openstack-sdks01:11
*** slaweq has quit IRC01:16
openstackgerritYang JianFeng proposed openstack/openstacksdk master: Add support for octavia's resuorces quota
*** fanzhang has left #openstack-sdks01:44
*** e0ne has joined #openstack-sdks02:16
*** e0ne has quit IRC02:18
*** chenyb4 has joined #openstack-sdks02:41
*** slaweq has joined #openstack-sdks03:11
*** slaweq has quit IRC03:15
*** slaweq has joined #openstack-sdks05:10
*** gkadam has joined #openstack-sdks05:12
*** slaweq has quit IRC05:16
openstackgerritLajos Katona proposed openstack/python-openstackclient master: Detailed help message for QoS max-burst-kbps value
openstackgerritYang JianFeng proposed openstack/openstacksdk master: Add support for octavia's resuorces quota
*** markvoelker has joined #openstack-sdks05:48
*** usr2033 has joined #openstack-sdks06:13
usr2033hi, i have a simple code like this. i have a fundamental problem i guess. Openstack calls takes random time for return and i couldn't handle this. Execution of this code returns four different value for same input. What is the best practice for this problem?06:36
openstackgerritChen proposed openstack/python-openstackclient master: Fix inconsistency (nit)
usr2033i couldn't different response even one line "os_connection.list_projects()"06:44
*** jpich has joined #openstack-sdks07:02
*** slaweq has joined #openstack-sdks07:05
*** slaweq has quit IRC07:06
*** slaweq has joined #openstack-sdks07:06
*** gildub has quit IRC07:25
*** jpena|off is now known as jpena07:55
*** e0ne has joined #openstack-sdks07:59
openstackgerritYang JianFeng proposed openstack/openstacksdk master: Add support for octavia's resuorces quota
*** gtema has joined #openstack-sdks08:25
*** e0ne has quit IRC08:49
*** ssbarnea has quit IRC08:52
*** e0ne has joined #openstack-sdks09:14
usr2033i think i found the problem. list_servers function can handle or work with undefined identity service version but list_projects function call does not.09:27
*** e0ne has quit IRC09:27
*** cdent has joined #openstack-sdks09:31
*** ssbarnea has joined #openstack-sdks09:32
*** e0ne has joined #openstack-sdks09:37
*** chenyb4 has quit IRC10:06
*** tosky has joined #openstack-sdks10:19
*** e0ne has quit IRC10:21
*** tosky has quit IRC10:35
*** tosky has joined #openstack-sdks10:36
*** dave-mccowan has joined #openstack-sdks10:55
*** dave-mccowan has quit IRC11:00
*** dtantsur|afk is now known as dtantsur11:01
*** dave-mccowan has joined #openstack-sdks11:03
*** jpena is now known as jpena|lunch11:06
*** gildub has joined #openstack-sdks11:10
*** cdent has quit IRC11:58
*** cdent has joined #openstack-sdks12:01
*** jpena|lunch is now known as jpena12:02
*** mriedem has joined #openstack-sdks12:05
mordredusr2033: ah- sorry about that - the very next thing on my todo list is to finish plumbing in version discovery so that _everything_ can work without a defined service version12:06
*** mriedem has quit IRC12:17
*** olaph has joined #openstack-sdks12:36
dtantsurwait, does Image API really allow you to set random string attributes on an Image object? O___o12:59
mordreddtantsur: yup13:25
mordreddtantsur: that was one of the changes in image api v213:25
mordreddtantsur: it got rid of the "properties" attribute13:25
mordredand instead put user-defined key/value metadata into the main image object itself13:26
*** dmsimard has quit IRC13:26
mordredin shade we chose to ignore that design choice and continue to present it as properties even if the service is running v213:26
mordredwhich is what I expect to do to fix the brokenness around image in sdk currently13:27
mordreddtantsur: what's even better is that operators can define top-level keys to be "reserved" in their config13:27
mordreddtantsur: you can't un-know that13:28
dtantsurI'm looking into JSON patch support.. and it's a mess13:30
dtantsurI'll throw a half-finished patch soon just to collect opinions13:31
*** dmsimard has joined #openstack-sdks13:31
openstackgerritDmitry Tantsur proposed openstack/openstacksdk master: [WIP] Correct update operations for baremetal
dtantsurmordred: wdyt about the overall approach ^^^ ?13:34
mordreddtantsur: I suppose we can't just assume jsonpatch should be used if commit_message = 'PATCH' can we?13:40
usr2033mordred: thanks for response. i had a problem with get_project function. Normally get_project function in cloud/ accept domain_id but in use like in get_compute_quota i can't pass domain_id to function. I had patched for that file for myself. I opened story in!/story/200328513:42
mordreddtantsur: overall approach looks good13:43
dtantsurmordred: I assumed HTTP PATCH can also be used with an incomplete resource representation13:44
dtantsurthough openstack services seem to use PUT for that13:45
mordredyah - they do seem to - but I think you're right- better safe than sorry13:47
mordredmaybe we could default it to None, then have a little method like def _use_json_patch(self): if self.commit_method is None: return self.commit_method == 'PATCH' ; else return self.commit_method13:49
mordredbut maybe that'stoo much - dunno, just thinking out loud13:49
*** e0ne has joined #openstack-sdks14:11
*** gildub has quit IRC14:27
openstackgerritAlan Bishop proposed openstack/python-openstackclient master: Deprecate volume create --project and --user options
*** e0ne has quit IRC14:39
*** bobh has joined #openstack-sdks14:43
*** bobh has quit IRC14:49
openstackgerritMonty Taylor proposed openstack/openstacksdk master: Fix the heat template resource more cleaner
mordredShrews: ^^14:53
*** usr2033 has quit IRC15:01
*** tosky has quit IRC15:03
*** e0ne has joined #openstack-sdks15:03
*** e0ne has quit IRC15:10
cdentmordred:  I wish to register my informal +1 on dtantsur as sdk core15:21
*** olaph has quit IRC15:30
*** mriedem has joined #openstack-sdks15:30
mordredcdent: so noted15:32
cdenthe's OK15:32
cdentsomeday might even get a huzzah15:32
mordredcdent: wow. that's pretty strong15:39
openstackgerritDmitry Tantsur proposed openstack/openstacksdk master: Add simple create/show/delete functional tests for all baremetal resources
openstackgerritTim Rozet proposed openstack/python-openstackclient master: Cinder: Add version checking
dtantsurwow, I real huzzah!15:43
dtantsurI must be really cool!15:43
dtantsur* a real huzzah15:44
openstackgerritDmitry Tantsur proposed openstack/openstacksdk master: Add simple create/show/delete functional tests for all baremetal resources
*** gkadam has quit IRC16:06
openstackgerritMerged openstack/openstacksdk master: Remove special handling of stacks
openstackgerritDmitry Tantsur proposed openstack/openstacksdk master: Correct update operations for baremetal
openstackgerritDmitry Tantsur proposed openstack/openstacksdk master: Correct update operations for baremetal
dtantsurmordred: I found an inconsistency while working on ^^^16:19
dtantsurwhen for a field the server name does not match our name (e.g. instance_uuid vs instance_id for nodes), we use the former when accessing it but the latter when updating16:19
dtantsure.g. node.instance_id but self.conn.node_update(node, instance_uuid='...')16:19
* dtantsur tries to understand how bad it is16:20
*** jpena is now known as jpena|off16:22
mordreddtantsur: oh awesome16:25
*** mriedem has quit IRC16:27
openstackgerritMerged openstack/openstacksdk master: Make resource a dict subclass usable by shade layer
mordredthat happened16:34
mordredMIND BLOWN16:34
*** jpich has quit IRC16:35
*** purplerbot has quit IRC16:38
*** purplerbot has joined #openstack-sdks16:38
Shrewsmordred: my mind will be blown if nothing breaks because of it  :)16:39
mordredShrews: that'll totally be true for at least some definition of "nothing"16:40
mordredsee - now I just have to finish wiring in the discovery code ...16:40
mordreddtantsur: it should be "easy" - I "just" need to make a new descriptor to handle attaching proxy objects to the connection that can handle instantiating and connecting the correct versioned proxy. and then I "just" need to write another one to stick onto the attached proxy that will add a proxy object for each version of the service found in the cloud16:46
mordredpiece of cake16:46
* mordred cries16:46
mordreddtantsur: my thinking so far has been make conn.image be the version of the service that's found via discovery (taking config overrides in to account) - but also have conn.image.v1 and conn.image.v2 be explicit instance of openstack.image.v1._proxy.Proxy and openstack.image.v2._proxy.Proxy16:47
mordreddoes that make sense and/or sound like a somewhat unterrible idea?16:48
*** gtema has quit IRC16:49
* dtantsur thinks16:51
dtantsurmordred: are you going to provide a common subset of v1 and v2 via conn.image?16:51
dtantsurand #2: are we going to do it even for services with only one major version?16:51
mordreddtantsur: for #2 - I think so - although I doubt it'll ever get used16:52
dtantsuryeah, so for e.g. baremetal, conn.baremetal and conn.v1.baremetal is the same. what about image?16:53
mordreddtantsur: for #1 - it's a really great question - I had been thinking of just making what shows up in conn.image be different based on whats found- which is what happens today if you just set the config variable differently16:53
dtantsurconn.image - is it latest or a common subset?16:53
dtantsurthis is probably the realistic option, even though it's not great from interoperability PoV16:53
mordredBUT - the shade layer is designed as an abstraction layer - maybe it would be worth making an 'unversioned' proxy that is what gets attached in those cases16:53
mordredand if you wanted a specific version's semantics you can always just do conn.image.v2.create_image16:54
dtantsurokay, so conn.image.create_image can behave differently, but conn.image.v2.create_image is the same?16:54
mordredyah. that would be the easier path16:55
dtantsurthe easiest, but also quite confusing for consumers..16:55
mordredand a user can always do conn.image.get_endpoint_info() to find out what version it is16:55
* dtantsur is not sure he wants to go the hard path though16:55
mordredmaybe I'll take a stab at it for image, since we already have all of the logic to handle it in the shade code16:56
dtantsurin rust-openstack I only support one major version per service, it's so much easier :D16:56
mordredbasically - move the shademethods into an 'unversioned' proxy that calls the other ones16:56
mordredand see how terrible that is16:56
dtantsurI'd be curious to see that16:56
mordredin fact, maybe I'll just do it with create_image16:56
mordredkeep it SUPER small so we can see what it looks like16:56
dtantsurhow many volume service versions do we have, 3? :)16:57
dtantsurmordred: what's openstacksdk's official commitment wrt supporting deprecated major versions?16:58
mordredsupport all of them until the end of time16:58
dtantsurthat's tough16:58
mordredBUT - it's one of the reasons I'm pleased that we have requests-mock based unittests now16:59
dtantsurI wonder how we're going to maintain them when there are no clouds supporting them16:59
dtantsurunit tests are nice, but they only confirm existing assumptions16:59
dtantsuron this positive note I'll call it a day :)17:00
*** dtantsur is now known as dtantsur|afk17:01
samueldmqmordred: Shrews: does 'tox -e functional --end-user' make sense to you at all?17:04
samueldmqI wanted to run functional against public clouds. operator tests don't make sense in that context17:05
mordreddtantsur|afk: I think the main idea is - keep the unittests for existing assumptions - and if someone reports a bug ask them to provide us with an http trace17:06
mordredsamueldmq: yes. although in a perfect world I think having each thing be able to detect whether or not the user is allowed to do a thing would be great ...17:06
mordredbuit that's not really feasible - so I thik your idea is more achievable17:06
samueldmqmordred: seems like if we had a manner for the user to define what they expect to be able to do and test those things would be nice17:07
samueldmqI agree that idea is not really feasible, since there needs to be a distinction between 403 because I'm not operator vs 403 ohh I should be allowed to do that17:08
mordredalso - if clouds have disabled something by policy because they are evil evil people, that can show up as 404 not found not 403 unauthorized17:10
mordredwhich is one of the reasons I hate the policy system17:10
*** e0ne has joined #openstack-sdks17:11
samueldmqmordred: yes policy is hard. splitting operator vs non-operator for now would be a good first step17:13
samueldmqyou okay if that reflects on really splitting tests into separate files/directories? or should I add a decorator or somehting on the top of the tests?17:14
samueldmqlike @operator to indicate that's an operator test17:14
samueldmq s/test/testcase17:14
mordredsamueldmq: either thing works for me - I don't have a strong opinion - so whichever seems to work best as you work on it17:17
mordreddirectories is probably easier17:18
samueldmqnice, I like that. let's just get the thing done17:18
mordredsamueldmq: in fact, we could get a little fancy ...17:18
samueldmqalso, I found we allow tests to run against other clouds... but we call it so many different things: OS_CLOUD, OS_TEST_CLOUD, OS_DEMO_CLOUD, OS_OPERATOR_CLOUD. so having that consolidated into a single envvar is a must.17:19
mordredwe have self.demo_cloud and self.operator_cloud17:19
mordredsamueldmq: ++17:19
mordredsamueldmq: if we make an OperatorFunctionalTest base class that is where self.operator_cloud comes from17:19
mordredit could help us make sure we're testing features even in devstack with the correct user vs. operator context17:20
mordredor something17:20 for each one of enduser/ operator/ dirs then?17:20
mordredprobably still need self.operator_cloud in setUp/tearDown methods though ...17:20
mordredsamueldmq: but yeah - start with the directories - and we can figure out if we can do fancier things later :)17:21
samueldmqmordred: nice. I will follow what we had as operator cloud in shade previously17:21
samueldmqto define what's operator and what's not17:22
mordredsounds great to me17:24
Shrewsmordred: my wrist is quite sore today so i'm going to stop keyboarding for a while. i'll check in on things later17:25
mordredShrews: ++17:30
mordredShrews: don't push through - gotta let that wrist heal17:30
*** purplerbot has quit IRC17:32
*** abishop has joined #openstack-sdks17:33
openstackgerritMerged openstack/openstacksdk master: Fix the heat template resource more cleaner
abishopdtroyer: I need to ask you re-review (I had to rebase to resolve merge conflict)17:37
*** purplerbot has joined #openstack-sdks17:40
*** purplerbot has quit IRC17:43
*** purplerbot has joined #openstack-sdks17:48
*** purplerbot has quit IRC17:54
*** purplerbot has joined #openstack-sdks17:54
*** purplerbot has quit IRC17:55
*** purplerbot has joined #openstack-sdks17:56
openstackgerritSamuel de Medeiros Queiroz proposed openstack/openstacksdk master: Make require_service use conn.has_service in tests
openstackgerritSamuel de Medeiros Queiroz proposed openstack/openstacksdk master: Consolidate cloud/ into functional/
samueldmqmordred: what is the difference between tests in functional/ vs functional/cloud ?18:20
samueldmqall those in /cloud came from shade? are there known intersections?18:20
*** gkadam has joined #openstack-sdks19:47
mordredsamueldmq: yes - that's the only difference19:50
*** e0ne has quit IRC19:51
*** olaph has joined #openstack-sdks19:53
*** cdent has quit IRC20:17
*** abishop has quit IRC20:47
*** thrash is now known as thrash|g0ne20:52
*** dave-mccowan has quit IRC21:24
*** dave-mccowan has joined #openstack-sdks21:29
*** imacdonn has quit IRC22:12
*** imacdonn has joined #openstack-sdks22:12
*** dave-mccowan has quit IRC22:19
*** gkadam has quit IRC22:34

Generated by 2.15.3 by Marius Gedminas - find it at!