Tuesday, 2018-04-17

ianwjohnsom: the other thing is, you can just manually remove the .egg-info file and that's basically what pip<10 did anyway00:08
ianwit's not perfect, but if ti was working, it would continue00:08
johnsomI'm all over this venv now... grin00:12
*** mjturek has quit IRC00:14
openstackgerritIan Wienand proposed openstack/diskimage-builder master: Remove installed packages before pip install  https://review.openstack.org/56147900:22
clarkbianw: ^ that update lgtm I've +2'd00:31
*** andreas_s has joined #openstack-dib01:00
ianwgood news, i've built a xenial with most elements and pip10 doesn't seem to give issues01:04
ianw$ pip --version01:04
ianwpip 10.0.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)01:04
ianw$ pip3 --version01:04
ianwpip 10.0.0 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)01:04
ianwnow ... see if we can diagnose this rax boot issue :/01:04
*** andreas_s has quit IRC01:05
johnsomLooks like I have a good fix for Octavia with the venv. CentOS is still broken, but I think your patch will fix that (virtualenv).03:07
*** andreas_s has joined #openstack-dib03:45
*** andreas_s has quit IRC03:50
*** pbourke has quit IRC04:05
*** pbourke has joined #openstack-dib04:06
*** esha2 has joined #openstack-dib04:42
ianwhttp://logs.openstack.org/79/561479/8/check/nodepool-functional-py35-gentoo-src/aefeaed/controller/logs/builds/gentoo-17-0-systemd-0000000002_log.txt.gz#_2018-04-17_01_50_46_83305:29
ianwemerge: there are no ebuilds to satisfy "yum-utils".05:29
ianwpromethanfire: ^ can you take a look05:29
prometheanfirehi05:32
*** esha2 has quit IRC05:32
prometheanfireoh, just a pkg-map thing?05:33
*** esha2 has joined #openstack-dib05:33
prometheanfire* sys-apps/yum05:33
prometheanfire     Available versions:  ~3.4.3_p20170619 {test PYTHON_TARGETS="python2_7"}05:33
prometheanfire     Homepage:            http://yum.baseurl.org/05:33
prometheanfirethat seem right?05:33
prometheanfirenot sure what binary/file you want installed05:33
ianwurgh, i guess that comes from the epel element, which shoulnd't install anything for !centos/rhel05:36
prometheanfire:D05:37
prometheanfirenotmyfault? :D05:38
ianwok, no mea culpa05:39
openstackgerritIan Wienand proposed openstack/diskimage-builder master: Remove installed packages before pip install  https://review.openstack.org/56147905:44
*** esha1 has joined #openstack-dib06:04
*** esha2 has quit IRC06:07
openstackgerritIan Wienand proposed openstack/diskimage-builder master: Remove installed packages before pip install  https://review.openstack.org/56147906:10
*** andreas_s has joined #openstack-dib06:17
*** hashar has joined #openstack-dib06:53
*** andreas_s has quit IRC13:52
*** hashar has quit IRC14:02
*** johnsom has quit IRC14:11
*** johnsom has joined #openstack-dib14:12
*** brault_ has quit IRC14:18
*** mjturek has joined #openstack-dib14:21
*** hashar has joined #openstack-dib14:31
*** esha1 has quit IRC15:19
*** esha1 has joined #openstack-dib15:43
*** hashar is now known as hasharAway16:05
johnsomSo here is the question of the day: Are we going to pin pip for the stable branches?16:49
clarkbjohnsom: probably a question for the qa team? personally I'd like to not pin anything16:50
clarkbthat has the potential for putting pbr in a weird position in particular16:51
johnsomI ask, because my workaround venv of the octavia image uses too much disk space during the build for the file system size we used previously. Changing the stable branch file system size default up to 3GB doesn't seem right, nor backporting our ubuntu-minimal changes that allow it to fit.16:51
clarkbjohnsom: this is to boot under the nova flavor? dib buidls the image successfully?16:54
*** esha1 has quit IRC16:54
johnsomWith the venv DIB fails to build the image at 2GB16:55
openstackgerritPaul Belanger proposed openstack/diskimage-builder master: Revert "debootstrap: Call update-initramfs explicitly"  https://review.openstack.org/56200416:55
clarkbjohnsom: sure but dib doesn't care does it? it will just make a bigger image?16:55
*** esha1 has joined #openstack-dib16:55
clarkb(infra's images are like 22GB or something raw)16:55
johnsomNo, it crashes out with out of disk space errors. We can tell DIB to use a 3GB filesystem, which builds, but then right, nova flavors would have to be changed, etc.  I guess we could do something really ugly like resize it after DIB finishes, but that is unpleasant .16:58
clarkboh this is the tmpfs16:58
clarkbI think if you just tell it to not tmpfs it may work (though unsure of how slow that will make the build)16:58
clarkbjohnsom: was the old image right on the border of 2GB? I wouldn't have expected a major difference in size but virtualenvs will be bigger16:59
johnsomIt must have been during build, it's got room in the finished image.16:59
johnsomThe qcow2 is just 7MB larger with the venv17:00
clarkbya I think it uses a 2GB tmpfs17:00
clarkbmy hunch is building stuff from source makes it balloon a bit but then after the build it falls back down in size17:00
johnsomRight, plus all the deb cache, etc17:02
*** esha1 has quit IRC17:27
*** eshas has joined #openstack-dib17:28
*** eshas has quit IRC17:47
*** esha1 has joined #openstack-dib17:47
*** esha2 has joined #openstack-dib18:36
*** esha1 has quit IRC18:40
*** sean-k-mooney has joined #openstack-dib18:43
sean-k-mooneyo/18:46
sean-k-mooneyquick question. anyone know why cleanup_build_dir is called here https://github.com/openstack/diskimage-builder/blob/master/diskimage_builder/lib/disk-image-create#L528 and not on line 54518:47
clarkbsean-k-mooney: probably so that if the image conversions fail you don't have to also trap and handle the cleanup there? (though that may explain why we sometimes leak build dirs if we aren't trapping for that properly)18:48
clarkbsean-k-mooney: but once the image content is written the build dir isn't needed any longer18:48
sean-k-mooneyclarkb: well in my case this is cause int the image build to fail because it cleans up a mount dir that is need to create the image18:49
clarkbsean-k-mooney: everything should be copied over to the image at that point though right?18:50
clarkbsean-k-mooney: and just above that is the remoe all mounts step18:50
sean-k-mooneyi taught so. im going to reporduce again and copy the relevent log section18:50
sean-k-mooneythis might be related to the custome caching element im creating18:51
sean-k-mooneybasically i am copying the pip-cache element and creating a gradel-cache element and the imag is failing right on the cleanup_build_dir call18:52
clarkbsean-k-mooney: you may need to have a post-install.d or finalise.d step (somethign that happens late) to unmount properly)18:54
sean-k-mooneyclarkb: the pip cache element and my gradle cache both bind mount a host dir into the chroot in root.d18:54
sean-k-mooneyclarkb: ya i was just going to ask should both of these have a fianalise.d to remove the bind mount18:54
sean-k-mooneythe pip-cache element does https://github.com/openstack/diskimage-builder/blob/master/diskimage_builder/elements/pip-cache/root.d/01-pip-cache but there is no unmount in the element18:55
sean-k-mooneyclarkb: here is the relevent error http://paste.openstack.org/show/719407/18:58
sean-k-mooneywe do 2018-04-17 18:55:33.188 | + /home/centos/dib-elements/diskimage-builder/diskimage_builder/lib/common-functions:cleanup_build_sudo rm -rf /tmp/dib_build.Jx4vnUno/mnt18:58
sean-k-mooneythe something trys to use it on the last line 2018-04-17 18:55:33.521 | *** /tmp/dib_build.Jx4vnUno/mnt is not a directory18:59
*** esha2 has quit IRC18:59
sean-k-mooneylooking back through the full logs i can see that unmount_image which is called here https://github.com/openstack/diskimage-builder/blob/master/diskimage_builder/lib/disk-image-create#L347 unmounts my chache dir so the issue i have looks unrelated to my element.19:34
ianwsean-k-mooney: 2018-04-17 18:55:33.260 | Killing chroot process: 'unknown(26384)'19:58
ianwthat's weird, doesn't it basically do a lsof and kill.  i guess that is racy but haven't see it too often19:58
sean-k-mooneyianw: ya i think this is what is failing https://github.com/openstack/diskimage-builder/blob/f3d58d9042f82805ac6c944c8ea360e88b3cca4d/diskimage_builder/lib/common-functions#L184-L19019:59
sean-k-mooneyianw: what is proably happening is i have a parent process and a child and we kill the parent first and then when we go to kill the child its dead19:59
ianwoohh, yeah *that* would explain it20:00
sean-k-mooneyi was thinking of adding an "|| /bin/true" here https://github.com/openstack/diskimage-builder/blob/f3d58d9042f82805ac6c944c8ea360e88b3cca4d/diskimage_builder/lib/common-functions#L18920:00
sean-k-mooneyianw: that or sort the pid in decending order20:00
sean-k-mooneya parent cant have a higher pid the its childeren right?20:01
ianwpid's can wrap-around, so it's possible20:01
sean-k-mooney... ok ill try the ||/bin/true then20:02
sean-k-mooneyim running the image build in a vm so im not sure if it will make the racy more likely then on a phyical host do to vm timeing being weired/slow20:02
ianwi'm thinking the ignore is probably best ... what can we really do if the kill didn't work? it must mean the process isn't there which was the effect we were looking for anyway20:04
sean-k-mooneyianw: yep that is what i was thinking20:05
sean-k-mooneyianw: thinking about it however if kill did not work it could also mean the process is still running and we should have used kill -920:10
ianwsean-k-mooney: that won't cause the "kill" to exit 1 though, which is what is triggering the halt20:11
ianwit is a bit of a symptom of another issue though ... do you know what's still running that's being killed?  if we can stop it before we get to this point, it's usually better20:12
ianwwe've talked about dumping some more info in that loop to aid debugging iirc20:12
sean-k-mooneyianw: so with the ignore the image build completes http://paste.openstack.org/show/719410/20:13
sean-k-mooneyill hack a ps -aux into the loop and grep for the current pid and see if that shows anything20:14
ianwi'm guessing some daemon that has started20:15
sean-k-mooneyoh i know what it is20:16
sean-k-mooneyim building an image with gradle20:16
sean-k-mooneygradel starts a build deamon20:16
sean-k-mooneyi proably need to kill it after gradle build20:16
sean-k-mooneythat proably would have worked better if i did the ps command before the kill ...20:19
ianwsounds likely ... i have wondered if we're better off without this loop, as it probably does make us look closer at failures like this20:22
ianwbut then again, it probably doesn't matter if we kill an unused build-daemon either20:22
ianwprobably no 100% correct answer20:22
sean-k-mooneyianw: well we proably should not fail but have a very big warning in the log output that we had to kill somthing that should not be running20:23
sean-k-mooneyin my case it was postgress which was also started by the gradel build script when in installed the deb backage ...20:24
sean-k-mooney*package20:24
ianwahh, yeah, so i guess postgres handles signals nicely, but it is the type of thing where you might end up with a corrupted final image if a process doesn't20:26
sean-k-mooneyya i guess that is true. im going to put a post-install action in my element to stop postgress cleanly20:27
sean-k-mooneyianw: one other thing i notices is that the package-install element does not handel unicode well20:27
sean-k-mooneyi got an asci decode error form the console output of having it install java on ubuntu20:28
ianw:/ i feel like we've "fixed" unicode there a bunch of times20:29
sean-k-mooneyianw: is there a reason we dont use oslo.processutils instead of POPEN directly20:29
sean-k-mooneymaybe we would get teh same error but just a taught20:30
clarkbplease no oslo20:31
clarkbianw: I thought tobiash had figured out the reason20:31
ianwprobably related to https://review.openstack.org/#/c/548958/ but i couldn't fully replicate that20:31
clarkbits because we don't init the lcoale stuff before using it20:31
clarkbso it defaults to suepr conservative procedures (I think it may be a race)20:31
* clarkb digs up python docs20:31
sean-k-mooneyianw: yep that is exactly the issue i hit20:32
sean-k-mooneyianw: or at lest that is the exact line that was raising the exception20:32
clarkbianw: https://docs.python.org/3/library/locale.html#locale.getpreferredencoding unviersal newlines uses that function and we don't call setlocale20:33
clarkbiirc tobiash managed to test it and calling setlocale first fixed it?20:33
clarkbI think in the end tobiash decided to fix it that other way beacuse package names won't necessarily come out in your current locale?20:34
clarkbsomething like that, it is an annoying problem20:34
ianwclarkb: so universal_newlines is invalid unless you've called setlocale() first?  that may be what i'm not grokking20:34
clarkbianw: "on some platforms" and we seemed to be able to determine that tobiash's linux was one of them20:35
clarkbI don't know what determines that though20:35
ianwsean-k-mooney: if you're triggering it, what's your platform?20:36
sean-k-mooneyianw: if you want to reproduce just create a element that install default-jdk or gradle on ubunut.20:36
sean-k-mooneyubuntu xenial guest on a centos 7.4 host20:36
sean-k-mooneymy centos host vm is alos just an unmodified cloud image. this is the locale info from the host  http://paste.openstack.org/show/719415/ if that helps but i guess the issue is with the guest locale20:39
clarkbmore specifically its locale as loaded by python in the guest20:39
clarkbsubprocess can't call setlocale due to it not being thread safe I think20:40
clarkbbut we can call setlocale prior20:40
sean-k-mooneyclarkb: ianw: im just heading home but if i can create and example that reprocues reliably ill upload it to github and send it to ye tomorow.20:40
sean-k-mooneyclarkb: ianw thanks for your help.20:41
ianwyeah, that it's inside the newly built guest and locale settings might not be quite sane may be starting to gel as a root cause20:42
*** hasharAway has quit IRC21:11
openstackgerritMichael Johnson proposed openstack/diskimage-builder master: Add pip cache cleanup to pip-and-virtualenv  https://review.openstack.org/56205521:26
openstackgerritMichael Johnson proposed openstack/diskimage-builder master: Add pip cache cleanup to pip-and-virtualenv  https://review.openstack.org/56205521:30
openstackgerritPaul Belanger proposed openstack/diskimage-builder master: Revert "debootstrap: Call update-initramfs explicitly"  https://review.openstack.org/56200421:47

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