/srv/irclogs.ubuntu.com/2018/06/15/#cloud-init.txt

caribouHello, could something explain the fact that all unittests pass in the jenkins context but when the pkg builds, one of them fail ?12:41
caribouand moreover, it builds fine here on X/B & C12:42
caribouFYI https://jenkins.ubuntu.com/server/job/cloud-init-ci/91/console12:42
=== r-daneel_ is now known as r-daneel
smoserblackboxsw or rharper would like more feedback on https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/34800514:32
rharpery14:33
smosercaribou: sorry give me 5 minutes i'll poke a bit.14:33
caribousmoser: thanks. no real rush as I'm onto something else & won't get back at it until monday14:34
smosercaribou: oh. well, the failure is simply because the build environment did not have udeveadm settle14:50
caribousmoser: anything I need to do on my side ?15:46
smosercaribou: sorry... rough day.17:23
smoseri'll try to take a quick look17:23
smoseri'll follow up on your MP17:23
smoserblackboxsw: you typed: "just a nit"18:04
smoser https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/34800518:04
smoserbut .... what nit ?18:04
rharperthe whole thing ?18:04
rharper=P18:04
blackboxswhaha, it didn't save my comment.18:15
blackboxswsmoser: comment attached18:16
blackboxswdropping unused assignemnt18:16
blackboxswsmoser: rharper if we are cutting a cosmic branch today for release, I'd like to see https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/347937 landed if we could18:30
smoserhttp://paste.ubuntu.com/p/xFjYFNggh2/18:31
smoserthat is me testing... the lxdbr0 stuff. looks like we need to fix.18:31
=== r-daneel_ is now known as r-daneel
rharpersmoser: =(18:34
rharperlooks like there is existing config that auto creates we'll need to sort out18:34
rharperlxc profile list default or something dumps all of the set config18:35
smoseryeah, fun18:38
rharperit's friday, what else were you doing =P18:39
smoserblackboxsw: yeah, i'd like to get that too.18:40
smoserthis is a pita19:05
blackboxswreferring to ssh locale.... or lxc19:46
smoserlxc19:46
blackboxswehem, sorry for the bad review without an integration test run :/19:47
smosermy fault. i just assumed.19:49
smoserand this is waht that leads too19:49
smoserto19:49
blackboxswyeah running commands on an existing install which had lxc seemed to make sense as a validation point, but I should've actually run through the whole system during an install to see what fell out20:02
blackboxswrharper: per openstack variable names comment, what use-case are you thinking about where a user might want20:33
blackboxsw VALID_DMI_PRODUCT_NAMES or VALID_DMI_CHASSIS_ASSET_TAGS  and not just the detect_openstack() function instead?20:33
rharpernot the user, any other part of cloud-init that would want to know what values OpenStackDS says are valid product names to positively identify OS20:34
rharpermy point was mostly, if we find out that we have another PRODUCT name or asset tag, there's a single place to add it to a  list20:34
rharperrather than find where in the code an indiviual value is being used20:34
blackboxswahh you are thinking DataSource base class.detect_valid_ds or something20:34
rharperyes, that'd be the next path; we've not yet migrated the logic from ds-identify into the DS classes themselves for a path which doesn't use ds-identify20:35
smoserhttps://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/34800521:04
smoserthat now passes bionic and xenial21:04
smoserbut doesnt have tests21:04
blackboxswreturn volley https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/34793721:05
blackboxswI addressed smoser's and rharper's comments, with exception of the docs reporting what DMI info we look at on openstack. I don't really know which way to go here. I like the discovery detail, but it is something that will change frequently, and it'll leave us with some significant gaps in docs if detection moves beyond the docs.21:07
rharperit doesn't really change that much21:07
rharperthe set of valid DMI product names is static, until we know otherwise21:07
blackboxswalso, ds-identify and python Datasource.get_data detection aren't aligned currently in terms of logic :/21:07
blackboxswthe exception is probably Ec2 and openstack datasources which are fairly well aligned now21:08
rharperthey don't have to mirror each other in implementation but certainly we don't want one to say we're on OS when we're not21:08
smoserblackboxsw: can you just add a comment about /proc/1/environ that that is how nova-lxd identifies itself.21:08
smoser(in the doc changes)21:08
blackboxswrharper: right, but I was wondering what we end up documenting in rtd in those cases. the ds-identify detection behavior, or the python detection21:08
smoserand then... i really dont think you need to cmention chassis_asset_tag of OpenTelecom...21:09
blackboxswsmoser: +121:09
rharperI don't follow21:09
rharperif they're not reporting the same thing, then where do they differ ?21:09
smoseri'm fine with a 'Discovery' that just describes general intent, but does not contain the implementation in english text.21:09
rharperthe detection is the same, I think the behavior w.r.t strict mode results in different paths21:09
rharperright, I just meant to document that, we currently positively recognize the following values DMI_PRODUCT = [1, 2] as users of the OpenstackDatasource21:10
rharperno need for anything more than disclosing which values and from where we check21:10
blackboxswrharper: right, it's the strict mode setup that allows some datasource detection to be a little looser in get_data() when returning False21:10
blackboxswso datasource might have a subset of checks21:10
blackboxswwhich we ultimately should align I think w/ ds-identify behavior21:11
blackboxswbut, "not there yet" ™21:11
rharperI'm still not really following, it sounds like you're suggesting that the datasource as is now would say yes when ds-identify says no21:11
rharperand if that's the case, what scenario is that ?21:11
rharperthat smells like a bug21:11
rharpereffectively, non-strict mode returns maybe when we cannot positivley identify it; the DS is going to do the same (it'll run the network probe if it can't positively know via the DMI values, etc)21:12
blackboxswrharper: well that's what this branch just fixes, openstack datasource determined that it wasn't valid on ec2 platforms because OpenStack.get_data happened to probe the metadata service to find that it wasn't openstack... whereas ds-identify detects that quickly via DMI product_name/chassis_asset_tag checks21:12
rharperwell, no, in non-strict mode, ds-identify still has to say maybe, which means we need to probe over network21:13
rharperso, AFAICT things are still aligned, we're adding support for strict mode in the Ds class itself; but not setting it to strict mode only, which is just fine21:14
rharperI mean, it can be in cosmic, I think; but IIRC this is onlyi nXenial which isn't in strict mode; so we know we're probing, and this is a detect short-circuit to prevent probing when we absolutely know we're on OS21:15
blackboxswrharper: yes this issue was only in Xenial and I think you are right it's due to non-strict vs strict mode21:15
rharperI don't see any divergent behavior here, so maybe it's just some phrasing; but the branch you have looks fine, I think does the right thing on xenial (non-strict mode) ;21:15
rharperand on a non-ds-identify OS, where strict=true, then the get_data() would say no without positive id, right ?21:16
blackboxswyeah, I'm making hand-wavy suggestions, I'll have to find concrete examples we can talk about monday. (I thought I had come across a couple)21:16
rharperso that should mirror what we get with ds-identify21:16
rharperok21:16
blackboxswrharper: end result in all cases I think the python code does mirror results from ds-identify.  I think there may be some gaps where the datasource does more work than it needs to to vet environments as DS_NOT_FOUND that ds-identify does. Some of that behavior is because the get_data() actually has does addtional probing of the metadata services etc. But some of that work could be avoided with a tighter exit NOT_FOUND21:19
blackboxswdetection.21:19
blackboxswwow typos. ok. I'll dig up a couple examples21:20
rharperok, so optimizing but we don't have differing results; which I certainly fine21:21
blackboxswci needs fixing smoser on your lxc brnach21:21
blackboxswrharper: correct, sorry for the fuss, just optimization (early exit on known invalid datasource detection)21:22
rharperok21:22
smoserfudged21:36
smoserd key sticks down21:36
smoserrharper, blackboxsw https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/348005 i'm happy with that now, and have tested in x, b, c21:44
smosertest coverage is not 100% though. it doesnt test the lxc command error path.21:44
smoserbut running in x, b, c does test that for exit code = 121:44
rharperwe weren't testing lxc error path before either, right ?21:45
smoserwell before the rework i had 100% coverage on the newly added code21:45
rharperoh, hehe21:45
smoserbut yeah, if lxc fails with other than 1, its going to bomb out21:46
smoserwhich is kind of fine..21:46
smoseri have to run. i'll check back in in a few hours21:46
rharperok21:47

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