On Wed, Mar 29, 2017 at 10:07:24PM -0400, Paul Belanger wrote:
On Thu, Mar 30, 2017 at 09:56:59AM +1300, Steve Baker wrote:
On Thu, Mar 30, 2017 at 9:39 AM, Emilien Macchi email@example.com wrote:
On Mon, Mar 27, 2017 at 8:00 AM, Flavio Percoco firstname.lastname@example.org wrote:
On 23/03/17 16:24 +0100, Martin André wrote:
On Wed, Mar 22, 2017 at 2:20 PM, Dan Prince email@example.com wrote:
On Wed, 2017-03-22 at 13:35 +0100, Flavio Percoco wrote:
On 22/03/17 13:32 +0100, Flavio Percoco wrote:
On 21/03/17 23:15 -0400, Emilien Macchi wrote:
There are different hypothesis on what is going on here. Some
landed to improve the write performance on containers by using
but we think the real slowness is coming from the images download.
This said, this is still under investigation and the containers
report back as soon as there are new findings.
Also, to be more precise, Martin André is looking into this. He also
gate in the last 2 weeks.
I spoke w/ Martin on IRC. He seems to think this is the cause of some
of the failures:
Looks like Heat isn't able to create Nova instances in the overcloud
due to "Host 'overcloud-novacompute-0' is not mapped to any cell'. This
means our cells initialization code for containers may not be quite
right... or there is a race somewhere.
Here are some findings. I've looked at time measures from CI for
https://review.openstack.org/#/c/448533/ which provided the most
- gate-tripleo-ci-centos-7-ovb-ha 
undercloud install: 23
overcloud deploy: 72
total time: 125
- gate-tripleo-ci-centos-7-ovb-nonha 
undercloud install: 25
overcloud deploy: 48
total time: 122
- gate-tripleo-ci-centos-7-ovb-updates 
undercloud install: 24
overcloud deploy: 57
total time: 152
- gate-tripleo-ci-centos-7-ovb-containers-oooq-nv 
undercloud install: 28
overcloud deploy: 48
total time: 165 (timeout)
Looking at the undercloud & overcloud install times, the most task
consuming tasks, the containers job isn't doing that bad compared to
other OVB jobs. But looking closer I could see that:
- the containers job pulls docker images from dockerhub, this process
takes roughly 18 min.
I think we can optimize this a bit by having the script that populates
registry in the overcloud job to run in parallel. The docker daemon can
multiple pulls w/o problems.
- the postci takes a long time with quickstart, 13 min (4 min alone
spent on docker log collection) whereas it takes only 3 min when using
mmh, does this have anything to do with ansible being in between? Or is
time specifically for the part that gets the logs?
Adding all these numbers, we're at about 40 min of additional time for
oooq containers job which is enough to cross the CI job limit.
There is certainly a lot of room for optimization here and there and
I'll explore how we can speed up the containers CI job over the next
Thanks a lot for the update. The time break down is fantastic,
TBH the problem is far from being solved:
- Click on https://status-tripleoci.rhcloud.com/
- Select gate-tripleo-ci-centos-7-ovb-containers-oooq-nv
Container job has been failing more than 55% of the time.
As a reference,
gate-tripleo-ci-centos-7-ovb-nonha has 90% of success.
gate-tripleo-ci-centos-7-ovb-ha has 64% of success.
It clearly means the ovb-containers job was and is not ready to be run
in the check pipeline, it's not reliable enough.
The current queue time in TripleO OVB is 11 hours. This is not
acceptable for TripleO developers and we need a short term solution,
which is disabling this job from the check pipeline:
Yes, given resource constraints I don't see an alternative in the short
On the long-term, we need to:
- Stabilize ovb-containers which is AFIK already WIP by Martin (kudos
to him). My hope is Martin gets enough help from Container squad to
work on this topic.
- Remove ovb-nonha scenario from the check pipeline - and probably
keep it periodic. Dan Prince started some work on it:
https://review.openstack.org/#/c/449785/ - but not much progress on it
in the recent days.
- Engage some work on getting multinode-scenario(001,002,003,004) jobs
for containers, so we don't need much OVB jobs (only one probably) for
Another work item in progress which should help with the stability of the
ovb containers job is Dan has set up a docker-distribution based registry
on a node in rhcloud. Once jobs are pulling images from this there should
be less timeouts due to image pull speed.
Before we go and stand up private infrastructure for tripleo to depend on, can
we please work on solving this is for all openstack projects upstream? We do
want to run regional mirrors for docker things, however we need to address
issues on how to integration this with AFS.
We are trying to break the cycle of tripleo standing up private infrastructure
and consume more community based. So far we are making good progress, however I
would see this effort a step backwards, not forward.
To be fair, we discussed this on IRC yesterday, everyone agreed infra
supported docker cache/registry was a great idea, but you said there was no
known timeline for it actually getting done.
So while we all want to see that happen, and potentially help out with the
effort, we're also trying to mitigate the fact that work isn't done by
working around it in our OVB environment.
FWIW I think we absolutely need multinode container jobs, e.g using infra
resources, as that has worked out great for our puppet based CI, but we
really need to work out how to optimize the container download speed in
that environment before that will work well AFAIK.
You referenced https://review.openstack.org/#/c/447524/ in your other
reply, which AFAICS is a spec about publishing to dockerhub, which sounds
great, but we have the opposite problem, we need to consume those published
images during our CI runs, and currently downloading images takes too long.
So we ideally need some sort of local registry/pull-through-cache that
speeds up that process.
How can we move forward here, is there anyone on the infra side we can work
with to discuss further?