[Starlingx-discuss] CENGN build fialures + builder docker file changes
Hi all, The CENGN build failed today due to (in part) problems with the Dockerfile: https://opendev.org/starlingx/tools/src/branch/master/Dockerfile - It uses latest CentOS & EPEL repos to pull packages from. Even though it's based on a pinned docker image, centos:7.4.xxx, it's yum repos point to mirror.centos.org (incl updates). So the first yum command in the docker file upgrades half the system towards 7.8 or whatever - Our build scripts require mock <= 1.4.20, but what we get is version 2.x . Older compatible versions don't exist in CentOS or EPEL repos. - Dockerfile installs (towards the end) all repo files from centos-mirror-tools globally. This makes "yum install" essentially unusable in the docker image once its built because that set includes a bunch of incompatible repos e.g. CnetOS 7.x and 8.x both enabled. Note that these issues affect only the execution of build scripts -- individual RPMs are built in mock roots (inside Docker on CENGN) with their own yum configuration. Proposed changes: - Pin Dockerfile base image to centos:7.8.2003 (up from 7.4). This should be closer to what's been happening until now with latest packages being pulled in on top of a 7.4 base system as described above. - Replace global yum repo files with pinned URLs that point to 7.8 (using CentOS vault etc) . - Same for EPEL repos from here: https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/ - Install this version of mock: https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... . This is the only build scripts - compatible mock RPM I can find. - As a separate effort we should update build scripts to support recent mock versions. But pinning to mock 1.4.x will help with the immediate build problems Potential problem: Docker file installs anaconda, presumably because build-iso needs that (?). But if we pin centos repos, we will be creating ISO files based on the pinned anaconda packages. Unless build-iso itself runs inside mock, not sure it this is the case. Thoughts, comments? I'd like to get this fixed today if possible because it's gating CENGN builds. Thanks, D.
Until this is fixed, I believe the following workaround should work: Replace "yum install mock" in the Dockerfile with yum install \ https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... \ https://kojipkgs.fedoraproject.org/packages/mock-core-configs/32.5/1.el7/noa... D. ________________________________ From: Panech, Davlet <Davlet.Panech@windriver.com> Sent: June 18, 2020 12:55 PM To: starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io> Subject: [Starlingx-discuss] CENGN build fialures + builder docker file changes Hi all, The CENGN build failed today due to (in part) problems with the Dockerfile: https://opendev.org/starlingx/tools/src/branch/master/Dockerfile - It uses latest CentOS & EPEL repos to pull packages from. Even though it's based on a pinned docker image, centos:7.4.xxx, it's yum repos point to mirror.centos.org (incl updates). So the first yum command in the docker file upgrades half the system towards 7.8 or whatever - Our build scripts require mock <= 1.4.20, but what we get is version 2.x . Older compatible versions don't exist in CentOS or EPEL repos. - Dockerfile installs (towards the end) all repo files from centos-mirror-tools globally. This makes "yum install" essentially unusable in the docker image once its built because that set includes a bunch of incompatible repos e.g. CnetOS 7.x and 8.x both enabled. Note that these issues affect only the execution of build scripts -- individual RPMs are built in mock roots (inside Docker on CENGN) with their own yum configuration. Proposed changes: - Pin Dockerfile base image to centos:7.8.2003 (up from 7.4). This should be closer to what's been happening until now with latest packages being pulled in on top of a 7.4 base system as described above. - Replace global yum repo files with pinned URLs that point to 7.8 (using CentOS vault etc) . - Same for EPEL repos from here: https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/ - Install this version of mock: https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... . This is the only build scripts - compatible mock RPM I can find. - As a separate effort we should update build scripts to support recent mock versions. But pinning to mock 1.4.x will help with the immediate build problems Potential problem: Docker file installs anaconda, presumably because build-iso needs that (?). But if we pin centos repos, we will be creating ISO files based on the pinned anaconda packages. Unless build-iso itself runs inside mock, not sure it this is the case. Thoughts, comments? I'd like to get this fixed today if possible because it's gating CENGN builds. Thanks, D. _______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
Correction: yum install \ http://mirror.starlingx.cengn.ca/mirror/centos/epel/dl.fedoraproject.org/pub... \ http://mirror.starlingx.cengn.ca/mirror/centos/epel/dl.fedoraproject.org/pub... ________________________________ From: Panech, Davlet <Davlet.Panech@windriver.com> Sent: June 18, 2020 1:08 PM To: starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io> Subject: Re: [Starlingx-discuss] CENGN build fialures + builder docker file changes Until this is fixed, I believe the following workaround should work: Replace "yum install mock" in the Dockerfile with yum install \ https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... \ https://kojipkgs.fedoraproject.org/packages/mock-core-configs/32.5/1.el7/noa... D. ________________________________ From: Panech, Davlet <Davlet.Panech@windriver.com> Sent: June 18, 2020 12:55 PM To: starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io> Subject: [Starlingx-discuss] CENGN build fialures + builder docker file changes Hi all, The CENGN build failed today due to (in part) problems with the Dockerfile: https://opendev.org/starlingx/tools/src/branch/master/Dockerfile - It uses latest CentOS & EPEL repos to pull packages from. Even though it's based on a pinned docker image, centos:7.4.xxx, it's yum repos point to mirror.centos.org (incl updates). So the first yum command in the docker file upgrades half the system towards 7.8 or whatever - Our build scripts require mock <= 1.4.20, but what we get is version 2.x . Older compatible versions don't exist in CentOS or EPEL repos. - Dockerfile installs (towards the end) all repo files from centos-mirror-tools globally. This makes "yum install" essentially unusable in the docker image once its built because that set includes a bunch of incompatible repos e.g. CnetOS 7.x and 8.x both enabled. Note that these issues affect only the execution of build scripts -- individual RPMs are built in mock roots (inside Docker on CENGN) with their own yum configuration. Proposed changes: - Pin Dockerfile base image to centos:7.8.2003 (up from 7.4). This should be closer to what's been happening until now with latest packages being pulled in on top of a 7.4 base system as described above. - Replace global yum repo files with pinned URLs that point to 7.8 (using CentOS vault etc) . - Same for EPEL repos from here: https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/ - Install this version of mock: https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... . This is the only build scripts - compatible mock RPM I can find. - As a separate effort we should update build scripts to support recent mock versions. But pinning to mock 1.4.x will help with the immediate build problems Potential problem: Docker file installs anaconda, presumably because build-iso needs that (?). But if we pin centos repos, we will be creating ISO files based on the pinned anaconda packages. Unless build-iso itself runs inside mock, not sure it this is the case. Thoughts, comments? I'd like to get this fixed today if possible because it's gating CENGN builds. Thanks, D. _______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
Davlet, Did you backport this to the r/stx.3.0 branch? It will have the same problem as master correct? Do we just take the mock pinning change or the full update? Sau! On 6/19/20 12:13 PM, Panech, Davlet wrote:
Correction:
yum install \ http://mirror.starlingx.cengn.ca/mirror/centos/epel/dl.fedoraproject.org/pub... \ http://mirror.starlingx.cengn.ca/mirror/centos/epel/dl.fedoraproject.org/pub...
------------------------------------------------------------------------ *From:* Panech, Davlet <Davlet.Panech@windriver.com> *Sent:* June 18, 2020 1:08 PM *To:* starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io> *Subject:* Re: [Starlingx-discuss] CENGN build fialures + builder docker file changes Until this is fixed, I believe the following workaround should work:
Replace "yum install mock" in the Dockerfile with
yum install \
https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... \
https://kojipkgs.fedoraproject.org/packages/mock-core-configs/32.5/1.el7/noa...
D. ------------------------------------------------------------------------ *From:* Panech, Davlet <Davlet.Panech@windriver.com> *Sent:* June 18, 2020 12:55 PM *To:* starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io> *Subject:* [Starlingx-discuss] CENGN build fialures + builder docker file changes Hi all,
The CENGN build failed today due to (in part) problems with the Dockerfile:
https://opendev.org/starlingx/tools/src/branch/master/Dockerfile
- It uses latest CentOS & EPEL repos to pull packages from. Even though it's based on a pinned docker image, centos:7.4.xxx, it's yum repos point to mirror.centos.org (incl updates). So the first yum command in the docker file upgrades half the system towards 7.8 or whatever
- Our build scripts require mock <= 1.4.20, but what we get is version 2.x . Older compatible versions don't exist in CentOS or EPEL repos.
- Dockerfile installs (towards the end) all repo files from centos-mirror-tools globally. This makes "yum install" essentially unusable in the docker image once its built because that set includes a bunch of incompatible repos e.g. CnetOS 7.x and 8.x both enabled.
Note that these issues affect only the execution of build scripts -- individual RPMs are built in mock roots (inside Docker on CENGN) with their own yum configuration.
Proposed changes:
- Pin Dockerfile base image to centos:7.8.2003 (up from 7.4). This should be closer to what's been happening until now with latest packages being pulled in on top of a 7.4 base system as described above. - Replace global yum repo files with pinned URLs that point to 7.8 (using CentOS vault etc) . - Same for EPEL repos from here: https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/ - Install this version of mock: https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.... . This is the only build scripts - compatible mock RPM I can find. - As a separate effort we should update build scripts to support recent mock versions. But pinning to mock 1.4.x will help with the immediate build problems
Potential problem: Docker file installs anaconda, presumably because build-iso needs that (?). But if we pin centos repos, we will be creating ISO files based on the pinned anaconda packages. Unless build-iso itself runs inside mock, not sure it this is the case.
Thoughts, comments?
I'd like to get this fixed today if possible because it's gating CENGN builds.
Thanks, D. _______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
_______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
participants (2)
-
Panech, Davlet
-
Saul Wold