Wednesday, 2019-06-12

openstackgerritKevin Carter (cloudnull) proposed zuul/zuul-jobs master: Isolate installation mode  https://review.opendev.org/66471100:02
openstackgerritMerged zuul/zuul-jobs master: Add multi-distro support to install-docker  https://review.opendev.org/66445500:11
openstackgerritKevin Carter (cloudnull) proposed zuul/zuul-jobs master: Isolate installation mode  https://review.opendev.org/66471100:11
openstackgerritMerged zuul/zuul-jobs master: Add variable to set the docker download url  https://review.opendev.org/66448500:12
*** michael-beaver has quit IRC00:17
*** ianychoi_ has joined #zuul00:18
*** ianychoi has quit IRC00:20
*** jamesmcarthur has quit IRC00:39
*** mhu has quit IRC00:40
*** pabelanger has quit IRC00:40
*** jpena|off has quit IRC00:40
*** fbo has quit IRC00:41
*** mhu has joined #zuul00:45
openstackgerritMerged zuul/zuul-jobs master: Isolate installation mode  https://review.opendev.org/66471100:46
*** jpena|off has joined #zuul00:48
*** igordc has quit IRC01:28
*** spsurya has joined #zuul01:51
*** pabelanger has joined #zuul02:25
*** bhavikdbavishi has joined #zuul02:49
*** kklimonda has quit IRC03:48
*** kklimonda has joined #zuul03:48
*** evgenyl has quit IRC03:49
*** evgenyl has joined #zuul03:49
*** fdegir has quit IRC04:08
*** fdegir has joined #zuul04:09
*** bhavikdbavishi has quit IRC04:31
*** bhavikdbavishi has joined #zuul04:33
*** pcaruana has joined #zuul04:54
*** pcaruana has quit IRC04:59
*** raukadah is now known as chandankumar05:01
*** saneax has joined #zuul05:07
*** saneax has quit IRC05:15
*** igordc has joined #zuul05:58
*** gtema has joined #zuul06:31
*** [GNU] has left #zuul06:34
*** gtema_ has joined #zuul06:35
*** gtema has quit IRC06:38
*** pcaruana has joined #zuul06:56
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213407:13
*** dmellado has quit IRC07:17
*** saneax has joined #zuul07:19
*** gtema_ is now known as gtema07:21
*** fbo has joined #zuul07:25
*** bhavikdbavishi has quit IRC07:26
*** hashar has joined #zuul07:28
*** dmellado has joined #zuul07:29
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690707:37
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690707:40
openstackgerritMatthieu Huin proposed zuul/zuul master: Allow operator to generate auth tokens through the CLI  https://review.opendev.org/63619707:40
openstackgerritMatthieu Huin proposed zuul/zuul master: Zuul CLI: allow access via REST  https://review.opendev.org/63631507:40
openstackgerritMatthieu Huin proposed zuul/zuul master: Add Authorization Rules configuration  https://review.opendev.org/63985507:40
openstackgerritMatthieu Huin proposed zuul/zuul master: Web: plug the authorization engine  https://review.opendev.org/64088407:40
openstackgerritMatthieu Huin proposed zuul/zuul master: Zuul Web: add /api/user/authorizations endpoint  https://review.opendev.org/64109907:40
openstackgerritMatthieu Huin proposed zuul/zuul master: authentication config: add optional token_expiry  https://review.opendev.org/64240807:40
openstackgerritMatthieu Huin proposed zuul/zuul master: [WIP] admin REST API: zuul-web integration  https://review.opendev.org/64353607:40
openstackgerritMatthieu Huin proposed zuul/zuul master: [WIP] Docker compose example: add keycloak authentication  https://review.opendev.org/66481307:40
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213407:41
*** hashar has quit IRC07:49
*** jangutter_ has joined #zuul07:53
*** jangutter has quit IRC07:56
*** jpena|off is now known as jpena07:56
*** hashar has joined #zuul07:59
*** hashar has quit IRC08:07
*** hashar has joined #zuul08:09
*** igordc has quit IRC08:17
*** hashar has quit IRC08:18
*** hashar has joined #zuul08:19
*** hashar_ has joined #zuul08:24
*** hashar has quit IRC08:24
*** hashar_ has quit IRC08:25
openstackgerritFabien Boucher proposed zuul/zuul master: Disable gc in test_scheduler.TestExecutor  https://review.opendev.org/66131608:32
*** bhavikdbavishi has joined #zuul08:49
*** hashar has joined #zuul08:58
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add OpenAPI documentation  https://review.opendev.org/53554108:59
*** hashar has quit IRC09:31
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213409:44
openstackgerritPaul Belanger proposed zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484309:55
pabelangercorvus: tobiash: ^ is a basic attempt to add retry logic for github driver and event processing, would love feedback09:55
*** jangutter has joined #zuul10:02
*** jangutter_ has quit IRC10:06
*** bhavikdbavishi has quit IRC10:18
*** gtema has quit IRC10:27
*** gtema has joined #zuul10:27
openstackgerritPaul Belanger proposed zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484310:27
pabelangerI also wonder if we should maybe step into each event handler and wrap retry logic closer to api functions for github? eg: getPullBySha()10:30
pabelangerbut like I said, feedback welcome :)10:30
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213411:12
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213411:17
*** electrofelix has joined #zuul11:28
*** jpena is now known as jpena|lunch11:35
*** bhavikdbavishi has joined #zuul11:44
*** gtema has quit IRC11:45
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213411:50
ofososHow do you guys run a single test in the current zuul test suite? Like the `tox ...' invocation.11:51
*** rlandy has joined #zuul11:55
*** rlandy is now known as rlandy|ruck12:05
*** sanjayu_ has joined #zuul12:05
*** saneax has quit IRC12:08
*** gtema has joined #zuul12:09
*** jpena|lunch is now known as jpena12:33
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213412:39
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213412:41
*** jamesmcarthur has joined #zuul12:41
*** michael-beaver has joined #zuul12:42
*** bhavikdbavishi has quit IRC12:50
tobiashpabelanger: I'll look later today12:51
*** bhavikdbavishi has joined #zuul12:51
*** bhavikdbavishi has quit IRC12:52
*** zbr|rover is now known as zbr|flow12:53
*** bhavikdbavishi has joined #zuul12:54
SpamapSofosos: just pass the import path of the test. so   tox -epy36 tests.unit.test_git_driver.TestGitDriver.test_basic13:01
openstackgerritMark Meyer proposed zuul/zuul master: Extend event reporting  https://review.opendev.org/66213413:02
SpamapSofosos:also note, there's a useful little pip installable utility, ttrun, which I use a lot to run individual tests so I can be attached directly to the tests' stdout/stderr.13:03
*** rlandy|ruck is now known as rlandy|ruck|mtg13:04
*** jamesmcarthur has quit IRC13:05
ofososSpamapS: thanks, ttrun works really well :)13:19
Shrewsofosos: tox and ttrun will use regex on the supplied test name, so it may still run multiple tests if they match. Running stestr directly can select a single test without the regex13:29
*** pcaruana has quit IRC13:30
*** pcaruana|afk| has joined #zuul13:30
Shrewssomething like:  source .tox/py56/bin/activate ; stestr run -n path.to.test13:30
*** bhavikdbavishi has quit IRC13:32
*** electrofelix has quit IRC13:37
openstackgerritJoshua Hesketh proposed zuul/zuul master: WIP Expose date time as facts  https://review.opendev.org/66467413:38
*** rlandy|ruck|mtg is now known as rlandy|ruck13:39
*** jamesmcarthur has joined #zuul13:46
pabelangertobiash: great, thanks13:56
mhuHello, any blocker on this one? https://review.opendev.org/#/c/535541/ It'd be good to see it merged so I can document the protected REST API in the zuul_admin_web patch chain properly14:11
*** jhesketh has joined #zuul14:18
*** swest has quit IRC14:19
*** ianychoi_ is now known as ianychoi14:22
clarkbpabelanger: on phone and that fails at inline gerrit comments, but it might be good to catch the github server error exception instead of all exceptions if we aregoing to retry14:23
clarkbthis way more fatal errors dont force us into a 5 second pause per event?14:23
pabelangerclarkb: yah, was thinking that too14:23
*** igordc has joined #zuul14:26
corvusmhu: there are errors in the yarn.lock file in that patch; i'm very surprised that the js jobs worked...14:37
mhucorvus, oh my bad, I basically hacked and slashed into that file hoping it'd work as a rebase14:38
mhuwhat's the right way to regen the lock when doing a rebase?14:39
corvusmhu: maybe just checkout the current yarn.lock from master then re-run the add command?14:39
tobiashmhu: yarn install for additional deps, and yarn update for updating all deps14:40
tobiashthe yarn.lock file should never be modified manually14:40
corvustobiash: right, but during a rebase it is modified "manually" (in that git does the modification).14:41
tobiashoh, I guess it should be regenerated after a rebase14:41
clarkbI think you rebase, rm the file, regen the file, git commit --amend14:41
clarkbrm step may not be necessary14:42
corvusyou'll need a 'yarn install' in there too to "re-add" the new package the patch originally added14:43
pabelangerclarkb: should we still trap all exceptions, just not retry, right?14:43
corvusoh, sorry, you won't need to re-add because it's in package.json14:44
clarkbpabelanger: ya14:44
corvusso yeah, what tobiash and clarkb said :)14:44
openstackgerritPaul Belanger proposed zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484314:49
pabelangerclarkb: okay, I think ^ does what you ask14:50
*** rfolco has quit IRC14:52
SpamapSAre the rendered rst's from zuul-jobs published somewhere?14:52
pabelangerSpamapS: https://zuul-ci.org/docs/zuul-jobs/14:53
fungifindable from https://zuul-ci.org/docs/ too14:53
SpamapSoh, duh14:54
SpamapSI looked right past that in the docs page14:54
fungior via the documentation drop-down14:54
fungiin the site's top navbar14:54
fungiwe're well aware that website could use some work to be more readable, so if you think of a better way to organize that stuff it's all in the zuul-website repo in gerrit14:55
fungiit's certainly far from perfect14:56
openstackgerritMerged zuul/zuul master: Fix minor typos in Nodepool OpenStack instructions  https://review.opendev.org/66466514:57
SpamapSI think it's pretty good, but what's missing, glaringly, are examples.14:57
*** sanjayu_ has quit IRC14:58
fungithat would be swell, agreed14:58
SpamapSI'm holding hands with a new user who is adventurous enough to try and write their own jobs... we'll see how it goes.14:58
openstackgerritTobias Henkel proposed zuul/zuul master: Unify gearman worker handling  https://review.opendev.org/66494815:00
openstackgerritTobias Henkel proposed zuul/zuul master: Move fingergw config to fingergw  https://review.opendev.org/66494915:00
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Support ssl encrypted fingergw clients  https://review.opendev.org/66495015:00
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Add ssl support to fingergw client  https://review.opendev.org/66495115:00
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Register finger gateway if it's zoned  https://review.opendev.org/66495215:00
fungiwe have the quick-start tutorial but it stops short of providing example jobs beyond the base job15:00
SpamapSYeah I think we might want to just start dropping zuul config snippets in the job docs, and ansible playbook snippets in the role docs15:01
SpamapSalso I'm surprised how few roles we have in there15:01
fungiif you skim through https://zuul-ci.org/docs/zuul/user/config.html#job you'll see a handful of examples at least15:03
fungiassuming what you're looking for are job examples and not role or playbook examples15:04
fungii mostly expected folks would browse through what's in the zuul-jobs repo for examples, but those are of course less useful as examples of jobs which use the zuul-jobs repo as a source of building blocks15:05
SpamapShttps://www.terraform.io/docs/providers/openstack/r/compute_instance_v2.html15:07
SpamapSI want it to be as simple as that ^^15:07
SpamapSLike "here's how it looks when you use it"15:07
SpamapSThe config.html thing is definitely good, but that's more "here's how zuul config generally works"15:08
* SpamapS will try and add a few examples to demonstrate15:08
fungiawesome, thanks!15:09
fungii've got tests.unit.test_v3.TestCentralJobs (nondeterministically?) hitting what looks like an unclean shutdown in tox-py36... can anybody interpret better? http://logs.openstack.org/70/662870/8/gate/tox-py36/4b27eb7/testr_results.html.gz15:09
fungiran into this on the gate pass of a change which was rechecked and made it through check just fine, so it certainly seems to be an inconsistent result at any rate15:10
Shrewsfungi: odd. i'm seeing some odd failures in the plugin unit tests too. e.x.) http://logs.openstack.org/62/663762/10/check/tox-py36/e550cd7/job-output.txt.gz#_2019-06-12_13_49_54_04224915:15
Shrewsalso  http://logs.openstack.org/62/663762/10/check/tox-py35/db3efff/job-output.txt.gz#_2019-06-12_13_41_33_63718215:17
*** rlandy|ruck is now known as rlandy|ruck|mtg15:17
Shrewsnote the change that depends on that one passed15:17
fungitests.unit.test_v3.TestAnsible28.test_plugins [260.657389s] ... FAILED15:19
fungifixtures._fixtures.timeout.TimeoutException15:19
fungiwe set wait_timeout=180 in test_plugins()15:20
fungibut i'm guessing this is not what actually sets the test timeout?15:20
fungisince the test was allowed to run for 260s before getting terminated15:21
fungii'm also seeing it on 662870 where i raise wait_timeout to 270 and it still dies at ~260s15:21
clarkbthe test timeout is set in the base job as a fixture15:22
fungii think the default (testr?) test timeout is 120s so we must be setting it higher somewhere15:22
clarkber baase test15:22
fungiahh, i'll check there15:22
fungithanks15:22
fungiis that the wait_timeout in BaseTestCase() or something else?15:25
fungiahh, in setUp() we have os.environ.get('OS_TEST_TIMEOUT', 0) which is passed to fixtures.Timeout()15:26
fungilooks like we hard kill the test 20 seconds after that15:27
fungiso we must be defaulting to 240s for that test_timeout value15:27
fungicoming from tox.ini which sets OS_TEST_TIMEOUT=24015:28
fungiso the test dying at ~260s makes sense at least15:28
fungibut it's unclear to me how we'd override that for a specific test while still respecting the envvar and soft/hard logic15:29
*** pcaruana|afk| has quit IRC15:30
fungii don't see any examples in the existing corpus of tests where we override that15:30
clarkbI think we generally bump the global timeout15:32
clarkbits there to prevent the unittests running indefinitely so a few extra minutes is probably fine15:32
openstackgerritFabien Boucher proposed zuul/zuul master: Pagure driver - https://pagure.io/pagure/  https://review.opendev.org/60440415:33
*** hashar has joined #zuul15:37
openstackgerritJeremy Stanley proposed zuul/zuul master: Safely add Ansible password lookup plugin  https://review.opendev.org/66287015:42
openstackgerritJeremy Stanley proposed zuul/zuul master: Increase test timeout to 6 minutes  https://review.opendev.org/66496115:42
fungiclarkb: Shrews: 664961 will hopefully solve that15:42
clarkbanother more involved approach is to split tests into smaller chunks15:46
fungiright15:48
fungicorvus suggested we could shard the plugins testing15:48
fungithough not too heavily as the setup costs for them are significant15:49
tobiashfungi: I think that makes sense, that's one of the most expensive tests15:49
clarkbpabelanger: commented on the retry loop change15:50
*** jangutter has quit IRC15:51
pabelangerclarkb: ack15:53
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Register finger gateway if it's zoned  https://review.opendev.org/66495215:54
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Route streams to different zones via finger gateway  https://review.opendev.org/66496515:54
pabelangerclarkb: do you want to trap 'github3.exceptions.GitHubException' outside of the catch all exception or just change it to more specific expection?15:56
clarkbpabelanger: I only want to retry if the error is related to github specific exceptions that we expect will succeed on a retry15:58
clarkband not rely on every other exception having a break to do that. Though rereading it with comments from a previous ps that is due to the else?15:59
clarkb(mostly i'm worried if we add handling for more exceptions we'll end up stuck in the loop longer than expected)15:59
openstackgerritPaul Belanger proposed zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484315:59
pabelangerclarkb: okay, ^ just retries the current expection I see, 502.  However, there maybe more, but haven't seen it yet.16:00
pabelangerthe for / else was mostly for logging that we couldn't get the info, and maybe in the future report back to PR of the failure16:00
clarkbpabelanger: I think we can drop the else due to the general exception catching16:01
*** gtema has quit IRC16:01
pabelangerkk16:01
clarkband ya the general exception can go up a level16:01
pabelangerclarkb: up a level?16:02
clarkbya writing up a comment16:02
*** hashar has quit IRC16:02
pabelangerthanks16:03
clarkbdone16:05
clarkber it needs the one break16:06
pabelangerclarkb: I see now, thanks16:08
*** pcaruana|afk| has joined #zuul16:09
openstackgerritPaul Belanger proposed zuul/zuul master: Bump default_read_timeout for github driver to 300  https://review.opendev.org/66466716:10
openstackgerritPaul Belanger proposed zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484316:10
pabelangerk, I also rebased away WIP on parent16:10
clarkbpabelanger: ya thats it, and its 11 lines shorter diff :)16:11
pabelanger+116:11
*** bhavikdbavishi has joined #zuul16:12
*** rlandy|ruck|mtg is now known as rlandy|ruck16:12
*** mattw4 has joined #zuul16:13
pabelangerI also updated the ML post with latest info16:23
*** bhavikdbavishi1 has joined #zuul16:31
*** bhavikdbavishi has quit IRC16:32
*** bhavikdbavishi1 is now known as bhavikdbavishi16:32
Shrewsfungi: thx for the timeout patch. these timeout failures are getting annoyingly consistent for some reason16:36
fungiShrews: likely we're getting some slower nodes with greater frequency than usual in opendev16:42
smcginnisclouds.yaml and container question for folks - I16:44
smcginnisI'm using https://opendev.org/zuul/zuul/src/branch/master/doc/source/admin/examples as a base to build off of.16:44
corvustobiash: can you +3 https://review.opendev.org/661316 ?16:45
smcginnisI've updated my nodepool config to use my openstack cloud. I'm including a cloud.yaml that gets mounted in /etc/openstack in the container.16:45
corvus(clouds.yaml with an s, but i'm assuming you got that)16:45
smcginnisI'm not seeing any activity though. Should I see something in the executor logs of at least trying to connect to my cloud?16:45
smcginniscorvus: Yes, sorry, I meant clouds.yaml.16:46
corvussmcginnis: zuul doesn't know anything about openstack at all -- that's nodepool, so you'd look in the nodepool launcher container for logs16:46
corvussmcginnis: this container: https://opendev.org/zuul/zuul/src/branch/master/doc/source/admin/examples/docker-compose.yaml#L9416:46
smcginnisAh, that would be "example_node_1", right?16:46
corvussmcginnis: example_node_1 is a static worker node.  in the quickstart, nodepool is only configured to use the static node driver, with that node as the static node.16:47
corvussmcginnis: so you will also need to change the nodepool config to tell it to use openstack16:47
corvussmcginnis: here's the nodepool config which gets bind-mounted into the nodepool launcher container: https://opendev.org/zuul/zuul/src/branch/master/doc/source/admin/examples/etc_nodepool/nodepool.yaml16:48
smcginniscorvus: Yep, updated etc_nodepool/nodepool.yaml with that and added my nodepool key to etc_zuul/zuul.yaml.16:48
tobiashcorvus: done16:49
corvussmcginnis: ah, ok.  the next things i would do would be to drop the static driver from that config if you didn't already (just to make sure that everything nodepool does from there out is with openstack).  you can add the "min-ready" option to your openstack nodepool config to tell nodepool to spin up nodes before zuul requests them.  that will help you get everything working with nodepool without having to16:49
corvusget zuul involved.16:49
corvussmcginnis: basically, setting "min-ready: 1" will tell nodepool to always make sure there is a node ready.  then you can check the launcher logs to see how it's doing spinning up that node.16:50
corvussmcginnis: https://zuul-ci.org/docs/nodepool/configuration.html#attr-labels.min-ready16:50
smcginnisI set min-ready to 1, but I never see any activity. Shouldn't there be an "example_launcher_1" container created?16:50
Shrewssmcginnis: if you use the openstack driver, no containers are used. the example_launcher_1 container is used with the static driver16:51
smcginnisShrews: Oh, I assumed the launcher was needed if you were *not* using static.16:52
Shrewssmcginnis: umm, i think wires are getting crossed here  :)16:52
smcginnisI'm still learning, so probably. :) I had just assumed nodepool-launcher was what would use the openstack driver to launch new instances.16:53
corvussmcginnis: docker-compose-up should have created a container called "example_launcher_1" when you first ran it in which the nodepool launcher is run.  without that, zuul would be unable to run any jobs which require nodes at all.16:53
Shrewscorvus: what are the static nodes named?  'node'?16:54
smcginnisI did have an example_node_1 container.16:54
corvussmcginnis: it does that, but it uses whatever driver you tell it, so it also manages static instances16:54
corvusShrews: yes16:54
Shrewsah yeah. ok16:54
smcginnisNo launcher though, which I guess sounds right then since I've since switched to the openstack driver.16:54
corvusit's just one static node atm16:54
corvussmcginnis: you should find out why your example_launcher_1 container is not running.  perhaps it crashed, and docker logs will tell you why16:55
Shrewssmcginnis: i probably confused the discussion then. it's the 'node' container that you don't need16:55
smcginnisShrews: OK, that makes a little more sense.16:55
smcginnisAnd since re-docker-compose-up'ing I do now see a launcher_1.16:56
smcginnisNo node created on my cloud, but at least I have somewhere to look for clues now. Thanks!16:56
smcginnisAnd bingo, looks like it doesn't like my clouds.yaml: "keystoneauth1.exceptions.http.BadRequest: Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect."16:57
tobiashpabelanger: retry lgtm16:58
tobiashpabelanger: but the note probably will never be addressed because we don't know in advance if we would trigger something so we cannot decide if to report16:59
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690717:01
openstackgerritMatthieu Huin proposed zuul/zuul master: Allow operator to generate auth tokens through the CLI  https://review.opendev.org/63619717:01
*** rfolco has joined #zuul17:02
smcginnisOK, next question (probably an easy one that I don't really want to hear the answer to) - can things work with provider networking, or does nodepool assume the "typical" Neutron networking?17:03
smcginnishttp://paste.openstack.org/show/752828/17:03
tobiashsmcginnis: sure it just works normally17:04
tobiashYou might need to mark the network as routes_externally in clouds.yaml17:05
pabelangertobiash: thanks for review, I also agree17:05
*** mattw4 has quit IRC17:05
smcginnistobiash: Thanks, I'll give that a shot.17:05
tobiashsmcginnis: If the network is marked like this nodepool won't try to assign a fip17:06
fungiyou can also explicitly indicate it in the network info in your clouds.yaml17:06
fungi(see the openstacksdk docs for details)17:06
smcginnisSo regions.values.networks.routes_externally: true?17:07
funginodepool basically just asks the sdk to figure out an externally-routable interface, so whatever it takes to convince the sdk of that17:07
*** mattw4 has joined #zuul17:07
tobiashsmcginnis: like this: http://paste.openstack.org/show/752829/17:08
fungihttps://docs.openstack.org/openstacksdk/latest/user/config/network-config.html17:09
fungilooks like yes17:09
fungithe openstack driver docs for nodepool lead there, but it's sorta buried here https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[openstack].cloud17:11
smcginnistobiash: "networks" or "regions"?17:11
tobiashI have networks17:11
tobiashI have one cloud with provider network too17:12
*** jamesmcarthur has quit IRC17:12
fungithe sdk example also does it in your networks list17:12
*** jpena is now known as jpena|off17:13
smcginnisOK, the only thing I came across before was https://docs.openstack.org/openstacksdk/latest/user/config/configuration.html#per-region-settings17:13
smcginnisUsing networks, but I'm still getting the "Neutron returned NotFound for floating IPs" message.17:14
smcginnisMust have typo'd something.17:14
tobiashsmcginnis: if you use regions, then networks within the region17:14
tobiashI don't have regions there17:14
openstackgerritMatthieu Huin proposed zuul/zuul master: Allow operator to generate auth tokens through the CLI  https://review.opendev.org/63619717:14
fungiyou probably also have to restart the launcher container if you change the nodepool config17:14
openstackgerritMatthieu Huin proposed zuul/zuul master: Zuul CLI: allow access via REST  https://review.opendev.org/63631517:15
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: DNM: test base-test  https://review.opendev.org/66498117:15
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: DNM: test base-test  https://review.opendev.org/66498117:16
smcginnistobiash, fungi: Anything obvious with this: http://paste.openstack.org/show/752830/17:17
tobiashthat looks correct according to the docs above, is the network name correct?17:18
tobiashand does nodepool use the same network?17:18
smcginnisYep, double checked and my network is "provider". They are all on the same subnet.17:19
tobiashis this the only network visible in the tenant?17:19
*** spsurya has quit IRC17:19
smcginnisYep, only network defined at all.17:19
smcginnishttp://paste.openstack.org/show/752831/17:20
tobiashcan you try without specifying the regions in the clouds.yaml?17:21
tobiash(like in my example)17:21
smcginnisComing right up.17:21
pabelangerhttps://github.com/ansible-network/windmill-config/blob/master/nodepool/clouds.yaml.j2#L9 is an example of using regions, we do that on limestone to fix an issue with on of their networks. Mind you, it might have been fixed in openstasksdk now too17:21
tobiashthat works with recent nodepool and my ancient juno or icehouse based cloud17:22
fungihttps://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[openstack] also has a sizeable providers example if you're looking for one to compare against17:23
smcginnisSame error. Would I maybe also need floating_ip_source: None17:23
tobiashthe floatingip-source way is also worth a try17:23
*** ianychoi has quit IRC17:25
smcginnisOK, adding that got rid of the error message.17:25
tobiash:)17:25
smcginnisStill no instance created. Should that be fairly quickly after starting, or does it take some time to realize it needs to create one?17:26
fungiout of curiosity, does your pools list entry in the nodepool config have a networks list containing that network name?17:26
smcginnisfungi: No, it does not.17:26
smcginnishttp://paste.openstack.org/show/752832/17:27
fungithe examples i linked in the driver documentation there have it, but not sure if it would have helped17:27
fungipresumably if there is only one network available, specifying it in the nodepool config should be unnecessary17:27
fungiis nodepool configured to use an existing image in your cloud, or to build and upload one? if the latter, the nodepool-builder will activate to create the image and then upload it to the provider17:28
smcginnisIf I have http://paste.openstack.org/show/752832/ right, it should be using my existing image "Ubuntu-18.04"17:28
smcginnisAt least that was my intention.17:29
fungiahh, i see in the pool config you have an ubuntu-bionic label using the Ubuntu-18.04 image17:29
fungiyeah17:29
corvuslet me update that config fore you, 1 sec17:29
corvussmcginnis: i think it should look more like this: https://etherpad.openstack.org/p/tPSbGVxjl617:31
pabelanger+117:31
smcginniscorvus: Oh, thanks. I'll try that.17:31
smcginnisNo errors, but still no instances being created.17:34
tobiashsmcginnis: what does 'nodepool list' say?17:34
smcginnistobiash: I put the output at the bottom of https://etherpad.openstack.org/p/tPSbGVxjl617:36
pabelangeryou likely need another name then ubuntu-bionic, since that might be the min-ready of 117:36
pabelangerfor the label17:36
tobiashsmcginnis: there is a ready node listed, that's why nodepool doesn't create another ine17:36
smcginnisIs that left over from the static node? "static-vms"17:37
tobiashoh yes, can you try 'nodepool delete 0000000003' ?17:37
pabelangersmcginnis: https://zuul-ci.org/docs/nodepool/operation.html#removing-a-provider is likely the step you missed17:38
tobiashif that doesn't work, you need to delete that znode from zookeeper17:38
corvusit may not know how to delete it with the static driver gone, so you may need to put the config for that back and set max-servers to 0 and remove it17:38
corvusdon't delete the node from zk17:38
pabelangeragree with corvus17:38
smcginnispabelanger: Ah, thanks. I should have read more. I just stopped containers, updated the configs, and started again.17:38
corvussmcginnis: or, if you want, you could delete the zk container and start over :)17:39
smcginnis\o/ ubuntu-bionic-mycloud-000000000417:39
pabelangeryay17:40
smcginnisLooks like that did it. I will try to get these steps written down to make sure it creates a clean config.17:40
tobiashpabelanger: if you have time, this would be a small review that cleans up leftover from multi-ansible: https://review.opendev.org/66143517:40
smcginnisThanks again all. Still learning, but hopefully once I get this all written down it will prevent future questions being repetitive.17:40
fungifiguring out why you needed to explicitly disable fip in the config would probably also be a good idea17:41
smcginnisMaybe the log message was just a red herring?17:41
pabelangertobiash: sure, will look shortly, going to take a walk down to lake. Is real nice out today :D17:41
tobiashmaybe because there is no neutron there at all?17:42
tobiashin my cloud I think there is a neutron using provider network17:42
tobiashmaybe that's the difference17:42
tobiashpabelanger: enjoy the lake :)17:42
smcginnisThere is neutron, just no FIPs17:42
fungiunless it's an old enough cloud to still be using nova-network i expect neutron would be present17:43
smcginnisrocky, so should be good.17:44
*** jamesmcarthur has joined #zuul17:45
*** jamesmcarthur has quit IRC17:45
*** jamesmcarthur has joined #zuul17:45
ofososPhew, finally homing in on the completion of the test cases for Bitbucket. Basic stuff is running. It's still missing the plain ref, tags, branches and enque and deque stuff. Not talking about cross driver interaction.17:56
smcginnisSorry, one more question. Can I get zuul/ansible to use /usr/bin/python3 via a setting somewhere? Getting "/bin/sh: 1: /usr/bin/python: not found\\n" in the logs when it tries to set up the node for a test run.18:03
smcginnisI see nodepool has providers.cloud-images.python-path, but don't see anything to set ansible_python_interpreter18:04
tobiashsmcginnis: I think the according change in zuul has not landed yet18:04
smcginnistobiash: OK, so just limited to probably a setup task to make sure py2 is installed first for now?18:04
clarkbit was hard setting python2 becaus eansible wasn't reliable on 3 yet at the time. But latest ansible is probably much better?18:05
tobiashsmcginnis: but as a workaround you can set it with host-vars on the job: https://zuul-ci.org/docs/zuul/user/config.html#attr-job.host-vars18:05
smcginnisOK, I'll give that a shot.18:07
pabelangerwe need some more eyes on https://review.opendev.org/637339/ for python3 support18:07
pabelangertobiash: +318:07
smcginnistobiash: Which var should I set?18:08
tobiash\o/18:08
tobiashsmcginnis: ansible_python_interpreter18:08
smcginnistobiash: Cool, thanks.18:08
pabelangershould promote jobs be running in gate for zuul?18:19
openstackgerritMerged zuul/zuul master: Disable gc in test_scheduler.TestExecutor  https://review.opendev.org/66131618:19
pabelangerI just noticed this failure: http://logs.openstack.org/67/664667/3/gate/opendev-promote-javascript-content/18a78ba/job-output.txt.gz18:19
pabelangerclarkb: corvus: tobiash: mordred: https://review.opendev.org/664006/ is break gate pipeline, can we remove +A?18:22
pabelangerthat is opendev tarballs job18:22
clarkbpabelanger: it can't merge until it works aiui18:23
pabelangerclarkb: okay, this is the error I am seeing: http://logs.openstack.org/67/664667/3/gate/opendev-promote-javascript-content/18a78ba/job-output.txt.gz#_2019-06-12_17_51_27_57532818:23
clarkbright that change hasn't merged yet18:24
clarkbits being used to iterate on a working pipeline18:24
pabelangerokay, so reading commit message, follow up is to remove18:25
SpamapSdid we ever figure out if promote-style pipelines guarantee ordering?18:26
corvuspabelanger: yeah, looking at that, i think because of the way sql caching works, we might actually break the gate pipeline with that trick18:26
SpamapSor specifically, supercedent pipelines18:27
pabelangercorvus: okay, great. I didn't know it was expected result18:27
corvuspabelanger: so i think you're right, now that those jobs are passing, we should -1 it and re-do it without them.18:27
fungiSpamapS: only if the job is unique to that project+branch i believe18:27
pabelangerSpamapS: yes, we are using it for zuul.a.c now18:27
corvuspabelanger: it wasn't, i think you caught an error :)18:27
pabelangerOh, yay18:28
fungiSpamapS: so if you have the job updating some shared external resource and triggered from multiple branches or projects, then there's no guarantee the same job won't run multiple builds concurrently and race on updating that shared resource18:28
pabelangercorvus: should I remove workflow?18:29
SpamapSfungi: even if I put a semaphore on it?18:29
corvuspabelanger: no18:29
pabelangerack18:29
openstackgerritJames E. Blair proposed zuul/zuul master: Add opendev tarball jobs  https://review.opendev.org/66400618:30
fungiSpamapS: i think that may solve it? i have to refresh my memory on whether semaphores are global18:30
fungior at least pipeline-wise18:31
fungis/wise/wide/18:31
SpamapSeven if they're just pipeline-local that's enough18:31
corvusglobal18:31
pabelangerSpamapS: fungi: yah, we use a semaphore for our promote job, with multiple projects able to trigger the job18:31
fungiyeah, that ought to cover the remaining race then18:31
SpamapSYeah I have a semaphore and I'm about to add a 2nd repo to promote18:31
pabelanger++18:31
SpamapSso just wondering if that will work the way I want.18:31
pabelangerI believe it will18:31
fungigranted, using a semaphore in a regular independent pipeline likely produces the same resuly18:31
SpamapSsupercedent should just avoid wasteful extra promotions18:32
fungisupercedent pipelines mostly just shine for that, right, deduplication of builds18:32
SpamapSalso can I add a delay to supercedent pipelines? I often land 3-5 changes about 30s after each other and they currently all run promote18:32
fungihuh, i don't think there's a pipeline delay feature but that sounds like an interesting addition18:33
SpamapSyeah because it's really never hitting superceding.18:34
SpamapSI don't have quite the volume where I'm landing 10 - 15 commits and thus want to skip lots of promotes18:34
SpamapSIt's just slow enough to suck18:35
corvusyou should be able to see it in action with 3 changes18:35
corvusoh, unless the promotes are fast18:35
SpamapShttps://photos.app.goo.gl/LQZRVd5SxsowWC7b818:36
SpamapSThis is a very common state for us18:36
SpamapSPromote is 2 minutes18:36
SpamapSbuild and push is longer18:36
corvusSpamapS: if promote takes 2 minutes and you approve 3 changes 30s apart, you should see the middle one disappear if the pipeline is supercedent18:38
fungii think if there were a pipeline delay option the way it could work is enqueue changes immediately but keep the active window at 0 changes, if creating a new queue, then increase the active window after the queue has existed for the delay period18:38
corvusSpamapS: (also you have a syntax-error alarm bell in the top right)18:38
corvusyeah, i think the option would be a good one.  it would be slightly more efficient for the case SpamapS describes (at the cost of some additional time to the first promotion)18:40
SpamapScorvus:WHOA THAT IS COOL18:41
SpamapSI didn't notice it18:41
SpamapSI knew about the error18:41
SpamapSbut... that's cool as hell18:41
*** igordc has quit IRC18:43
fungiyou tend not to spot it because it's only there when there's an error18:44
SpamapShave you tried <blink>18:47
SpamapS?18:47
corvusit's under construction :)18:47
fungia barbed wire horizontal rule, spinning skulls and flaming text should make it a little more obvious18:48
*** bhavikdbavishi has quit IRC18:54
SpamapSfungi: stop stealing designs from my geocities page18:54
tobiashwow, I've just discovered this: https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.8.html#jinja-undefined-values18:58
tobiashthis alone makes it worth upgrading to ansible 2.8 :)18:58
pabelangertobiash: yah, ran first 2.8 job on zuul.o.o other night, worked as expected19:00
pabelangerI think once I get some of these github issues under control, I'll have time to push on 2.8 default19:01
SpamapSyeah that's beautiful19:01
pabelangerSpamapS: clarkb: did we ever figure out steps for next release of zuul? cc corvus19:02
clarkbI'm happy to release the last commit opendev restarted on I think19:03
tobiashI think we should land https://review.opendev.org/637339 before the next release because the according nodepool change has already landed19:05
tobiashalso https://review.opendev.org/661096 (squash merge) and parent would be something useful for github users (but not urgent for next release)19:07
clarkbmy test concern was never addressed in that change fwiw19:10
clarkbI don't think it is the end of the world but the test is asserting the old behavior not the new one19:10
tobiashclarkb: the default is /usr/bin/python where the test asserts for 'python2' which is different19:22
tobiashSure the result will be the same interpreter in the end but we're only asserting vor the variable value19:23
openstackgerritMerged zuul/zuul master: Bump default_read_timeout for github driver to 300  https://review.opendev.org/66466719:25
pabelangerclarkb: I left a comment related to your test comment, not sure if you seen that19:29
clarkbpabelanger: I did, I don't think your concern matters for the test suite because we control that19:29
clarkb(basically we'd have to require python3 for testing zuul which is already true)19:30
clarkbcurrently we require python2 and python319:30
pabelangerhmm, I guess that is right19:30
pabelangerhowever, in that context, isn't this the remote node from nodepool? I'm unsure if anything is using python3 yet for testing19:31
pabelanger(remote ansible I mean)19:31
clarkbpabelanger: its the "remote" local node in the test suite19:31
clarkbI think it usually sshs to localhost19:31
pabelangerOh19:31
pabelangerfor some reason I thought is was multinode19:31
pabelangerthen, yah, I agree19:32
pabelangerI can push up that change and see what happens for zuul19:32
clarkbbut tobiash is right the test sets 'python2' and the default it /usr/bin/python2 so we are checking a difference19:32
pabelangerk19:33
clarkbany reason to not approve it at this point?19:33
pabelangerdon't think so19:33
pabelangerI can rebase 659812 while we are at it for more test coverage19:33
clarkbok approved19:34
pabelangeryay19:34
pabelangertobiash: are you running 661096 in production?19:35
tobiashpabelanger: not yet19:35
*** jamesmcarthur has quit IRC19:36
pabelangerack19:36
tobiashI try to minimize the patches we run on top of master19:36
pabelanger+119:37
tobiashAnd this was not critical19:37
pabelangeryah, nice to have for sure. I've had potential ansible teams asking for that19:38
pabelangercool to point to patch in progress19:38
*** jamesmcarthur has joined #zuul19:43
Shrewstobiash: was there a reason for not adding the +W to https://review.opendev.org/649214 yet?19:47
corvusweren't we going to move those jobs out of nodepool?19:49
Shrewscorvus: i seem to remember talk of that, but no plan of action19:50
tobiashShrews: I wasn't sure if you or corvus want to look at that because it's more opendev infra related19:51
Shrewscorvus: are you suggesting a hard cut on supporting such changes... because I could get behind that.  :)   i hate nodepool has to test things that aren't nodepool19:52
corvusi don't think it needs to be a particularly sophisticated plan.  i think it's wrong for those jobs to run on nodepool.  i'm not going to -2 it, but i'm pretty reluctant to +2 it.19:53
tobiashSo it's good that I didn't +w it19:56
Shrewscorvus: what about we +3 this one, but with a comment that we'll not accept future changes. that may at least get the ball going on moving them dib19:56
Shrewsto* dib19:56
corvusShrews: wfm19:57
*** mattw4 has quit IRC19:58
Shrewsianw: i left a comment on the approval of https://review.opendev.org/649214 based on the above conversation20:01
corvuswe're probably in a much better place to consider how to re-do those jobs in dib than the last time we talked about this20:01
corvustobiash, clarkb, fungi: i'm satisfied that the promote jobs are working well enough to land this: https://review.opendev.org/66400620:02
corvus(it no longer self-tests the promote jobs in gate since pabelanger discovered the problem with that, however, we did see them function in the previous patchset, so i think it's good)20:03
Shrewstobiash: no problem. i just wasn't sure if there was something else i wasn't considering. thx20:04
corvusclarkb, fungi: i'd also like to make this improvement: https://review.opendev.org/665009  but i think we can land it in any order20:04
corvus(you can see the result here: https://tarballs.opendev.org/zuul/zuul/ )20:04
fungiahh, so that also gets us the separate name for zuul-master-js-content.tar.gz20:06
fungii wonder if extra shouldn't be before branch?20:07
corvusfungi: yep20:07
fungithough that would make it harder to implement20:07
corvusi think it would be easy?20:07
corvusand i could go either way on that20:08
fungioh, maybe20:08
fungithinking is that it would be more in keeping with having the artifact version in the end20:08
corvusjust change the placement of the "name_extra" thing in "name_target"20:08
fungiso zuul-js-content-4.5.6.tar.gz rather than zuul-4.5.6-js-content.tar.gz20:08
corvusoh there's no version20:09
corvussee https://tarballs.opendev.org/zuul/zuul/20:09
fungiright, in this case it's a branch name20:09
corvusah i see what you're saying20:09
fungijust saying it would be *consistent* with where we'd expect to find a version in similar tarballs if published side-by-side20:09
fungisorting would be weirder otherwise20:09
corvusthough we have the "-py2-non-any" suffix at the end for the wheel20:10
corvusbut if we had the version there, it would be earlier20:10
corvusfungi: our current system agrees with your inclination -- the original name of the tarball is "zuul-content-latest.tar.gz"20:11
* corvus repaints the shed20:11
corvusdone20:12
fungiyeah, the wheel spec combines version and platform indicators, but i'd consider that all part of the version for the artifact effectively20:13
fungiwith wheels, the expectation is you may have multiple wheels for the same version but different platforms, which is why they decided that goes after the version (so the versions sort together rather than the platforms sorting together)20:17
corvusmakes sense20:19
*** jamesmcarthur has quit IRC20:23
fungione other reason i can see for doing it as project-extra-branch is that if we ever decide we want to move the js content to a new zuul-js-content repo, the artifact name stays the same20:25
fungiperhaps a minor consistency since this job would start writing it to a different directory20:26
pabelangerHmm, I just noticed zuul and nodepool don't share the same change queue. Should we do that becasue of zuul-quick-start job?20:30
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690720:31
*** rf0lc0 has joined #zuul20:33
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add OpenAPI documentation  https://review.opendev.org/53554120:35
*** rfolco has quit IRC20:36
*** mattw4 has joined #zuul20:36
corvustobiash, Shrews: in order to move nodepool to the zuul tenant, we would need to include devstack and all of its required projects in order for the functional jobs to work20:39
corvuswe could either do that, or we could go ahead and rework the functional job not to inherit from devstack20:40
openstackgerritMerged zuul/nodepool master: Add Debian Buster boot tests  https://review.opendev.org/64921420:40
corvusclarkb: ^ also20:40
tobiashDoesn't it need devstack in any case to be able to use a cloud?20:42
corvustobiash: yes, but it doesn't need to be implemented as a plugin and inheriting from the devstack job... it could run devstack like a normal user would, or we could use OSA (which might be simpler and faster at this point)20:43
tobiashAh ok20:44
fungiosa would be good insofar as it's also ansible20:44
fungiso better alignment with the tooling already in use for zuul20:44
pabelangerOSA would be neat, i started work on a deployment of it via zuul a few months ago. I found it pretty easy to work with20:46
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690720:46
clarkbI don't know that osa is faster20:47
corvushrm, apparently the expected runtime of osa is 45-60m; that doesn't sound faster than devstack20:47
clarkbI asked about that in th ereplace devstack with osa thread and well no one wanted to tell me how much faster it was :)20:47
corvusdoesn't it use container images?20:48
pabelangerlxc / systemd when I last looked20:48
clarkbnot prebaked ones. They install into a venv in a lxc container iirc20:48
corvusooooh.  well, yeah, that's not advantageous then.20:48
clarkbso the containre is really there to isolate the deps I think20:48
corvusokay.  kolla-ansible then?20:49
clarkbmaybe? I don't know they are any faster either because their images are massive20:51
clarkb(so a lot of time is spent doing io)20:51
corvusclarkb: maybe io from our caching proxy is ok?20:51
clarkbya I don't think its problematic other than I don't think it is actualy faster than devstack20:52
openstackgerritMerged zuul/zuul master: Add retry logic to github event handler  https://review.opendev.org/66484320:52
corvusloci?20:53
clarkbloci likely is the best bet if that is our criteria20:53
fungii think you still need some framework to configure and deploy as loci is just images?20:53
funginot positive about that though20:54
fungii know it's targeted at being much lighter-weight images at least20:54
openstackgerritMatthieu Huin proposed zuul/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.opendev.org/57690720:54
corvusfungi: hrm.  that sounds like work.20:56
corvusdoes anything out there use loci?20:58
clarkbhogepodge: ^20:59
fungithat's who i was about to ask too ;)21:00
corvusclarkb: maybe git clone devstack && ./stack.sh is the way to go.21:02
corvushrm... maybe we could apt-get install openstack.21:03
clarkbfor all of devstack's problems it does address this particular use case reasonably well. I suppose we don't need to test againts future openstack though which may introduce unexpected problems (stable would be fine)21:03
corvusclarkb: yeah, the only thing that rubs me the wrong way about devstack is that i don't really want to install git master of everything21:05
corvusi'd like to just install the latest release21:05
corvus(after all, very few of the clouds nodepool i used with actually run git master :)21:06
openstackgerritMerged zuul/zuul master: Fix test-logs.sh utility for multi-ansible  https://review.opendev.org/66143521:06
clarkbyou can have devstack deploy stable/foo reasonably well but that is still from tip of that brnach21:06
corvuss/i/is/21:06
corvusi'm guessing installation with packages would have the same coordination work necessary for loci21:07
corvus(with ubuntu packages)21:08
clarkbI believe zigo said the debian packages will get you a working cloud out of the box with minimal debconfing21:08
clarkbthey use sqlite but maybe that is good enough for this use case21:08
corvusoh interesting21:09
*** rf0lc0 has quit IRC21:09
corvusall right, how about this: why don't i take a little bit of time and see what a plain-devstack job looks like for nodepool.  most of the work there is going to be refactoring the job itself to not be a devstack plugin.  once that's done, if we like it we can switch to it.  and at any point, we can swap in other ways of deploying openstack (loci/debian/etc) and see if they're any faster/more reliable/etc...?21:11
clarkbwfm21:11
corvusShrews, tobiash, fungi: ^21:11
clarkbwe can like have a docker compose thing that starts a nodepool after devstack is done doing its thing. Then if you swap out another deployment tool for openstack the nodepool bit remains fixed21:12
corvusoh interesting...i was thinking of just doing a source python install... but we could docker-compose and depend on the buildset registry21:14
*** pcaruana|afk| has quit IRC21:16
corvuswhy is there a "-py35" component in the functional job name?21:19
clarkbI think because it is running using python 3.5 on xenial21:20
clarkbfor the services (devstack and nodepool)21:20
corvusthere's nothing about that job which sets that though21:20
corvusafaict it's relying entirely on the behavior of the parent devstack job21:20
corvus(so if devstack switched to py36, we'd be running under py36 and our job would still be called py35)21:21
clarkbya seems it only sets the USE_PYTHON3 flag to true so it will find whatever the platform python3 is21:22
clarkb(there is a way to set the python3 version in devstak and it will fail if it doesn't exist iirc)21:22
corvusclarkb: there's a -src job too, which, if we want to keep it, means we should probably install nodepool from source rather than using the images (so that we can install sdk, glean, etc from source)21:22
clarkbhrm I know those jobs have been really valuable on the sdk side of things (gives them test coverage of real world application)21:23
clarkbon the nodepool side it may be able to assume the others won't break it?21:23
clarkb(though that job exists because well that wasn't always the case)21:24
funginon-devstack-plugin nodepool job using devstack sounds like a good stepping stone21:24
corvusit just occurred to me that we may want to have the image build jobs honor depends-on for things like that (i think right now if we had a nodepool change depends-on an sdk change, when we build the nodepool image, we're still just going to install sdk from pip -- we'd need something like tox-siblings for docker build)21:24
corvusclarkb: yeah, i'm inclined to think we should keep the job around for cross-testing nodepool-sdk changes.  so i think we should concieve of it as a python-install-from-source job rather than a docker-compose thing.21:25
corvus(and we can still have the nodepool project as an untrusted project in the openstack tenant for the purpose of providing that job to sdk; they just won't be able to co-gate)21:27
corvus(and of course likewise adding sdk to the zuul tenant)21:27
clarkbya they don't cogate today iirc21:27
clarkbso that won't be a regression but we'll still have the test coverage21:27
corvusyeah, we should end up in the same place as today21:27
openstackgerritMerged zuul/zuul master: Remove unused code  https://review.opendev.org/66143621:30
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502321:45
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502321:47
openstackgerritMerged zuul/zuul master: Increase test timeout to 6 minutes  https://review.opendev.org/66496121:49
clarkbthinking about cuttinga release, is the python version selector the only thing we need for that?21:54
clarkbif so we can likely restart the opendev zuul with that included soon (though Iwas hoping we'd catch the memory leak in action)21:55
fungithread on openstack-discuss just reminded me, openstack-helm uses loci images21:57
fungiso maybe we could use their helm charts to configure and deploy an openstack in jobs?21:58
clarkblooks like it has been about 2 weeks between memory leak instances22:04
clarkbso our restart the other day likely has a while to go before hitting it again22:04
fungiso we may as well and not hold up zuul release?22:05
fungiand hope we catch it between this release and the next?22:07
clarkbya thats what I'm thinking22:07
corvuswhen i write playbooks for jobs, i start by writing them like this: http://paste.openstack.org/show/752843/22:08
corvusi like that ansible makes that an obvious way to create a process22:08
openstackgerritMerged zuul/zuul master: executor: use node python path  https://review.opendev.org/63733922:08
fungineat way to go about it. start with the outline22:09
fungithen go back and fill in the implementation details22:10
fungidon't even need to decide what sort of module the task will rely on22:10
fungiat least at first22:10
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502322:21
openstackgerritMerged zuul/zuul master: Safely add Ansible password lookup plugin  https://review.opendev.org/66287022:29
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502322:35
*** rlandy|ruck is now known as rlandy|ruck|bbl22:39
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502322:41
fungii suppose once we do the impending zuul restarts for opendev, i can recheck 663119 and it should hopefully work22:45
openstackgerritMerged zuul/zuul master: Add opendev tarball jobs  https://review.opendev.org/66400622:51
hogepodgecorvus: clarkb: openstack-helm uses loci22:58
hogepodgewe've talked with keystone about running their gate jobs in a loci container22:59
hogepodgeinitial patches were sent up a while ago but we haven't followed up on it22:59
*** jamesmcarthur has joined #zuul22:59
fungihogepodge: any feel for whether osh/loci would provide a passable (and ideally faster) means of standing up an arbitrary aio openstack for purposes of testing client/sdk interactions?23:01
fungifaster than devstack i mean23:01
hogepodgeHow fast is devstack? Are you including container build time?23:02
hogepodgeI've been developing this: https://github.com/hogepodge/locistack23:02
hogepodgeIt can bring up a basic AIO in a few minutes, not accounting for container build time.23:03
fungii expect we could reconsume existing loci images. we don't need openstack services from arbitrary source23:04
clarkbhttp://logs.openstack.org/16/665016/2/check/openstack-helm-compute-kit/9bd2716/job-output.txt.gz#_2019-06-12_22_04_36_607672 took about a half an hour from job start to hvaing networks and stuff configured23:04
clarkbwhich is about the same as devstack23:04
fungiis that also building the containers though?23:04
fungier, container images23:05
hogepodgeThe build phase is distinct from the deploy phase, so a set of stable containers could be pre-built. It can take a while to do that build. 15 minutes or so for the requirements container then another 15 minutes to build the service containers in parallel23:06
clarkbI don't think that job is building images23:06
fungiif it's fetching images from somewhere, we could likely fetch the same ones23:07
*** jamesmcarthur has quit IRC23:08
clarkbthe logs aren't terribly verbose about hwere it is getting things from.23:11
*** michael-beaver has quit IRC23:12
hogepodgeCan you point me to the job you want to run? I can see if I can run the test against it23:15
fungiit's currently a devstack plugin which starts nodepool and then configures it to allocate/free server instances in the devstack-managed nova et al23:16
fungiwork is being done to replace the devstack plugin so it doesn't have to be dependent on devstack as the deployment implementation23:17
fungimostly we were investigating options for replacing devstack in that context23:17
fungithe goal is simply to be able to test that changes to nodepool's openstack driver continue to work with openstack23:18
fungiso we don't really have the same need of testing changes to openstack itself which devstack was designed for23:19
clarkbhowever at least one of the alternatives is 2-3x slower than devstack so we don't want to replace devstack with something slower23:19
fungiright, pretty much that23:20
hogepodgeLet me work on some timing numbers and get them to you tomorrow afternoon.23:20
fungii guess the question is whether there are more optimal solutions for quickly deploying a small, running openstack on an 8gb ram test node23:20
fungiso loci came up as a possible alternative23:21
clarkband for a sense of the services needed, nodepool wants nova, neutron, and glance. It doesn't need cinder or swift to test what it does23:21
clarkb(that set implies keystone)23:21
corvushogepodge: any particular shortcoming of opendev that lead you to prefer github for that?23:22
fungiit likely predates his involvement in loci23:22
hogepodgecorvus: I was working on that as a poc, moving that project to opendev is in the plans23:23
fungioh, i see, the locistack thing23:23
corvuscool, it's got a groovy ci system that would be really useful for that i think :)23:23
hogepodgeI didn't want to create a repository that I would try ideas on then throw away (there are about three revisions of this particular project). One of the work items for loci is to do integrated testing on the containers so we can tell if they actually work.23:24
fungiand i guess loci itself is already in opendev23:24
hogepodgeYeah, this would be a new addition to it. My own time constraints related to conference travel and speaking are the main thing holding it up now.23:24
corvusyeah, based on what locistack says on the tin, that sounds like exactly the thing we were looking for earlier, so it'll be great to try it out :)23:24
clarkbfwiw each iteration could live in the same repo23:24
corvushogepodge: if it shows up in opendev, i can guarantee at least one gate job will magically appear :)23:25
fungiyeah, locistack looks bang on... i missed the url to that somehow23:26
fungiclarkb: on the roster of services, i suppose we *do* need keystone too, right?23:27
clarkbfungi: ya that was my keystone is implied comment23:27
fungisee, somehow i'm failing to read but alternating comments23:27
fungiit must be after hours for me now23:27
hogepodgeIt's missing a lot of things, ssl termination (it was there before, but I hadn't worked out how to do proper cert management to make glance and swift happy to talk to one another, so I pulled it out)23:28
openstackgerritJames E. Blair proposed zuul/nodepool master: WIP: new devstack-based functional job  https://review.opendev.org/66502323:28
clarkbsome services work without keystone but I don't think that set in conjunction with each other do23:28
fungihogepodge: we've got a solution for that in opendev's jobs if you want to crib it23:28
hogepodgekeeping secrets secret is mainly a joke, so you definitely don't want to expose it to public networks. logs will probably leak secrets23:28
hogepodgedefinitely want to crib it :-)23:28
hogepodgesince i write everything to standard out/err the logs are pretty decent from docker-compose23:29
corvuswe've got a role that collects all the logs from docker compose too, that's been really nice23:30
clarkbShrews: tristanC left some thoughts on https://review.opendev.org/#/c/659209/3 mostly about making that code easier to understand. I don't think it is strictly necesary so let me know if you think it should go in as is23:37
tristanCclarkb: thanks23:57
openstackgerritTristan Cacqueray proposed zuul/nodepool master: static: enable using a single host with different user or port  https://review.opendev.org/65920923:57

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