/srv/irclogs.ubuntu.com/2020/10/01/#cloud-init.txt

smoser1do i just hit 'squash and merge' ? on https://github.com/canonical/cloud-init/pull/58900:57
=== smoser1 is now known as smoser
smoseror does a bot do it00:57
=== hjensas is now known as hjensas|afk
Odd_Blokesmoser: We don't have a bot (yet), so please go ahead!13:01
Odd_Blokefalcojr: OK, cool, we might conflict but it shouldn't be too hard to fix if we do; and that option name is *chef's kiss*.13:10
Odd_Blokeotubo: smoser: I'm not going to wade into that IBM discussion, but note that https://cloudinit.readthedocs.io/en/latest/topics/code_review.html#prerequisites-for-landing-pull-requests lays out our unit testing requirement.13:13
Odd_BlokeIn case you want some ammunition. ;)13:13
otuboOdd_Bloke: appologies, english is not my first language. But "lay out" as in "eliminates the requirement for unit tests" or as in "confirms the need of unit tests"? I got confused because of "In case you want some ammunition." :-D13:23
otuboAlso, any chance to take a look at https://github.com/canonical/cloud-init/pull/586 ?13:23
Odd_Blokefalcojr: https://travis-ci.org/github/OddBloke/cloud-init/jobs/731932198 \o/13:26
Odd_BlokeJust plugging it into our current configuration appears to have worked.13:26
Odd_Blokeotubo: Apologies!  "lays out" as in "describes", and the requirement it describes is that new Python code should have unit tests (and so it "confirms the need of unit tests").13:28
otuboOdd_Bloke: Ah nice, thanks :-)13:31
Odd_Blokeotubo: So I'm looking at that PR, and I think there's an issue in the pre-existing code: specifically, I think https://github.com/canonical/cloud-init/blob/master/cloudinit/ssh_util.py#L265 will always raise an IndexError (run `python3 -c "x = []; x[0] = 'foo'"` to see what I mean).  Have you tested this change in an environment where it would be triggered?13:37
meenapython isn't php??13:57
catphishbasically the same think though right :)13:58
meenai mean, this also works on Ruby, but Ruby is """inspired""" by perl (and Smalltalk)13:59
meenaso, i knew these things, but i only ever considered them separately, and now, thinking about these two things at the same time, and how they make this one language makes my head spin14:01
otuboOdd_Bloke: sorry was on a meeting. But yes, the patch was tested (I generally test it on the env before a PR) and it works. But I understand what you're saying. I think .append('foo') would fix it.14:16
smoserOdd_Bloke: so what type of merge do i do ?14:19
smoserthe button for me says "Squash and merge". But I think that is just the value from the last time i did it.14:19
smoser(rather than a project-set value)14:19
smoserwhich am i supposed to do14:20
powersjwe only allow squash and merging14:23
powersjif you click on the little arrow the other two options should be greyed out14:23
catphishtds: i'm working on the thing i threatened :) https://paste.ubuntu.com/p/VFJ3Kz8475/15:37
catphishit's actually going quite well15:37
catphishso it sends a multicast request to its first interface, the hypervisor responds to say hello, then it can pull config by TCP with no prior network config needed15:40
smoserpowersj: thanks.16:34
AnhVoMSFT@blackboxsw @rharper https://github.com/canonical/cloud-init/pull/591 this is the PR to fix https://bugs.launchpad.net/cloud-init/+bug/1874544 using the approach we discussed during the summit17:39
ubot5Ubuntu bug 1874544 in cloud-init "issue with double mac addresses on azure/ib0 devices" [High,Triaged]17:39
alschaapmanDoes any part of cloud-init's first time boot process *not* get put into the initramfs18:02
alschaapmanIt seems like everything that's supposed to be needed for that happens before the root filesystem is mounted18:02
tewarddoes anyone have a ton of experience with pxe boot and preprovisioning a systme with a cloud-init, and can give some guidance on telling the LVM system to use the entire available disk for the LVM LV rather than only half the PV that it gets?  (I think the lvm defaults for cloud-init/curtin are fubar, but not sure how to tell it to use full disk, when using the plain jane 'lvm' storage option without custom configuration of the storage)19:20
tewardi'd rather not have to provide a full disk layout in cloud-init if possible19:20
powersjsmoser, rharper ^ is that possible?19:28
smoserteward: i think yuou're talking about curtin, right ?19:29
tewardsmoser: it's called underneath cloud-init I assume, yes.  I know in KVM-powered (LXD) VMs, growpart can be used to grow the partitions to full for the system, but what I'm after is building the LVM so that the default LV actually getws 100% of the PV that is autocreated not 50%19:30
teward(which is what my tests are seeing)19:30
tewardsmoser: the *problem* is in the curtin docs I can't find *anything* that would allow me to define 100% consumption of the PV by the LV *unless* I structure the entire disk layout from scratch, which I'm trying to not do :P19:31
smoserwell... i'm not sure what you actually have.19:32
rharperthis is the autoinstall yaml19:32
rharperfor subiquity19:32
smoseri've nto used lxd kvm guests (i guess i could try)19:32
rharperpretty sure19:32
smosersurely lxd doesn't do a install19:32
rharperoh, maybe not19:32
* rharper catches up 19:32
rharperhow/where is the rootfs getting backed by lvm ?19:33
tewardsmoser: no, it doesn't, but i'm trying to do full VM autoinstalls via PXE19:34
tewardsmoser: so i'm familiar with cloud-init having growparts available, but not sure how to achieve similar with a pure LVM in a pxe boot19:34
tewardhence my needing a bit of an assist with the autoinstall yaml :|19:35
smoseroh. i'm not familiar at all with subiquity autoinstall yaml.19:35
rharperright, autoinstall yaml;  so curtin storage yaml supports using 100%FREE on an LV with no size key;19:35
rharperw.r.t to a PV, you can feed any curtin storage disk (or partition, or other block device) into the lvm_volgroup; and it's added as member of the volgroup;19:36
tewardrharper: i think i'm looking for example syntax19:40
tewardrather than a theoretical explanation19:40
tewardbecause ERR:NoExamplesAvailable19:40
tewardso i'm a little headscratching atm19:40
rharperif you're defining  type: lvm_partition;  you specify the lvm_volgroup id in which you want to create it; and then *omit* the 'size' key; and curtin will pass '100%' when invoking lvcreate19:42
tewardrharper: what if the storage isn't defined *except* for the default of `storage: layout: name: lvm` like the example in the autoinstall page as a 'structure'/'example'?  https://ubuntu.com/server/docs/install/autoinstall19:43
teward(and yes I removed the linebreaks, but assume actual yaml)19:43
tewardrharper: trying to grasp this from scratch, without having to go through a complete storage definition through everything - from disk to pv to vg to lv19:44
tewardsee if there's any workarounds OTHER than defining the full disk structure the way you're suggesting19:44
rharperteward: not that I know of; there's an open bug complaining about using 100% LV; https://bugs.launchpad.net/subiquity/+bug/1785321 ;19:47
ubot5Ubuntu bug 1785321 in subiquity "LVM Entire Disk option does not use entire disk" [Medium,Fix released]19:47
rharperteward: so maybe there's a follow-up bug (that says fixed) to allow the same feature in the autoinstall yaml19:48
tewardrharper: then the next question is, can you proivde a Proof of Concept example for how the storage layout would have to be, including on-root boot partition, physical partition that'll be the PV, VG on the PV (100% of the PV), LV on the VG (100% of the VG)?  Because again, headscratching here19:48
tewarddue to my unsuredness with this venture19:49
rharperteward: not for autoinstall, but for curtin, this is very close to what you want, https://git.launchpad.net/curtin/tree/examples/tests/lvmroot.yaml ;   the only change for "LV consuming 100% of the free VG space" is  to remove line 32;19:52
tewardrharper: assuming this is passed in via cloud-init data, does cloud-init pass the storage configuration with curtin options?  Or is this going to require more than simply a base autoinstall yaml?19:53
teward(again, new to this, I prefer manually deploying things :P)19:53
rharperso, for autoinstall, subiquity boots, reads cloud-init data, and writes the autoinstall.yaml to a well-known location, then subiquity runs, see the autoinstall yaml and runs it (which calls curtin to install the OS given the config)19:54
tewardok, so then the storage layout you provided would be passed in the autoinstall.yaml's storage section accordingly, which passes the config to curtin?  Assuming I'm understanding it proper19:55
teward(sorry again for asking too many questions xD)19:55
rharperyes, subiquity reads the storage config first, and then adjusts it for disk name matching, https://ubuntu.com/server/docs/install/autoinstall-reference19:57
rharperso instead of using the storage: layout: ... (high level stuff), you'll use what's called "action-based config";19:57
tewardthat makes sense20:00
tewardrharper: thanks for the clarification, hopefully I can wrap my head around this20:00
tewardmore questions may follow "soon"ish :p20:00
rharper=)20:01
Odd_Blokefalcojr: I'm ready to land https://github.com/canonical/cloud-init/pull/581, do you want to author a commit message for it?20:06
falcojrif only I had had a PR template for that ;)20:08
Odd_BlokeSounds like a good idea, someone should write one of those.20:08
rharperteward: we could continue #curtin ; I suspect the discussion will be more focused on curtin than cloud-init/config20:14
tewardrharper: yep, but that's a task for later.20:14
tewardcurrently wrapping my head around some landscape on-prem crap20:14
rharperlol20:17
tewardno seriously.  Landscape on-prem not accepting the license >.<20:17

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