-
SimonSapin
Is homu having a bad day?
buildbot2.rust-lang.org/homu/queue/rust shows nothing pending (an of course sereval approved)
-
pietroalbini
uh, the last commit in the auto branch is 7 hours old...
-
SimonSapin
ping acrichto: homu seems stuck
-
pietroalbini
acrichto, bors is still stuck...
-
SimonSapin
I think it’s still early morning in his time zone
-
pietroalbini
uh, yeah, timezones are fun
-
kennytm
anybody else can restart homu?
-
ishitatsuyuki
I don't think so, I think he's the only infrastructure member with full permissions
-
kennytm
:/ let me see if clicking that "Synchronize" button will fix it
-
kennytm
"Synchronizing rust..."
-
kennytm
(populating...)
-
kennytm
nope doesn't work \o/
-
kennytm
(try to recreate the auto branch)
-
kennytm
(doesn't matter either)
-
acrichto
looking into bors
-
acrichto
apparently cargo needed synchronizing?
-
acrichto
and then kicking it worked?
-
acrichto
no idea
-
kennytm
working now 🎉 cargo submodule? but that PR is merged quite long time ago
-
acrichto
kennytm: er the cargo project needed synchronizing
-
acrichto
homu was tripping some assertion somewhere
-
acrichto
and re-sync'ing the cargo queue appears to have fixed that
-
acrichto
and then everything started to proceed as usual
-
kennytm
oh...
-
ishitatsuyuki
:/
-
ishitatsuyuki
-
Zoxc
ishitatsuyuki: We only have 2 cores on Travis
-
ishitatsuyuki
Zoxc: no, it's 4
-
Zoxc
Travis logs prints cpu cores : 2
-
ishitatsuyuki
An undocumented machine type
-
ishitatsuyuki
(it's referenced in source, search n1-standard-4)
-
ishitatsuyuki
Really? Last time I checked it it was indeed quad
-
ishitatsuyuki
(checked again, indeed quad core)
-
kennytm
we have 4 cores for Linux, 3 cores for macOS, 2 cores for Windows (which should have been upgraded to 4 cores in mid-Feb 😂)
-
ishitatsuyuki
lol, don't count on AppVeyor
-
Zoxc
ishitatsuyuki: Show me the logs? =P
-
kennytm
Zoxc:
travis-ci.org/rust-lang/rust, click on any log, search for the cpuinfo
-
Zoxc
I don't find anything. Searching for GenuineIntel gives me 2 cores
-
» kennytm 😕
-
misdreavus
is this a "cores versus hyperthreads" thing? >_>
-
kennytm
lol
-
kennytm
if HT doesn't count we should consider AppVeyor having 1 core 🙃
-
misdreavus
alternately, is the environment different between the builder every PR gets and the builders that bors uses?
-
kennytm
the builders should be configured similarly
-
misdreavus
in
api.travis-ci.org/v3/job/356147819/log.txt i see four "processor info" blocks, each saying "cpu cores: 2"
-
misdreavus
this is a bors builder
-
Zoxc
I wonder if you get 1 core if you get an EC2 instance with 2 vCPUs
-
kennytm
maybe we should say "4 cores" means we pass `-j4` when building stuff
-
kennytm
and that "4" is whatever number reported by the num_cpu crate
-
Zoxc
That is not what cores mean =P
-
Zoxc
DigitalOcean sells dedicated hyper-threads. Hyper-threads are by definition shared...
-
kennytm
naming is hard :p
-
Zoxc
Just call them hyper-threads =P
-
Zoxc
OVH rents out dedicated consumer CPUs <3
-
Zoxc
Overclocked consumer CPUs even
-
ishitatsuyuki
An ordinary OVH dedicated had hyperthreads just as same as other providers
-
Zoxc
ishitatsuyuki: I don't know what you mean by that
-
ishitatsuyuki
I mean it doesn't seem to rent dedicated (non-HT) cores
-
Zoxc
They rent dedicated servers =P
-
Zoxc
-
ishitatsuyuki
Uh well, they clearly state they're using HT
-
ishitatsuyuki
But otherwise it's just as same as other providers
-
ishitatsuyuki
Moving back to the original topic, how useful do you think managing our own infrastructure is?
-
Zoxc
ishitatsuyuki: And why is using HT a problem?
-
ishitatsuyuki
Zoxc: it isn't, but not clearly stating that can lead to wrong assumptions
-
Zoxc
I think using our own infrastructure is useful as we can get faster machines
-
Zoxc
Having an "unlimited" and fast cache would be useful too
-
pietroalbini
ishitatsuyuki, there was a meeting about that a few weeks ago, acrichto and aidanhs weren't too happy to manage more infra though
-
ishitatsuyuki
Hmm, I see the point. Though, I think the situation may improve if we introduce automation/orchestration, aka self healing
-
Zoxc
Nuke everything when the queue is empty =P
-
pietroalbini
Zoxc, did we ever have an empty queue? :o
-
Zoxc
Yes
-
Zoxc
Delete the rust-lang/rust repo, start from OCaml
-
tomprince
ishitatsuyuki: That requires a bunch of work. Firefox has done something like that, and they have had several people working on it full time for multiple years.
-
ted
tomprince: i keep hoping we can get rust/servo onto taskcluster and leverage the firefox investment there
-
ted
if you can share the work mozilla has done for firefox that would be great
-
aturon
ted: what's the status of platform support with taskcluster?
-
ishitatsuyuki
I think it supports all three
-
ishitatsuyuki
But I'm not sure if TC is flexible enough to support our GitHub workflow
-
tomprince
It definitely is flexible enough, although if it doesn't match the existing workflow support, there'd need to be some code written to interface with it. Still, easier that building our own platform by several orders of magnitude, probably.
-
ted
i don't know what the mac support actually looks like, since we only use it for tests with firefox
-
ted
but the worker implementations are pretty good nowadays, it's definitely possible to throw hardware at the problem
-
tomprince
I think deepspeach and nss both might have some mac builders?
-
ted
that sounds pretty likely
-
ted
-
ted
Provisioner localprovisioner
-
ted
WorkerType nss-macos-10-12
-
ishitatsuyuki
ted: what does a job get executed in? VM or container?
-
ted
ishitatsuyuki: i don't know what the mac ones are
-
ted
linux workers are docker containers in EC2 instances
-
ted
windows workers are in EC2 instances but they don't start a fresh instance per task
-
ishitatsuyuki
Do they share resources?
-
tomprince
That do create a fresh user, I think, though.
-
ted
the worker does some sandboxing etc, it creates a new user per task
-
ted
yeah
-
ted
ishitatsuyuki: i'm only really familar with the AWS provisioner, which lets you define worker types with a "capacity" for how many simultaneous jobs can run on the worker
-
ted
for most of our firefox workers it's just set to 1
-
tomprince
There is also (unfinished, as yet) work on a kvm/qemu worker.
-
ted
right
-
ted
one nice thing about taskcluster is that it actually does have a nice well-thought out architecture
-
ted
so things like implementing new worker types is feasible
-
ishitatsuyuki
In the current model we're constantly spinning a fixed amount of builders so EC2 doesn't really sound cost effective though
-
ted
i dunno! firefox CI is very bursty, so being able to ramp it up and down is great
-
ted
and TC uses spot instances which are cheaper
-
ted
and EC2 has per-second billing now, so it can turn off instances when they're not needed
-
ted
having ephemeral workers has other nice benefits though, like when amazon announced the new c5 instance types we were able to get tasks running on them by doing a little work to get the worker AMI working and then just adjusting worker type definitions
-
ted
-
ted
a lot of the things taskcluster made better for firefox CI are things that you've already got in rust, like having most of your CI defined in-tree
-
aturon
acrichto: aidanhs: possibly worth talking about ^ at the all hands next week
-
ted
there's also something to be said for having coworkers that work on your CI tooling
-
acrichto
aturon: indeed! although I think it'd be most productive with a taskcluster expert we can grill in real time
-
acrichto
which may mean we should discuss it mostly at a high level and then get ted on a call afterwards
-
aturon
acrichto: i agree, but it also might be worth spending a bit of time thinking of what info we'd need to know and getting some answers in advance
-
acrichto
oh of course yeah
-
acrichto
we just gotta be real explicit
-
acrichto
b/c otherwise that convo would derail quickly...
-
ted
i'm not a taskcluster expert, i just play one on TV :)
-
ted
we have some actual taskcluster experts we could rope in, and i am always happy to facilitate
-
» tomprince is fairly familiar with taskcluster as well
-
ted
but yeah, if you're going to have the conversation you want to have done some homework
-
ted
what things are important to you, what you're looking to gain
-
ishitatsuyuki
Maybe we can work on homu support for it first then?
-
ted
i wonder if you can reuse (or get anything useful) from the conduit stuff people are working on for firefox?
wiki.mozilla.org/EngineeringProductivity/Projects/Conduit
-
ted
conduit encompasses homu-like functionality, but integrated with phabricator for code review as well
-
tomprince
Well, conduit doesn't have the interaction with CI bit at all.
-
tomprince
Just landing code, which homu also has.
-
tomprince
I think homu just works by pushing to specific branch, which gets picked up by CI, and then looks at status.
-
tomprince
All of which tc supports natively.
-
ishitatsuyuki
Yeah, but in homu the status needs some coding
-
ishitatsuyuki
In bors-ng it's a matter of one line config
-
tomprince
-
ishitatsuyuki
Oh, looks like you're right
-
SimonSapin
ishitatsuyuki: WebRender has been using TaskCluster with Homu
-
SimonSapin
though I don’t know how much Servo’s fork of homu has diverged
-
ishitatsuyuki
Awesome.
-
eh2406
SimonSapin: from
github.com/barosl/homu , servos is very different, but rust is using servos forck
-
SimonSapin
ah ok
-
ishitatsuyuki
Is it likely that we'll be start the work on TC soon? Can some team member create a thread to discuss this?
-
ishitatsuyuki
Thanks for the thread, I'm very excited to be a part of the movement
-
ted
i suspect there's some politics involved in that decision :)
-
aidanhs
kennytm: 'extreme bors planning' means "figuring out what we want to do to fix bors (mainly cycle time), both short and long term"
-
kennytm
aidanhs: i see
-
aidanhs
it's a tongue in cheek comparison to this being an 'extreme sport' but it's not very clear - will change
-
misdreavus
clearly we need to paint flames on the sides of the bors logo
-
steveklabnik
heh
-
ted
get mountain dew to sponsor rust development
-
aidanhs
maybe I should get a crate and slam it down in the first all-hands infra meeting to get us going
-
misdreavus
ted: you joke, and then i started daydreaming about what it would take to court pepsico to start rustifying some logistics software or something
-
ted
haha
-
misdreavus
today: rust in small places in logistics pipeline; tomorrow: whitepaper on how efficient they got with rust; soon: rust gamedev summit sponsored by mountain dew
-
kennytm
someone please review {!gh 49246}, it is likely needed to unblock the bors queue 🙏
-
rustbot
[PR 49246] <open> Download the GCC artifacts from the HTTP server instead of FTP server. <
rust-lang/rust #49246>