*** pcrews has quit IRC | 02:36 | |
*** flaper87|afk is now known as flaper87 | 06:34 | |
flaper87 | Shrews: I actually didn't use the `:` because of what jroll said | 06:35 |
---|---|---|
flaper87 | not sure what's the best thing to do there | 06:35 |
chmouel | good morning | 07:26 |
*** cdent has joined #dox | 09:34 | |
*** l_a_m has joined #dox | 12:29 | |
l_a_m | hi | 12:30 |
jroll | Shrews, flaper87, I've always used '-' for this in the past, e.g. infra/trusty-ironic | 13:19 |
jroll | hiya l_a_m :) | 13:19 |
flaper87 | jroll: good to know | 13:19 |
flaper87 | I'm using it now too | 13:19 |
flaper87 | jroll: mmh, I'm not a docker expert and you seem to know something about it :D | 13:20 |
flaper87 | how can I run a service at "boot" time | 13:20 |
flaper87 | :P | 13:20 |
flaper87 | ? | 13:20 |
Shrews | jroll only pretends | 13:20 |
jroll | flaper87: I've written a dockerfile or two :P | 13:20 |
jroll | yeah | 13:20 |
jroll | mostly pretend | 13:20 |
flaper87 | ohhhhhhhhhhhhhhhhhh ok ok... | 13:20 |
jroll | flaper87: anyhow, you want RUN or ENTRYPOINT | 13:20 |
* flaper87 stops asking embarrasing questions | 13:20 | |
jroll | I think it's RUN that can be overridden during 'docker run', ENTRYPOINT cannot | 13:21 |
flaper87 | jroll: CMD* | 13:21 |
flaper87 | :D | 13:21 |
jroll | oh | 13:21 |
jroll | yeah | 13:21 |
jroll | ok, so you're quizzing me I see :P | 13:21 |
jroll | I haven't finished my first coffee, that isn't fair | 13:21 |
flaper87 | LOL, I just happened to have read that now | 13:21 |
flaper87 | \_/? <- backup coffee for ya' | 13:21 |
* jroll double fists | 13:22 | |
* jroll types with his nose | 13:22 | |
jroll | Shrews: how's the ironic dox file, I'm eager to try it | 13:24 |
jroll | (slash help if there's still stuff to do) | 13:24 |
Shrews | jroll: some issues i'm trying to work around in regard to setting up stuff. mostly minor | 13:26 |
jroll | can I play? :) | 13:26 |
Shrews | yeah. gimme a minute | 13:27 |
Shrews | or 3 | 13:28 |
jroll | ok, no rush | 13:28 |
jroll | Shrews: gah, ironic is so loud right now | 13:40 |
Shrews | srsly | 13:40 |
jroll | Shrews: anyhow, they have the add section to add those files before prep | 13:41 |
Shrews | jroll: oh, so ironic's issue is that our tests fail unless you install ironic (b/c of the stevedore ext loading). | 13:42 |
jroll | aha | 13:42 |
jroll | ok, I'll play around | 13:43 |
jroll | starting with a fresh vm, though, so might take a bit to get setup | 13:43 |
Shrews | we can do the ADD stuff, like zaqar, but the tests fail. that's why i added the multi-command command | 13:43 |
jroll | I see | 13:43 |
Shrews | which negated the need for the ADDs | 13:43 |
jroll | but then requirements are installed at runtime | 13:43 |
Shrews | right | 13:43 |
jroll | which defeats half the purpose, no? | 13:43 |
* flaper87 is having a hard time creating a docker image that executes zaqar in background when it starts | 13:44 | |
Shrews | well, depends on how dox is intended to be used | 13:44 |
jroll | yeah | 13:44 |
jroll | but I don't want to install deps every test run :/ | 13:44 |
Shrews | jroll: and also one reason i added the WIP for the --keep option (so we can easily re-run tests in the same container w/o the setup) | 13:44 |
jroll | ahh | 13:44 |
Shrews | but mordred's handling of commands is funky... so i want to change that | 13:44 |
jroll | ok | 13:45 |
Shrews | commands should either be a list or string, yet it seems to be treated as both.... funky | 13:45 |
* Shrews thinks it should just be a string | 13:45 | |
flaper87 | Shrews: would it be crazy to wrap the commands in an | 13:45 |
flaper87 | ops | 13:45 |
flaper87 | in an "sh script" | 13:45 |
Shrews | flaper87: that's what i'm doing | 13:45 |
flaper87 | Shrews: sweet, looking forward to that | 13:45 |
flaper87 | I think that will probably do the trick for me | 13:46 |
Shrews | flaper87: https://review.openstack.org/#/c/120413/1/dox.yml | 13:46 |
flaper87 | ah well, I was thinking to do that in dox directly | 13:47 |
Shrews | flaper87: well, we CAN do that too. comes out the same | 13:47 |
flaper87 | get the commands from dox.yml, wrap them all in an sh | 13:47 |
flaper87 | yeah but if we do it in dox, we can have a cleaner dox.yml | 13:47 |
flaper87 | commands: | | 13:48 |
flaper87 | blah | 13:48 |
flaper87 | blah blah | 13:48 |
flaper87 | etc | 13:48 |
Shrews | the | doesn't work. we'd need.... | 13:48 |
Shrews | commands: | 13:48 |
Shrews | - blah | 13:48 |
Shrews | - blah2 | 13:48 |
flaper87 | ah yeha, that | 13:48 |
Shrews | i'm open to either way. that's my goal to fix today | 13:48 |
Shrews | flaper87: i'll try it your way first | 13:48 |
flaper87 | Shrews: +1 sounds good | 13:49 |
jroll | Shrews: I wonder if dox should do 'python setup.py develop' before running tests, like tox does | 13:53 |
Shrews | jroll: that fails | 13:53 |
Shrews | for ironic, at least | 13:53 |
Shrews | some setuptools weirdness | 13:54 |
* Shrews has tried many things | 13:54 | |
jroll | dafuq | 13:54 |
jroll | huh | 13:54 |
* jroll will play | 13:54 | |
Shrews | yay! | 13:54 |
Shrews | jroll: but that's what the 'pip install -e .' command is doing | 13:54 |
Shrews | it's the new recommended way to do that, iirc | 13:55 |
Shrews | mordred probably knows why | 13:55 |
Shrews | jroll: do you know if you can mount a directory onto the container *during* 'docker build' ? | 13:58 |
jroll | huh. | 13:58 |
jroll | yeah, there's a VOLUME command | 13:59 |
Shrews | i looked at that, but not sure that does what i want | 13:59 |
jroll | you want to bind mount it? | 13:59 |
jroll | or just add it to the container? | 13:59 |
jroll | as in, do you want changes synced | 13:59 |
Shrews | jroll: what i'd like to do is mount, say, the ironic source directory and do the requirements install *then*, rather than at command runtime | 14:00 |
jroll | yeah, I would probably use ADD for that, the RUN rm -rf ironic | 14:01 |
Shrews | i guess that's one way | 14:02 |
jroll | but idk if that's the best way | 14:03 |
Shrews | jroll: it's probably better to do that at command runtime anyway, in case requirements change | 14:04 |
jroll | well, I'm thinking if requirements change, you rebuild the container | 14:05 |
jroll | or grab the latest container from upstream, I should say | 14:06 |
Shrews | the test image comes from upstream, not the container | 14:06 |
jroll | right | 14:07 |
jroll | but if there is an ironic-trusty image | 14:07 |
Shrews | i don't think we'd want to rebuild that all the time | 14:07 |
jroll | why not have the deps already installed | 14:07 |
Shrews | you could potentially need *a lot* of images | 14:07 |
Shrews | unless you just want the absolute latest one based on current master | 14:08 |
jroll | yeah, I would see an image for each milestone, plus master | 14:09 |
jroll | if someone wants one in between, they can build from source | 14:09 |
*** pcrews has joined #dox | 14:15 | |
Shrews | mordred: how committed are you to this '-c' option and the extra_args stuff? How useful is that? | 14:27 |
mordred | Shrews: well, running arbitrary commands and asking to run just one test is a frequent thing people want to do | 15:18 |
mordred | also, jroll - pip install -e . does the same thing as python setup.py develop - but it uses pip for all of the dependency management, not easy_install | 15:18 |
jroll | right, ++ on using pip | 15:19 |
jroll | I always wondered why we used setup.py to do that | 15:19 |
mordred | because insanity | 15:20 |
mordred | Shrews: you're on a mac? docker/dox works non-insanely? mac was a question I got asked the other day | 15:20 |
jroll | insanity. as we do. | 15:22 |
chmouel | mordred: it doesn't work due of the issue with binded mount | 15:56 |
chmouel | there is a github issue open for that, with some ugly hack using fusemount and other | 15:56 |
chmouel | https://github.com/docker/docker/issues/4023 | 15:56 |
chmouel | seems to have stalled, | 15:57 |
*** cdent_ has joined #dox | 16:27 | |
*** cdent has quit IRC | 16:29 | |
*** cdent_ is now known as cdent | 16:29 | |
Shrews | mordred: i do my dev on my linux laptop. but i have used docker on mac. it uses an ubuntu vm for the docker server | 16:55 |
Shrews | they package it with virtualbox | 16:56 |
Shrews | mordred: so, the way multiple commands is handled now just does not work. like, at all. In order to run multiple commands (like blah and foo) with docker, you have to enclose them like so: sh -c 'blah && foo' | 17:39 |
Shrews | mordred: so handling commands from existing tox.ini's is a bit more complicated | 17:39 |
Shrews | mordred: and this -c and extra_args stuff complicates it even more | 17:40 |
Shrews | so, i'm just not quite sure how to fix this in a sensible way that people would expect it to work :/ | 17:40 |
Shrews | ideally, we'd toss this around in a dox mailing list, but that does not yet exist | 17:41 |
Shrews | i guess we could use a [dox] tag on openstack-dev | 17:44 |
Shrews | not sure if that's appropriate though | 17:44 |
mordred | Shrews: actually, I mean, people do it with crazy projects all the time - why not? | 17:50 |
mordred | (also, sorry I haven't been hacking as much the past two days - turns out people want to have all sorts of crazy meetings with me when I get back from vacation) | 17:51 |
Shrews | mordred: insanity | 17:51 |
* pcrews can attest to Shrews' multiple commands observations: http://paste.openstack.org/show/109676/ | 17:59 | |
Shrews | TNETENNBA... lol | 18:00 |
pcrews | 'tis a go-to test string :) | 18:01 |
pcrews | 'overnumerousness' is a favorite too | 18:02 |
* Shrews thinks pcrews came here to drink milk and kick ass... and he's all out of milk | 18:04 | |
pcrews | So for the multiple images patch - https://review.openstack.org/#/c/119705/ | 18:34 |
pcrews | From looking at it, it allows one to specify multiple images and dox will then run all of prep + command and whatnot on the images (run same stuff on many images). Tests look good for this, btw. | 18:34 |
pcrews | However, the docs - https://github.com/stackforge/dox (under Advanced), make it seem like the goal of multiple images is to specify many image/prep/command chunks that may differ (this also allows for run same junk, just possibly w/ repetitive yaml). | 18:34 |
pcrews | Is the target to eventually hit many-images-doing-different-stuff? Asking as I'm poking + documenting :) | 18:34 |
Shrews | pcrews: we were tossing around the possible need for being able to things like 'prep' per image, because obviously that could be a very image-dependent action (apt-get vs. rpm) | 18:45 |
Shrews | s/to things/to do things/ | 18:45 |
Shrews | not exactly sure what our "target" is yet. this project may morph drastically. or it may die. i think we're all just feeling it out, atm | 18:47 |
pcrews | cool - gracias! | 18:51 |
Shrews | pcrews: One idea I had for this multiple command dilemma is if there is a single command, execute as normal on the docker command line. If there are multiple, save them into a shell script into a .dox directory of the current directory, then just execute that script on the docker command line. | 18:59 |
Shrews | Not sure how the -c/extra_args stuff would interact with that then, but I'm just brainstorming | 18:59 |
Shrews | also, mordred ^^^ | 19:00 |
mordred | Shrews: we _could_ use ansible to execute the commands in the docker container ... | 19:01 |
* mordred hides | 19:01 | |
Shrews | mordred: uh huh. yeah. and we could also redo dox in java | 19:01 |
pcrews | Shrews: that makes sense and aligns with everything I've read for doing the same in docker (consolidate into a 'master' script and run that guy...) | 19:02 |
pcrews | Also, we might need to change the way 'commands' is in the yaml file? As it stands, it doesn't seem to preserve the individual components very well: | 19:03 |
pcrews | INFO|dox.runner|['docker', 'run', '--privileged=true', '--rm', '--user=pcrews', '-v', '/home/pcrews/git/dox:/src', '-w', '/src', 'dox_dox_test', 'python', 'setup.py', 'testr', '--slowest', 'echo', 'TNETENNBA!!', 'env', 'sudo', 'service', 'mysql', 'restart', 'ls', '-al', '/usr/bin', 'mysql', '-uroot', '-e', '<', 'SHOW SCHEMAS'] returned 1 | 19:03 |
Shrews | pcrews: yeah. it would require making it into an array, like 'prep' | 19:03 |
Shrews | commands: | 19:03 |
Shrews | - cmd1 | 19:03 |
Shrews | - cmd2 | 19:03 |
Shrews | the | is wrong for this | 19:04 |
pcrews | cool, the baileys in my protein shake hasn't incapacitated me too badly then :) | 19:05 |
* pcrews also thinks about mordred's ansible proposal and imagines an 'obfuscated infra' contest... | 19:07 | |
openstackgerrit | patrick-crews proposed a change to stackforge/dox: Document multiple images in dox. https://review.openstack.org/120543 | 19:13 |
openstackgerrit | David Shrewsbury proposed a change to stackforge/dox: Better support for multiple commands https://review.openstack.org/120562 | 19:40 |
Shrews | pcrews: mordred: my POC ^^^^ | 19:40 |
Shrews | also, chmouel and flaper87 | 19:41 |
Shrews | and jroll ! | 19:42 |
jroll | hi | 19:42 |
jroll | DO NOT MERGE means "don't look at this" right? ;) | 19:42 |
Shrews | jroll: you don't have to do anything with it if you don't want. low priority, obviously. :) | 19:43 |
jroll | I kid | 19:43 |
Shrews | just an fyi | 19:43 |
* jroll looks | 19:43 | |
jroll | Shrews: looks reasonable, assuming we don't need extra_args | 19:44 |
chmouel | Shrews: the syntax feels makefile'ey imo | 19:44 |
jroll | otherwise could just .extend(extra_args) | 19:44 |
jroll | chmouel: dunno, it's the same syntax as the prep section, etc | 19:45 |
Shrews | chmouel: i don't know how to simplify executing multiple commands any simpler than listing them :) | 19:45 |
chmouel | yeah, i complain i complain but i don't see anything else either ;) | 19:45 |
jroll | Shrews: do we want extra_args in there, though, really? | 19:45 |
Shrews | I could add some makefile target support though, if you prefer :) | 19:45 |
chmouel | and this has been used in ansible as well | 19:45 |
Shrews | jroll: i could see that being useful IFF the command to execute is 'testr'. The extra args could be a single test to execute | 19:46 |
Shrews | (per mordred's example earlier) | 19:46 |
jroll | hmm, ok | 19:46 |
chmouel | Shrews: hahah, that would get me back in the late 90s when i was listening to darude and discovering that thing called linux :) | 19:46 |
jroll | Shrews: I could also see it being extra commands | 19:47 |
Shrews | honestly, i'm not sure how to make the two play nice yet | 19:47 |
* Shrews hoping to spark discussion/ideas | 19:47 | |
jroll | yeah | 19:47 |
jroll | just throwing out initial thoughts | 19:47 |
jroll | keep in mind I barely know how this thing works | 19:47 |
Shrews | jroll: i'm just trying to make your life harder. | 19:48 |
jroll | oh, ok | 19:48 |
Shrews | feel free to ignore me :-P | 19:48 |
jroll | I like making life harder | 19:48 |
jroll | builds character | 19:48 |
openstackgerrit | patrick-crews proposed a change to stackforge/dox: Document multiple images in dox https://review.openstack.org/120543 | 19:49 |
*** lifeless has joined #dox | 20:20 | |
lifeless | oh no peoples | 20:20 |
openstackgerrit | A change was merged to stackforge/dox: Document multiple images in dox https://review.openstack.org/120543 | 20:20 |
Shrews | run. hide. anarchy | 20:20 |
*** mr_jolly has joined #dox | 20:36 | |
*** mr_jolly has left #dox | 20:36 | |
*** flaper87 is now known as flaper87|afk | 22:22 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!