SUSE / DeepSea

A collection of Salt files for deploying, managing and automating Ceph.
GNU General Public License v3.0
161 stars 75 forks source link

spec: Make deepsea-cli require deepsea #1864

Closed tserong closed 3 years ago

tserong commented 3 years ago

This means removing deepsea will also automatically remove deepsea-cli (see https://github.com/SUSE/doc-ses/issues/816 for related discussion).

Signed-off-by: Tim Serong tserong@suse.com

asettle commented 3 years ago

@dasrohr - for your review also

smithfarm commented 3 years ago

@kshtsk Any idea why storage-ci/deepsea-make-rpm is failing?

tserong commented 3 years ago

I've had a quick skim through the console output from the previous successful run on this PR (https://storage-ci.suse.de/job/deepsea-teuthology-rpm-builder/1340/consoleFull) and the failed run (https://storage-ci.suse.de/job/deepsea-teuthology-rpm-builder/1342/console), and ISTM we have some sort of chicken-and-egg problem.

See this?

Step 12/15 : RUN pwd && ls -la && cd DeepSea     && sudo zypper --non-interactive --gpg-auto-import-keys refresh     && sudo zypper --non-interactive install --no-recommends            $(rpmspec --requires -q deepsea.spec.in 2>/dev/null)

That'll try to install all the requires listed in deepsea.spec.in, but, at that time, Version is DEVVERSION and Release is 0. With the previous version of this commit, deepsea-cli specified Requires: deepsea, so the above went and installed deepsea from filesystems:ceph:nautilus (which we arguably don't want before the build anyway). With the latest version of this commit, this means we've got Requires: deepsea = DEVVERSION=0, which can't be satisfied. There's a later step in the successful run where the correct version is sedded in (Step 13/15 : RUN cd DeepSea && make rpm), but even if that were to happen earlier, it still wouldn't help, because this new version of deepsea doesn't exist yet!

I suspect this is fixable if we change Step 12 to $(rpmspec --requires -q deepsea.spec.in 2>/dev/null | grep -v deepsea) which will strip deepsea itself from the list of requirements pre-build.

kshtsk commented 3 years ago

@tserong Nice catch, but I don't remember why do we need this --requires if we want --buildrequires, @smithfarm ?

kshtsk commented 3 years ago

Review this https://github.com/SUSE/sesci/pull/49

smithfarm commented 3 years ago

@kshtsk It's possible that it will work if you replace --requires with --buildrequires. Just give it a try?

kshtsk commented 3 years ago

Proof that this change is fixing the issue: https://storage-ci.suse.de/job/deepsea-teuthology-rpm-builder/1343/console

kshtsk commented 3 years ago

retest this please

kshtsk commented 3 years ago

retest this please

smithfarm commented 3 years ago

@kshtsk Thanks!

kshtsk commented 3 years ago

@susebot run teuthology

susebot commented 3 years ago

Commit f606511d340d1d59742edbd0ca72fceed28f3c9e is OK for suite deepsea:tier2. Check tests results in the Jenkins job: https://storage-ci.suse.de/job/pr-deepsea/493/