Monday, 2018-05-07

openstackgerritIan Wienand proposed openstack-infra/zuul master: Pin async-timeout  https://review.openstack.org/56648801:13
openstackgerritMerged openstack-infra/nodepool master: Remove initial stub release note  https://review.openstack.org/56640901:46
*** EvilienM is now known as EmilienM02:45
*** threestrands has joined #zuul04:04
*** sshnaidm has joined #zuul04:17
openstackgerritIan Wienand proposed openstack-infra/zuul master: Add tox-py36 jobs  https://review.openstack.org/56588105:08
*** sshnaidm has quit IRC05:14
*** pcaruana has joined #zuul06:02
*** jesusaur has quit IRC06:05
*** jesusaur has joined #zuul06:06
*** tflink has quit IRC06:16
*** AJaeger_away has quit IRC06:21
*** AJaeger has joined #zuul06:28
*** tflink has joined #zuul06:38
*** gtema has joined #zuul06:43
openstackgerritBenedikt Löffler proposed openstack-infra/zuul master: Add role information to task in zuul_json callback  https://review.openstack.org/55999806:43
openstackgerritBenedikt Löffler proposed openstack-infra/zuul master: Add role information to task in zuul_json callback  https://review.openstack.org/55999806:44
*** AJaeger has quit IRC06:45
*** AJaeger has joined #zuul06:52
*** toabctl has quit IRC07:18
*** toabctl has joined #zuul07:22
*** threestrands has quit IRC07:39
*** jpena|off is now known as jpena07:52
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Remove use of six  https://review.openstack.org/56615908:16
*** sshnaidm has joined #zuul09:35
*** sshnaidm is now known as sshnaidm|rover09:35
*** yolanda_ is now known as yolanda10:35
openstackgerritArtem Goncharov proposed openstack-infra/nodepool master: fail to build image without known type  https://review.openstack.org/56643710:45
*** jpena is now known as jpena|lunch11:32
*** elyezer has joined #zuul11:46
*** jpena|lunch is now known as jpena12:28
*** rlandy has joined #zuul12:35
*** dkranz has quit IRC12:53
*** mmedvede has quit IRC12:58
*** zigo_ has joined #zuul13:07
*** adam_g_ has joined #zuul13:09
*** sdake_ has joined #zuul13:09
*** sdake_ has joined #zuul13:09
*** sdake has quit IRC13:11
*** openstackgerrit has quit IRC13:11
*** rcarrillocruz has quit IRC13:11
*** zigo has quit IRC13:11
*** adam_g has quit IRC13:11
*** adam_g_ is now known as adam_g13:11
mnasermorning, would it be possible to have some eyes on https://review.openstack.org/#/c/566488 ?13:15
*** rcarrillocruz has joined #zuul13:18
*** openstackgerrit has joined #zuul13:24
openstackgerritMerged openstack-infra/nodepool master: Add logo to docs  https://review.openstack.org/56641013:24
*** gtema has quit IRC13:24
openstackgerritMerged openstack-infra/nodepool master: Switch to stestr  https://review.openstack.org/53686213:24
*** mmedvede has joined #zuul13:26
openstackgerritWojciech Urbanski proposed openstack-infra/zuul-jobs master: Add RedHat support for role: configure-mirrors  https://review.openstack.org/56658013:29
openstackgerritWojciech Urbanski proposed openstack-infra/zuul-jobs master: Add RedHat support for role: configure-mirrors  https://review.openstack.org/56658013:30
*** dkranz has joined #zuul13:51
openstackgerritMerged openstack-infra/zuul master: Pin async-timeout  https://review.openstack.org/56648814:06
*** jimi|ansible has quit IRC14:16
*** yolanda has quit IRC14:38
*** yolanda has joined #zuul14:45
*** pcaruana has quit IRC15:09
openstackgerritFatih Degirmenci proposed openstack-infra/zuul master: Add additional steps for configuring Zuul services on CentOS 7  https://review.openstack.org/56507515:29
*** jpena is now known as jpena|brb15:46
*** openstackgerrit has quit IRC16:19
*** jpena|brb is now known as jpena16:23
*** openstackgerrit has joined #zuul16:38
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Ignore .stestr directory in .gitignore  https://review.openstack.org/56667616:38
ShrewsEasy review there ^^16:39
clarkbShrews: I just quickly single core approved it since it is mostly trivial and will address local test user ui problems16:40
Shrewsclarkb: yeah, danke16:40
openstackgerritMerged openstack-infra/zuul master: Add logo to docs  https://review.openstack.org/56640616:49
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Only emit parent-change-enqueued if needed  https://review.openstack.org/56319417:10
*** jpena is now known as jpena|off17:21
openstackgerritMerged openstack-infra/nodepool master: Ignore .stestr directory in .gitignore  https://review.openstack.org/56667618:08
*** nguyenhai_ has joined #zuul18:09
*** nguyenhai has quit IRC18:12
corvusShrews, clarkb, mordred: i've ciphered on the multiple label question over the weekend, and i believe that we should continue to go down the path of nodes supporting multiple labels.  i think that ultimately we will need something like that (our conversation with fdegir showed that while we can achieve quite a lot with the features we have now, we're ultimately going to run into situations that require some18:33
corvusform of flexibility with labels, and probably sooner rather than later).  i think clarkb's idea of supporting multiple label requests is good, but i think it's going to be a better ux to be able to specify the single thing you need, that way you don't have to keep updating jobs as labels change.  maybe we'll end up adding that eventually, but for now, i think the focus should be on nodes offering multiple18:33
corvuslabels.18:33
corvusShrews, clarkb, mordred: if you agree, i think the next steps are probably to continue to identify what will need to change -- so far we've identified that some of the statsd reporting will have to be dropped or its meaning altered (and presumably the admin listing tables as well), and we need to address what it means for ready nodes.18:34
Shrewscorvus: i've also been thinking about this. It's going to change the way we make hostnames for openstack nodes (we use label in the hostname). I'm currently thinking about how this might affect configuration processing18:35
clarkbShrews: for that particular case probably want to make it more image based rather than label based?18:35
clarkbso use the image name regardless of what the label is for that stuff since it should be unique?18:36
corvusShrews: yep!  there's another one.  :)  i hope that we (openstack) don't use that for anything important at this point;  if we do, we shouldn't.  :)18:36
Shrewsclarkb: possibly. corvus, maybe we can etherpad a sample nodepool.yaml config file using the openstack driver so we can agree on how this might look and work18:37
corvusShrews, clarkb, mordred: so it'd be good to continue further down the road and find any more 'gotchas' like that.  then we can make a final call as to whether the change is worth it.  granted, that probably means mostly implementing the change before we find them all, but, at least so far, i'm inclined to think we'll end up saying 'yes' at the end of the road.18:37
corvusShrews: excellent idea18:37
Shrewscorvus: the only way i'm finding these "gotchas" is just going ahead with implementation. stuck in the config stuff now  :/18:38
corvusShrews: i've been trying to come up with a concise way of stating what i think should be the same resolution to both the stats and the ready-node problem: "labels should still be treated independently".  so if a node has 2 labels, then we'd emit a stat for both labels, and it would contribute toward the ready-node count for both labels.  and when it became used, it would decrease the ready-count for both18:39
corvuslabels, and probably, i guess, increase the used count for only the label it is satisfying.18:39
corvusShrews: i'm hoping that sort of thing helps us craft a consistent answer to questions like that18:39
Shrewscorvus: we can't just increase the used count on the satisfied label. that would imply the unused label(s) would still show as 'ready' and cause confusion, yeah?18:41
clarkbdo we separate track total nodes in a way that allows us to get an aggregate that is accurate?18:41
clarkbmight need to add ^ if not18:41
Shrewse.g, we have 1 total node with labels "ubuntu-xenial" and "ubuntu-latest". a job uses ubuntu-xenial.18:41
Shrewsthe graph would show ubuntu-latest as available and ready18:42
Shrewsthat seems... weird18:42
Shrewsbut then, i don't use these stats, so i defer to those that do18:42
corvusShrews: sorry i wasn't clear, i meant in that case, the graph should then show zero ubuntu-xenial and zero ubuntu-latest ready nodes, and one ubuntu-xenial used node.18:42
clarkbThey are mostly used for why are jobs not starting I think to quickly identify why things might be queued18:43
Shrewsah18:43
clarkbwhich would work in this scenario18:43
corvusclarkb: i think a consequence of this is that you will not be able to track total "real" nodes by label, but you can still do so by provider.18:43
corvusclarkb: and exactly -- the label stats then show you why no jobs are starting18:43
corvus(but they don't show you that you're at quota)18:43
corvusfor example, looking at the way we (openstack) tracks usage, that wouldn't be a significant change for us -- we generally track capacity by provider, and our per-label graphs are constructed in a way that doesn't lend itself to summing different node types, or comparing them to capacity.18:47
Shrewscorvus: clarkb: maybe we can start with this yaml from one of the nodepool tests: https://etherpad.openstack.org/p/multi-label-nodepool-config18:47
Shrewsi'm assuming the multiple labels would be in the "pool" section?18:48
Shrewsouter label would still need to be singlely named?18:48
corvusShrews: i believe so18:49
corvusShrews: i mocked up the fake-label4 option with multiple labels based on the closest pattern i could think of to the existing support in the static driver18:50
Shrewsand what if one of the referenced labels does not exist?18:50
corvusShrews: i think we still need them all to exist (that's true for static too, right?)18:51
Shrewscorvus: i think the static driver just matches the requested label to any of the supported labels. i don't *think* they all need to exist, but i haven't considered this until just now18:52
clarkbinstead have having name be a list why not use the existing provider.labels list and allow duplicates with different images/ram/flavor/etc18:52
clarkbI guess it wouldn't be a duplicate we'd just allow multiple labels in that list to have the same image18:53
corvusShrews: hrm, that may be an oversight in the static driver -- if they're required for the dynamic ones, i don't see why they shouldn't be for static...18:53
corvusclarkb: yeah, that's already the case.  you could argue that means we don't *really* need to do anything here.18:53
Shrewscorvus: i'm on board with that. just want to establish what we should do18:54
corvusclarkb: since, in the context of a dynamic provider, a label is basically not much more than an image+ram combination18:55
corvuser, image+flavor18:55
corvusclarkb: i guess the thing there is that the *nodes* need to support multiple labels18:56
corvusclarkb: so if we spin up an ubuntu-xenial node to satisfy min-ready, it ought to have both an ubuntu-xenial label as well as ubuntu-latest label, in order for the most sensible thing to happen when a request comes in.18:57
Shrewswait18:58
corvusclarkb: so the question becomes, do we make that explicit like in the configuration in the etherpad, or implicit by having nodepool match up duplicate label entries.18:58
corvusShrews: waiting :)18:58
Shrewsyeah, not sure how we'd apply both labels to a min-ready node when that basically comes from the outer labels18:59
Shrewsthere's no mapping there18:59
corvusShrews: well, when the node is created, it's done from a particular pool, so (if we go with the example in the etherpad) we know all the labels it will end up with.18:59
clarkband it satisfies all of them at the same time19:00
clarkbbut once used it no longer satisfies any of them19:00
Shrewscorvus: unless multiple matches are found in the pool19:00
corvusShrews: that's a good point19:00
Shrewseg., "ubuntu-xenial/networking" and a "ubuntu-xenial/ubuntu-latest"19:00
Shrewsso a) do we allow that?19:01
Shrewsb) if we do, uh...19:01
corvus(a) it seems like it should be allowed (if we do this); (b) uh... indeed... i guess we would need to pick one at random or pick the first?19:02
Shrews"random" could leave the request unsatisfied until it gets the right thing19:03
Shrewsmaybe? this is hurting my brain19:03
Shrewsi guess not19:04
corvusShrews: well, any thing which matches should satisfy it.19:04
Shrewsbut i can now see someone wanting to do min-ready by label combinations19:04
clarkbthe node requests are always for a specific lable right?19:04
corvusthere's also a pretty good chance that if you put "ubuntu-xenial: min-ready: 1" and "ubuntu-latest: min-ready: 1", you'll end up with 2 ready nodes, because while the algorithm wouldn't add any new ones if one already existed, it wouldn't know that it could satisfy both with only one node until it was actually created.  so that would sometimes happen, especially on startup or when things were busy.19:04
clarkbso you'd assign a node matching that lable to the request, remove it from valid list of any other labels it satisfies then return it to zuul19:05
clarkboh you mean on the front end of booting the min ready nodes19:05
corvusShrews: well, the goal here is not to support label combinations either in min-ready or in zuul.  you still only request one specific thing.19:05
clarkbI thought it was on the request side pulling them out19:05
corvusclarkb: both really -- min-ready is still handled by requests; it's just an automatic request.19:06
Shrewsyeah, min-ready will get even _less_ predictable, but i don't see a resolution to that19:07
Shrews(folks already complain about it)19:07
corvusShrews: what's the complaint?19:07
Shrewsjust that you can get more than min-ready count19:08
Shrewsit's a timing issue19:08
corvusah.  well, that's right there in the name.  :)19:08
Shrewsexactly19:08
Shrewswe can just move even farther past "min" now  :)19:09
corvusyep19:09
Shrewswe have sooo much code that indexes dicts by label names. this will be a "fun" change19:09
clarkbwe could "merge" the labels and only do min ready requests for the aggregate sets19:09
clarkbso ubuntu-xenial + special-label2 would result in a single min ready request for one of the two if min-ready is set to 1 for both labels19:10
corvusanyway, i think the etherpad example is workable, with all the caveats that we've discussed.  but also, it's probably worth considering whether this feels too weird for the dynamic drivers, and instead we should just focus on fundamental support for multiple labels, but still only have it implemented for the static driver.  we could even do that, and still leave implementation for dynamic drivers as a future19:10
corvuschange, if we feel it's useful.19:10
corvusclarkb: that kind of merging might produce different results in different provider-pools, so you'd end up limiting the places you get your min-ready nodes from19:11
Shrewsclarkb: that won't always work b/c the new node could grab a label that isn't the correct combination19:11
clarkbcorvus: thats a good point, not sure I understand Shrews' concern19:12
clarkbShrews: if you made a new node for ubuntu-xenial but it also satisfied ubuntu then a request for ubuntu-xenial or ubuntu could be satisfied by that node19:12
corvusi think Shrews concern is that if min-ready requests 'ubuntu-xenial' because it thinks it's going to also get 'spceial', it might end up with the one place in the system where it gets 'ubuntu-xenial+notspecial'19:13
Shrewsclarkb: since we'd allow labels to be duplicated, the new node might not be labeled with "ubuntu/ubuntu-xenial", but instead "ubuntu/networking", leaving ubuntu-xenial unsatisfied19:13
Shrewswhat corvus said19:13
clarkbbecause this is per provider, got it19:14
Shrewscorvus: clarkb: I'll try to summarize this in a response to my original email (mostly so I don't forget it all)19:17
corvusShrews: cool, thanks!19:17
corvusi will get lunch now19:18
clarkbcould (should) that be global config and report an error if a new launcher starts with a config that doesn't line up?19:18
Shrewsclarkb: not following19:20
clarkbShrews: if a provider label matches one label in the set it implicitly must match all of them19:21
clarkbor explicitly has to and if not is an error19:21
clarkb(we'd probably have to put more data in zk and query for it19:21
openstackgerritMerged openstack-infra/zuul-jobs master: Split logging of inventory to its own role  https://review.openstack.org/56378719:37
openstackgerritMerged openstack-infra/zuul-jobs master: Run authorized_keys as root  https://review.openstack.org/56388920:05
*** acozine1 has joined #zuul20:32
openstackgerritJames E. Blair proposed openstack-infra/zuul-base-jobs master: Add logo to docs  https://review.openstack.org/56641220:39
openstackgerritJames E. Blair proposed openstack-infra/zuul-base-jobs master: Add libre2 to bindep  https://review.openstack.org/56673120:39
*** zhuli_ has joined #zuul20:45
*** acozine2 has joined #zuul20:47
*** acozine1 has quit IRC20:53
*** zhuli has quit IRC20:53
*** zhuli_ is now known as zhuli20:53
*** dkranz has quit IRC21:00
*** acozine2 has quit IRC21:29
-openstackstatus- NOTICE: Any devstack job failure due to rsync errors related to tripleo-incubator can safely be rechecked now22:58
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Remove use of six  https://review.openstack.org/56615923:51

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