gitlab: simplify extends and parts
This is a workaround for what seem to be a buildout regression
-
Maintainer
/cc @alain.takoudjou
-
mentioned in merge request nexedi/slapos!765
-
mentioned in commit nexedi/slapos@ce787d53
-
The commit message must shows the expected & wrong lists.
This is a workaround for what seem to be a buildout regression.
If it's the case, it must be reported.
But it's more probably an expected change of behaviour.
-
Maintainer
If it's the case, it must be reported.
gitlab and kvm tests are failing since a few weeks, I think that's the reason
-
Maintainer
I thought that kvm test of SlapOS.SoftwareReleases.IntegrationTest-Master.Python2 was affected by such a problem, but looking more closely at KVM, it must be a different problem, because test is passing sometimes:
But gitlab tests are different, they started to fail between nexedi/slapos@8a1a673a...4aae0337 and never passed since.
instance step fails with
G0[gitlab-test]: Promise 'promise-unicorn.py' failed with output: ERROR '/srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/shared/curl/e617a3c549f9c2c5f284f996a1ce83c6/bin/curl --unix-socket /srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/inst/G0/srv/unicorn/unc.socket http://localhost/' run with failure, output: "curl: (7) Couldn't connect to server\n"
This is because
service-nginx
is not started, because the part is not generated.In installed.cfg we can see that we used instance-gitlab-test.cfg for software type, which is:
[buildout] extends = /srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/inst/G0/instance-gitlab.cfg /srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/inst/G0/instance-gitlab-export.cfg parts += install-demo-backup
instance-gitlab.cfg contains:
[buildout] extends = /srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/soft/abe9e92f19caf84d2d5896b4a7b02b1f/gitlab-parameters.cfg /srv/slapgrid/slappart8/srv/testnode/cvt/inst/test0-0/tmp/soft/abe9e92f19caf84d2d5896b4a7b02b1f/template-monitor.cfg parts = ... service-nginx ...
so I guess with this configuration,
service-nginx
should be installed, but it's not in parts from .installed-switch-softwaretype.cfg.I have not investigated more than this, in https://lab.nexedi.com/nexedi/slapos.buildout/compare/2.7.1+slapos005...2.7.1+slapos007 there's a change about += and extends so that's what made me suspicious for something in buildout.
But maybe it's not. Maybe gitlab SR was not using extends and += the right way. Today I understood that if it's a problem, it's only a problem in gitlab, so maybe gitlab SR is wrong.
Maybe we can finish this patch and apply it and say problem solved.
+=
behavior in buildout is not really clear to me, if we write the profile in a more simple/stupid way it's easier. I gave up trying to fight against+=
:) -
Maintainer
but I don't mean Nexedi should give up, that was my understanding of this test failure, I have not looked at the actual buildout changes, just the changelog. If this we think it's a regression in buildout we can also fix it. I have this feeling that some uses of += in buildout are not really specified and maybe works different way in different buildout versions (because 10 years ago I got hit by bugs with this and don't want to trust this for some irrational reasons :))
Anyway, thanks for asking about this issue.
-
There had a bug in slapos005...2.7.1+slapos007 and it was fixed in slapos005...2.7.1+slapos008. But overall, there's also an expected change of behaviour and I made a few changes about this in slapos.git
The best way to understand the issue is actually to compare the output of 'buildout annotate'.