/srv/irclogs.ubuntu.com/2020/03/11/#cloud-init.txt

blackboxswhttps://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1866930 created and https://github.com/canonical/cloud-init/pull/114 pushed for tomorrow rharper00:55
ubot5Ubuntu bug 1866930 in cloud-init (Ubuntu) "[FFe] ec2 add support for configuring secondary ipv4 and ipv6 addresses" [Undecided,New]00:55
slaweqhi09:17
slaweqI'm working on OpenStack Neutron and I want to talk with You about Metadata over IPv609:18
slaweqsince some time we have spec https://review.opendev.org/#/c/315604/ to add support for IPv6 in Neutron09:18
slaweq*for Metadata over IPv6 in Neutron09:19
slaweqthe proposal in this spec is to use fe80::a9fe:a9fe as IPv6 address which is equivalent to 169.254.169.25409:19
slaweqbut as cloud-init is one of the main users of metadata service, I would like to ask also You about that, what do You think about it and if this will work for You09:20
slaweqany feedback here or in the spec's review will be appreciated :)09:20
tribaalslaweq: just a note - most of the cloud-init community lives in US timezones, so replies can take a few hours to come.09:22
slaweqtribaal: thx for that info09:23
slaweqtribaal: is there any active ML for cloud-init where I can maybe send such question?09:23
tribaalslaweq: yes, I think https://launchpad.net/~cloud-init (notice the mailing list link) would be the relevant contact point. Note that you need to be part of the "team" to post, but to my knowledge that's just a matter of clicking "join" :)09:25
slaweqtribaal: thx a lot09:26
slaweqI will try that09:26
tribaalslaweq: from a scan of the openstack-specific DS code in the tree it seems like using ipv6 (or an ipv6 fallback) for the datasource is possible09:27
tribaalI'm not sure how that is implemented in other datasources however (currently the openstack datasource will check on http://169.254.169.254 unconditionally)09:28
tribaalah, my bad. it will check there unless the metadata ur is supplied through the config as metadata_urls09:29
slaweqtribaal: can You point me to the code with that?09:29
tribaalsure, sec09:29
slaweqtribaal: thx a lot09:30
tribaalslaweq: https://github.com/canonical/cloud-init/blob/master/cloudinit/sources/DataSourceOpenStack.py#L5909:30
slaweqtribaal: so in fact if we will add som IPv6 address, it can be configured in cloud-init's config to be used09:31
slaweqso in fact no changes in cloud-init code are required in fact09:32
tribaalslaweq: yes, it looks like that would eb the case.09:32
slaweqtribaal: maybe we can propose to add such IPv6 address to the default list later09:32
slaweqbut it's not required to make it working09:33
tribaalslaweq: if the ipv6 option becomes an openstack standard perhaps you could consider adding it to the default URLs (making it a list). But some guidance from the real cloud-init developers would be better than mine here :)09:33
tribaalyes, it looks like.09:33
slaweqtribaal: ok, thx a lot for help09:33
tribaalfrom my uneducated perspective at least :)09:33
tribaalslaweq: anytime :)09:33
slaweqI will send email to the ML to get some more feedback about that but You helped me a lot with that09:33
tribaalgood to hear!09:34
=== vrubiolo1 is now known as vrubiolo
otubomeena: I saw you left a comment on the pull request https://github.com/canonical/cloud-init/pull/20412:46
otuboOdd_Bloke: ^12:46
otuboI also saw a comment about considering the CVE-2020-8631.12:46
otubomeena: Odd_Bloke I'm just a little confused if this PR actually addressed the CVE or not, because it still uses random.choice12:47
Odd_Blokeotubo: It doesn't use random.choice, it uses random.SystemRandom.choice.13:06
Odd_BlokeWhich uses the system's random pool instead of the pseudorandom Mersenne Twister that random.choice uses.13:06
otuboOdd_Bloke: I noticed that. And that was the reason I was confused if it was really fixed or not :) Now it's clear. Thanks!13:07
Odd_Bloke:)13:07
Odd_Blokerharper: blackboxsw: https://github.com/canonical/cloud-init/pull/244/ <-- this adds the capability to store just GitHub usernames as CLA signers (and adds dhensby as the first such person)13:42
Odd_Blokerharper: Thanks for the review, I've addressed your comment. :)14:24
rharpercool, I'll re-review14:24
Odd_BlokeThanks!14:25
Odd_Bloke(I happened to look at the tab as your review showed up, I wasn't just sitting there waiting for a review to come in. ;)14:26
rharperhehe14:26
=== vrubiolo1 is now known as vrubiolo
AnhVoMSFTchecking out master and running tox gives me error tox.ConfigError: ConfigError: No support for the posargs substitution type17:38
powersjAnhVoMSFT, can you paste the full output? and `tox --version` and `python -V`17:42
powersjerr python3 -V :D17:42
AnhVoMSFTtox --version17:49
AnhVoMSFT2.3.1 imported from /usr/lib/python3/dist-packages/tox/__init__.py17:49
AnhVoMSFTpython3 -V17:49
AnhVoMSFTPython 3.5.217:49
powersjthat looks like Ubuntu 16.04?17:50
powersjxenial?17:50
AnhVoMSFTyes powersj17:52
powersjOdd_Bloke, ^ possible regression from yesterday? If I checkout master without yesterday's commits all is well18:02
AnhVoMSFTpowersj full output https://paste.ubuntu.com/p/b4ncHRJhxc/18:02
AnhVoMSFT(sorry for the delay, multitasking)18:03
Odd_BlokeOh, hmm.18:03
Odd_BlokeLet me take a look.18:03
Odd_BlokeYeah, OK, looks like it was introduced by my pytest branch.18:05
Odd_BlokeAnhVoMSFT: A short-term workaround is to install tox from PyPI into a virtualenv.  That tox version should be fine.18:06
Odd_BlokeIn the meantime, I'll dig into fixing it properly.18:06
Odd_Blokeblackboxsw: rharper: https://github.com/canonical/cloud-init/pull/245 <-- this fixes running tox on xenial18:14
* blackboxsw tries to reproduce that problem in the first place18:15
blackboxswapproved Odd_Bloke just waiting on CI18:19
blackboxsw.... again18:19
powersjOdd_Bloke, thanks!18:20
rharperblackboxsw: https://bugs.launchpad.net/cloud-init/+bug/1867029  ; didn't we look at an issue like this?  IIRC, the bionic ifupdown package does not include the source /etc/network/interfaces.d/*.cfg line in /etc/network/interfaces, right ?18:27
ubot5Ubuntu bug 1867029 in cloud-init "Package ifupdown breaks network configuration by cloud-init" [Undecided,New]18:27
Odd_BlokeLanded.18:27
Odd_BlokeAnhVoMSFT: master should now be back to working, thanks for letting us know it was broken!18:27
Odd_Blokeblackboxsw: Looking at timestamps, we weren't waiting for Travis on that one, just on our actual CI jobs.18:28
blackboxswrharper: checking18:29
Odd_BlokeOur worst queue times are likely in the mornings, because I think most of the multipass team are in Europe. :p18:29
blackboxswrharper: we did have an issue just like this (iternally) someone was installing ubuntu-desktop on cloud-images which pulled in ifupdown18:30
rharperyes18:30
rharperand on bionic the package does not include the source line18:30
rharperso we render eni18:30
rharperbut nothing sources it18:30
blackboxswright, presence of ifupdown on bionic is non-standard/recommended and cloud-init checks ifupdown first, but stock cloud images have ifupdown includes disabled18:31
blackboxswbecause we should be using netplan18:31
blackboxswright18:31
blackboxswstill feels a bit like it should be a bug in ifupdown package for bionic. if installing it, it should probably emit the proper include, or cloud-init can emit a warning saying "hey there I see ifupdown and will be rendering that but I see no includes for the interfaces.d file I'm about to write, so I'm going to include it kthxbye"18:32
blackboxswI think it's probably worth considering it as a cloud-init bug, because we should be smart enough to look at the environment config files for the rendering we are emitting to make sure it is valid18:33
blackboxswwhat do you think?18:33
blackboxswand it seems like a low hanging fruit kind of bug too18:34
blackboxswif we handle it that way in net renderer.18:34
Odd_BlokeI would like to see a clearer description of the problem; what is the gap when ifupdown is installed on bionic?18:35
blackboxswwhen ifupdown and netplan are both installed cloudinit network renders prioritize writing /etc/network/interfaces.d/*.cfg instead of /etc/netplan/50-cloud-init.yaml18:38
blackboxswproblem on certified cloud-images is that the magic /etc/network/interfaces config file is in a disabled state18:38
blackboxswhttp://paste.ubuntu.com/p/9yhHVZjqGB/18:39
rharperblackboxsw: yes18:39
rharperI updated the bug18:39
Odd_BlokeRight.  This feels like it could be an ifupdown bug, we should pursue that route first, I think.18:39
blackboxswand ifupdown package doesn't actually write or update that file if it already exists in images18:39
rharperthe workaround is to just put the source line in there;  we need to sort out if ifupdown packaging or cloud-init (or both) should ensure that's present18:39
Odd_BlokeBecause that comment is currently a lie, I think. :p18:39
rharperblackboxsw: even if it were missing, it doesn't put the right source line IIRC18:40
blackboxswyeah I think ifupdown package postinst script should be a bit smarter instead of just a presence check (because we know cpc images intentially disable that file with comments etc)_18:40
blackboxswrharper: if /etc/network/interfaces file is missing  it writes the appropriate include18:40
blackboxsw"it" being ifupdown deb postinst script18:41
blackboxswyeah and that comment is a lie, because just installing ifupdown leaves the same /etc/network/interfaces file in place (disabled)18:41
blackboxswjust tested that18:42
blackboxswsame ENI content18:42
rharperblackboxsw: it's functional, but ISTR some subtly between source-directory and source *.cfg18:42
rharperI forget what at the moment18:42
rharperI think there's a built-in regex that ifupdown uses18:42
rharperwith source_directory vs. source *.cfg18:43
blackboxswand on bionic the ifupdown.postinst which source-directories the right dir http://paste.ubuntu.com/p/TKtfmN7Zyt/18:43
rharperI think I saw a debian bug related to this since their images used source_directory18:43
rharperblackboxsw: yes, it's the correct directory18:43
rharperbut it restricts what files it reads within it18:43
rharpercloud-init's cfg is read18:43
rharperbut there are subtle regex differences for what files are named18:43
rharperand what ifupdown actually reads18:43
rharperso, ubuntu cloud-image with ifupdown and source *.cfg will not always see the same files as an image with source_directory18:44
blackboxswrharper: are you saying the "source-directory /etc/network/interfaces.d   is more strict than "source /etc/network/interfaces.d/*.cfg"   ?18:44
rharperpossibly the opposite18:44
blackboxswahh less strict18:44
rharperbut I need to find the bug18:44
rharperhttps://github.com/canonical/cloud-init/commit/a6faf3acef02bd8cd4d46ac9efeebf24b3f21d8118:46
rharperThe current filename, 50-cloud-init.cfg, does not match against the RE18:46
rharperthat is used to scan the directory for configurations (ASCII upper- and18:46
rharperlower-case letters, ASCII digits, ASCII underscores, and ASCII18:46
rharperminus-hyphens):18:46
blackboxswahh interesting. ok18:47
SaviqOdd_Bloke: just hired someone in Argentina ;)18:48
blackboxswso do we want cloud-init behavior to prescribe that anyone wanting network config in ENI need have *.cfg files?18:48
rharperblackboxsw: well, the distro class has a say in it18:48
SaviqAlso, one of our devs is in Tennessee, so… ;P18:48
blackboxswSaviq: so annual meetings in Columbia to split the difference?18:49
blackboxswso TN and Agentina have to travel the same distance :)18:50
SaviqWith how things are going, no f2f meetings for a year ;P18:50
blackboxswtrue story18:50
Odd_BlokeSaviq: Please go to bed (and stop kicking off CI runs). ;)18:53
Odd_BlokeI'm looking at the daily build failures next.19:03
Odd_Bloke(I believe it should just be a case of updating the Build-Depends in each packaging branch.)19:03
rharperOdd_Bloke: awesome!19:18
Odd_BlokeHmm, actually, this is a little more complicated than that.  If I update the Build-Depends without pulling in the upstream commit, then builds will fail when we just cherry-pick changes (because nose won't be installed).19:23
Odd_Blokes/the upstream commit/\0 that introduced pytest/19:24
blackboxswrharper: https://github.com/canonical/cloud-init/pull/114 is up for re-review (ec2 secondary ips). one question I have is how do we want cloud-init19:29
blackboxswfinally got my unittests fixes. FWIW assertItemsEqual for dict type items instead of assertEqual because python dict key ordering is different on xenial version on python as opposed to > xenial19:30
blackboxswI keep forgetting that19:30
rharperblackboxsw: yeah,I saw that change in your tests; that was new to me w.r.t having a non-ordered content comparision19:31
blackboxswyeah it bit us on landscape tests all the time, and sometimes I've seen it in cloud-init too19:32
blackboxswmost of the time i remember when writing the test... ahh well19:32
tribaalI get bit by that all the time :)19:32
blackboxswsilly former landscapers :)19:32
tribaalhehe you'd think we learned byt the time :)19:33
blackboxswhah19:33
rharpertribaal: btw, thanks for point slaweq to the mailing list and the datasource bits; much appreciated19:33
tribaalanytime :)19:33
tribaalseems like a pretty straightforward patch to write (to me), but the multicast point brought up on the list as a followup is an interesting approach19:35
Odd_BlokeassertEqual should work on dicts.19:36
rharperyeah, and I'm worried about the cost of either hitting ipv4 when there is no, or ipv6 when there is none19:36
tribaaleven though I'm not directly involved with an openstack cloud anymore, I could see the multicast thing transfer well to other clouds as well, indeed19:36
rharpertribaal: I19:36
tribaalyou?19:36
tribaal:)19:36
rharperhehe, I've not responded to that yet; the idea of having a common "IMDS" url is interesting, but I'm not sure it makes anything more common other than the location;  the content is still per-platform;19:37
tribaalYeah, that's true19:37
Odd_Blokeblackboxsw: Just added a comment about assertItemsEqual; you're actually papering over a _list_ being out-of-order, this isn't to do with dict key ordering.19:51
Odd_Bloke(Unless, I suppose, that list is being generated from dict keys.)19:52
blackboxswOdd_Bloke: ahh right, so we could/should sort that list to avoid thrashing on different versions of python19:52
blackboxswright the source comes ultimately from keys19:52
blackboxswwe can sort it in code proper or assertItemsEqual19:52
blackboxswI'd prefer to handle in unit tests because we don't truly need to do the sorting work for what cloud-init renders19:53
Odd_BlokeI think better to have the code produce something that's stable across Python versions.19:53
blackboxswbut I can be swayed either way19:53
blackboxswrharper: I need a swing vote on that :)19:53
Odd_BlokeWell, I give an example where the order does make a difference.19:53
blackboxswsurely19:53
Odd_BlokeI don't know if it makes a _practical_ difference, but there would be different internal state at least.19:54
rharperis the a *value* list or  the order of the keys() output ?19:54
rharperwe end up running json.dumps, with sort_keys=True, so what we write out is in sorted *key* order, but the value indexed by the key is not sorted AFAICT in our code;19:55
rharperat some unittime cost; it may be better to dump the output via util.json_dumps() and read it back and compare19:55
blackboxswrharper: the list value comes out sorted differently from macs_to_nics.items()19:56
rharperthe value, right19:56
blackboxswso the value of the 'addresses' sorts differently on xenial19:56
blackboxswbased on what mac we originally process from IMDS19:56
blackboxswI can make the change to sort the macs_to_nics dict. and then we should not have this problem.19:57
blackboxsweasy enough. and minor cpu cost\19:57
rharperthat seems better and then assertEqual should work as well, IIUC19:57
blackboxswright then assertEqual will work19:58
blackboxswand we may have need for ordered internal state in the future anyway.19:58
rharperblackboxsw: thoughts on whether we can generically walk the dict, and on value types apply sorted ?19:58
rharperthat is, if we add new keys in the future, how do we prevent having more unsorted lists19:58
Odd_Blokeblackboxsw: rharper: What do you think to this approach: https://github.com/canonical/cloud-init/pull/24620:15
rharperlooking20:15
Odd_BlokeIt means our daily builds will needlessly install python3-nose and our archive builds will needlessly install python3-pytest.20:15
Odd_BlokeThe alternative would be to cherry-pick the pytest commit onto each release branch, so that we can consistently just test with pytest.20:16
rharperhrm20:16
Odd_Bloke(And all of this inconsistency will go away in the next SRU regardless.)20:16
rharperleading with that last comment there; I;m in favor of some short term "needless" package installs to avoid git cherry pick on each release branch pain20:17
blackboxswOdd_Bloke: I think we ultimately have to cherry-pick into each ubuntu/<series> anyway right20:17
rharperblackboxsw: on sru, we new-upstream-snapshot *and* update build deps20:17
rharperso, no ?20:17
blackboxswour new-upstream-snapshot doesn't pull int debian/* file changes20:17
blackboxswrharper: ahh I see, right deps should get corrected via new-upstream-snapshot20:18
blackboxswok20:18
rharperright, but issue is that tools/read-deps picks up the new change, but debian/ is stale20:18
Odd_BlokeThe deps won't be corrected by new-upstream-snapshot.20:18
blackboxswjust ubuntu/xenial/debian doesn't see updates from ubuntu/devel/debian due to new-upstream-snapshot20:18
SaviqOdd_Bloke: btw, are we actually causing you guys delays? this is Travis, I assume? is it b/c we're under the same canonical/ GH org?20:18
Odd_BlokeWe will need to manually drop the python3-nose Build-Depends once it is actually unused.20:19
Odd_BlokeSaviq: Yeah, we've had the canonical org put onto a paid Travis plan so that will hopefully help.20:19
rharperOdd_Bloke: right, we move release branch to master; *and* update debian Build-Deps20:19
Odd_BlokeSaviq: Part of the problem is that we aren't (yet) using a landing bot like bors, so we really notice delays.20:20
blackboxswok Odd_Bloke is it worth an SRU_BLOCKER comment added to ubuntu/(xenial|bionic|eoan)/debian/control   or a trello card on our SRU template board?20:20
Odd_Blokeblackboxsw: This isn't a blocker for SRUs IMO.20:20
blackboxswI guess what I'm wondering is how we avoid losing that work item20:20
SaviqOdd_Bloke: ah so that's why travis-ci.com got enabled on the org ;)20:21
rharperblackboxsw: I was just thinking we might want to to release branch merging in our CI builds; so we could have see this fail in CI if we merged release branch debian on top of the PR branch ,20:21
Odd_Blokeblackboxsw: Perhaps on the SRU template board?20:22
Odd_Bloke(If we do drop it it's not the end of the world, we'll just be installing nose in our build environments unnecessarily.)20:22
Odd_Blokes/drop it/forget to make the change/20:22
Odd_Blokerharper: Chad is +1 on the PR, I take it from your above comments that you are too?20:23
rharperyes, I'll mark approve as well20:23
Odd_BlokeOK, I'm going to make sure that focal now builds, then will propose a similar change for each other release.20:27
Odd_BlokeSaviq: Yep, that's why. :)20:27
SaviqI suppose that was inevitable, and makes sense anyway…20:31
blackboxswok, Im reviewing Goner's netbsd(*bsd) support PR https://github.com/canonical/cloud-init/pull/62 and the network config emitted from the distro is v1 in both cases. I'm thinking since we are touching/reviewing that support, maybe we should make that generate_fallback config could be simple v2 https://github.com/canonical/cloud-init/pull/62/files#diff-1708fc6fbf7cc4ca958a7adab7ad615eR35-R4020:44
blackboxswrharper: Odd_Bloke any opinions on generally whether we should be moving distro network rendering to v2 or leave them all v1?20:45
rharperblackboxsw: do you mean datasource ?20:45
blackboxswI knew datasource-wise  we'd like to make that migration to v2 in the datasource20:45
blackboxswrharper: I do mean distro in some cases constuct v1 network config for fallback20:45
blackboxswwe could move them to v2 as they are being touched like the link above20:46
blackboxswso that eventually we can move our internal state off of v120:46
blackboxswand drop our network config v1 -> v2 translation layer logic20:46
rharperwhat generates v1 in distro ?20:47
blackboxswdistro.generate_fallback_config is the method I'm talking about20:47
rharperjust bsd no ?20:47
Gonericould this be done in a 2nd iteration. I understand the idea, but I would like to land the PR too :-)20:47
rharperit calls net.generate_fallback_config()20:47
blackboxswwell our base Distro class does20:47
rharperwhich emits v220:47
rharperblackboxsw: huh ?20:47
blackboxswright rharper in the existing PR, it did v1.20:47
rharper   def generate_fallback_config(self):20:47
rharper        return net.generate_fallback_config()20:47
blackboxswfor netbsd only. and I wanted to steer that to v220:47
blackboxswrharper: https://github.com/canonical/cloud-init/pull/62/files#diff-1708fc6fbf7cc4ca958a7adab7ad615eR35-R4020:47
blackboxswI want that v220:48
blackboxswGoneri: it could be done on a followup20:48
rharperblackboxsw: I suppose, I'm not too worried about it;  the biggest win to moving to v2 in fallback is that if target distro supports v2, then we can pass it through as it is20:48
rharperit's unlikely that v2 will ever be around on bsd, so it's not, IMO, a big issue to emit v1 to convert to network_state()20:49
blackboxswright, which isn't going to happen on *bsd. so its probably more paper work to move to v220:49
blackboxswright20:49
blackboxswok makes sense, thanks for being the sounding board. Goneri we won't worry about that then20:49
Odd_Blokehttps://github.com/canonical/cloud-init/pull/247 <-- eoan21:01
Odd_Blokehttps://github.com/canonical/cloud-init/pull/248 <-- bionic21:15
Odd_Blokehttps://github.com/canonical/cloud-init/pull/249 <-- xenial21:25
Odd_Blokeblackboxsw: rharper: Review of ^ would be appreciated!21:25
rharperok21:25
blackboxsw247 merged21:26
blackboxswrharper: you on 248 or 249?21:26
blackboxswI object to https://github.com/canonical/cloud-init/pull/248/files formatting as cloud-init attribution in previous changelog entries generally carries a different 'style'21:27
rharperblackboxsw: neither as you hopped on one already; was thinking it was easier to review all of them together for comparision purposes21:29
blackboxswrharper: +1 though Id like you and Odd_Bloke weigh in on 24821:29
blackboxswspecifically my unrealistic https://github.com/canonical/cloud-init/pull/248#discussion_r39127881921:29
blackboxswor pedantic21:29
blackboxswit just represents something 'different' and I get all prickly with change ;)21:30
blackboxswsame nit/request w.r.t https://github.com/canonical/cloud-init/pull/249/files21:31
blackboxswI think generally we redacted authorship attribution in debian/changelogs for the upstream team. in ubuntu deb changelog entries, but should that be different w.r.t. specific packaging changes to the debian/* directory21:31
rharperblackboxsw: generally I think it might be useful to keep authorship for the debian dir change sinces that's downstream changes rather than upstream code ; but I'm fine redacting as well;21:33
blackboxswok /me backs down21:33
blackboxswworks for me21:33
blackboxswthough when new-upstream-snapshot combines these items I wonder if it's worth us redacting that to make the changelog a bit more readable21:34
blackboxswsince it's likely to include a lot of fixes21:34
blackboxswredacting the authorship sections21:34
blackboxswheh I see Odd_Bloke redacted :) thanks man21:38
blackboxswI mean thanks Dan21:39
Odd_BlokeDone for both.21:39
blackboxswapproved waiting on ci21:40
Odd_BlokeFWIW, those names are categorically different from the "New upstream snapshot" lines where we redact the names, and are a standard feature of Debian changelogs.21:41
blackboxswthough Odd_Bloke do you think that not bumping debian/changelog version will actually not allow our builds to succeed21:42
blackboxswhttps://github.com/canonical/cloud-init/pull/249 and https://github.com/canonical/cloud-init/pull/24821:42
Odd_BlokeWhy?21:42
blackboxswI think we actually need a new dch -i right?21:42
blackboxswohh wait recipe builds failed21:42
blackboxswso there isn't a build of that binary already in repos21:43
Odd_BlokeThat version isn't really used anyway, the recipe build produces its own I think?21:43
Odd_BlokeI think the changelog is only used for proper uploads, and we haven't released these versions yet.21:43
blackboxswOdd_Bloke: I was thinking only in terms of daily repos21:43
blackboxswdaily ppa21:43
blackboxswwhich should already have a successful build pre-pytest21:44
blackboxswmaybe??21:44
Odd_BlokeThe recipe builds don't use that version string.21:44
Odd_BlokeThey look like  20.1-2346-g65a1b90-0ubuntu1+1792~trunk~ubuntu20.04.121:44
blackboxswahh right it's based on something else ahh right  https://launchpad.net/~cloud-init-dev/+archive/ubuntu/daily21:46
blackboxswok safe!21:46
blackboxswthanks for that21:46
blackboxswwhich makes sense as we might fix a ubuntu/<release> branch with more commits and not alter the debian/changelog so we'd need a different unique counter21:46
blackboxswto allow unreleased uploads to get tested.21:47
blackboxswok I'm back on waiting for CI again :)21:47
blackboxswactually on a netbsd review21:47
Odd_Blokeblackboxsw: I'm watching CI for those packaging branches, you can focus on something else. :)21:49
Odd_BlokeOK, all daily builds are now back to working. \o/22:03
powersjrharper, https://github.com/canonical/cloud-init/pull/238 is that ready?22:25
blackboxswpowersj: I think I need a 2nd pass there.23:16
blackboxswmy irc bouncer died again23:16
blackboxswwill be making the switch to thelounge.chat tonight23:16
rharperpowersj: I would like to have some runtime verification on it before landing23:25

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