Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bind mount local repos to bootstrap chroot when use_bootstrap_image is used #381

Closed
mkutlak opened this issue Oct 18, 2019 · 5 comments · Fixed by #454
Closed

Bind mount local repos to bootstrap chroot when use_bootstrap_image is used #381

mkutlak opened this issue Oct 18, 2019 · 5 comments · Fixed by #454
Assignees
Labels
bootstrap enhancement feature request, rfe

Comments

@mkutlak
Copy link

mkutlak commented Oct 18, 2019

ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 1cc147f14ac049e4a7cc7c64a85c6758 -D /var/lib/mock/187917158-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.d3n75yyg:/etc/resolv.conf --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/187917158/rpmconfig --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=en_US.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 /usr/bin/dnf --installroot /var/lib/mock/187917158/root/ --releasever 31 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk install will-crash shadow-utils abrt-addon-ccpp rpm gdb --setopt=tsflags=nocontexts
DEBUG: Unsharing. Flags: 134217728
Failed to set locale, defaulting to C.UTF-8
No matches found for the following disable plugin patterns: local, spacewalk
Failed to download metadata for repo 'retrace_fedora'
Ignoring repositories: retrace_fedora
No match for argument: will-crash
No match for argument: shadow-utils
No match for argument: abrt-addon-ccpp
No match for argument: rpm
No match for argument: gdb
Error: Unable to find a match: will-crash shadow-utils abrt-addon-ccpp rpm gdb

default.cfg:

config_opts['root'] = '187917158'
config_opts['target_arch'] = 'x86_64'
config_opts['chroot_setup_cmd'] = 'install will-crash shadow-utils abrt-addon-ccpp rpm gdb'
config_opts['package_manager'] = 'dnf'
config_opts['releasever'] = '31'
config_opts['bootstrap_image'] = 'fedora:31'
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = True
config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts'] = { 'create_dirs': True,
                                'dirs': [
                                        ('/var/cache/retrace-server/fedora-31-x86_64', '/var/cache/retrace-server/fedora-31-x86_64'),
                                        ('/var/spool/retrace-server/187917158/crash', '/var/spool/abrt/crash'),
                                ] }

config_opts['yum.conf'] = """
[main]
cachedir=/var/cache/yum
debuglevel=1
reposdir=/dev/null
logfile=/var/log/yum.log
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
syslog_ident=mock
syslog_device=

#repos
[retrace_fedora]
name=retrace_fedora-31-x86_64
baseurl=file:///var/cache/retrace-server/fedora-31-x86_64/
skip_if_unavailable=1
"""
@xsuchy
Copy link
Member

xsuchy commented Nov 1, 2019

This should starts working now as side effect of 7951d7b. Please try latest build from https://copr.fedorainfracloud.org/coprs/g/mock/mock/

@mkutlak
Copy link
Author

mkutlak commented Nov 1, 2019

Still doesn't work.

INFO: Pulling image: fedora:31
Trying to pull registry.redhat.io/fedora:31...Failed
Trying to pull quay.io/fedora:31...Failed
Trying to pull docker.io/fedora:31...Getting image source signatures
Copying blob sha256:d318c91bf2a81634e0283fb7e7362efdd7c21164b60b74498360756dc82a95d9
Copying config sha256:f0858ad3febdf45bb2e5501cb459affffacef081f79eaa436085c3b6d9bd46ca
Writing manifest to image destination
Storing signatures
f0858ad3febdf45bb2e5501cb459affffacef081f79eaa436085c3b6d9bd46ca
INFO: Copy content of container fedora:31 to /var/lib/mock/108489513-bootstrap/root
Mock Version: 1.5.0
INFO: Mock Version: 1.5.0
Start(bootstrap): dnf install
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 710a1d9d685b43c2b6c339e6c9160123 -D /var/lib/mock/108489513-bootstrap/root -a --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/108489513-bootstrap/rpmconfig --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=C --setenv=LC_MESSAGES=C.UTF-8 /usr/bin/dnf --installroot /var/lib/mock/108489513-bootstrap/root/ --releasever 31 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk install dnf dnf-plugins-core shadow-utils distribution-gpg-keys --setopt=tsflags=nocontexts
No matches found for the following disable plugin patterns: local, spacewalk
Failed to download metadata for repo 'fedora-WHAAAAAAAAAAAT'
Error: Failed to download metadata for repo 'fedora-WHAAAAAAAAAAAT'

@praiskup
Copy link
Member

praiskup commented Nov 1, 2019

The baseurl=file:///var/cache/retrace-server/fedora-31-x86_64/ can not work, unless we do some hack similar to 151e774. I'm curious whether it is worth the trouble, didn't you want to use --chain and --localrepo?

@praiskup
Copy link
Member

praiskup commented Jan 25, 2020

I'm reopening this. We actually only fixed --bootstrap-chroot, not --use-bootstrap-image.

...
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start: cleaning package manager metadata
Finish: cleaning package manager metadata
INFO: enabled HW Info plugin
Mock Version: 1.5.0
INFO: Mock Version: 1.5.0
Start: dnf install
Failed to set locale, defaulting to C.UTF-8
No matches found for the following disable plugin patterns: local, spacewalk
fedora                                                                                                                                                                                                        41 kB/s |  13 kB     00:00    
test repo                                                                                                                                                                                                    0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'blah':
  - Curl error (37): Couldn't read a file:// file for file:///var/cache/blahblah/repodata/repomd.xml [Couldn't open file /var/cache/blahblah/repodata/repomd.xml]
Error: Failed to download metadata for repo 'blah': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 618d0a3fbc7f44a491d5fa3f2414d9fb -D /var/lib/mock/fedora-rawhide-x86_64-bootstrap/root --capability=cap_ipc_lock --bind=/tmp/mock-resolv.yqeri212:/etc/resolv.conf --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-x86_64/rpmconfig --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=en_US.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 32 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk install @buildsys-build --setopt=tsflags=nocontexts
Failed to set locale, defaulting to C.UTF-8
No matches found for the following disable plugin patterns: local, spacewalk
fedora                                                                                                                                                                                                        41 kB/s |  13 kB     00:00    
test repo                                                                                                                                                                                                    0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'blah':
  - Curl error (37): Couldn't read a file:// file for file:///var/cache/blahblah/repodata/repomd.xml [Couldn't open file /var/cache/blahblah/repodata/repomd.xml]
Error: Failed to download metadata for repo 'blah': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

@praiskup praiskup added bootstrap enhancement feature request, rfe labels Jan 25, 2020
@praiskup
Copy link
Member

Anyways, this shouldn't block the release IMO (the --use-bootstrap-image isn't planned
to be turned on by default).

@dturecek dturecek self-assigned this Jan 29, 2020
@praiskup praiskup changed the title Bind mount local repos to bootstrap chroot when use_bootstrap_container is used Bind mount local repos to bootstrap chroot when use_bootstrap_image is used Feb 14, 2020
praiskup added a commit to praiskup/mock that referenced this issue Mar 13, 2020
The 'mount --rbind -o rprivate' on EL7 does weird things;  it looks like
it actually reverses the '--rbind' option and does only '--bind'.  Using
just 'private' seems to do the same (good) thing on both EL7 and modern
Fedora.

This fixes local baseurl=file:// repositories with bootstrap, and
yum_chache plugin on EL7.

Fixes: rpm-software-management#381
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bootstrap enhancement feature request, rfe
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants