#287 closed defect (fixed)

qvm-dom0-upgrade fails

Reported by: joanna Owned by: joanna
Priority: major Milestone: Release 1 Beta 2
Component: core Keywords:
Cc:

Description

When run for the first time, without args, it complains about not being able to open /var/lib/qubes/updates/repodata/repmd.xml

When run with some argument (whatever, e.g. just a '-h'), the UpdateVM displays a message that some number of updates are available and if I want to download them. But then it fails with:

qfile-agent: Fatal error: stat *.rpm (error type: No such file or dir)

Change History (17)

comment:1 Changed 22 months ago by rafal

  • Owner changed from joanna to rafal
  • Status changed from new to assigned

comment:2 Changed 22 months ago by rafal

  • Owner changed from rafal to joanna

Suggested actions:
1) change to enable=1 in fedora.repo and fedora-updates.repo in qubes-release-1.1.noarch.rpm.
These files are copied to updateVM. There are "enable=0" lines there, yumdownloader cannot retrieve packages, and the *.rpm glob is not expanded (because there is no rpm files), thus an error.
2) having fixed 1, the repmd.xml will be created upon first successful package fetch; so I guess we do not need to create it manually in e.g. qubes-core-dom0 %post

Reassigning to joanna, to give a chance to object to 1).

comment:3 Changed 22 months ago by rafal

One more action: add --resolve to yumdownloader, so that in case user specifies a package as commandline argument, the required dependencies will be fetched as well.

comment:4 Changed 22 months ago by rafal

Another action: do "rpm --import /etc/pki/rpm-gpg/*" somewhere, e.g. in firstboot. Without it, qubes-receive-updates will fail (rather, rpm -Kv that it calls will fail).

comment:5 Changed 22 months ago by joanna

Well, we do *not* want to alert users (and let them automatically download) every update for every one of 700 rpms that are installed in Dom0. 99% of those updates would be irrelevant for Qubes Dom0.

Besides, I did try the following:

qvm-dom0-upgrade --resolve --enablerepo=fedora-updates vim

and it didn't help anyway. (This should have override the enables=0 flag).

comment:6 Changed 22 months ago by marmarek

The repo name is 'updates', not 'fedora-updates'.

Perhaps qvm-dom0-upgrade should have additional switch to include common options when installing new packages (--resolve --enablerepo=fedora --enablerepo=updates ?), or just add its when called with package name(s).

comment:7 Changed 22 months ago by joanna

I did use '--enablerepo=fedora,update', of course. It was just a typo above.

comment:8 Changed 22 months ago by marmarek

Ah, ok - there is no package 'vim'. Packages is named 'vim-enhanced'.
But of course message should be more descriptive (like "no packages to install")...

comment:9 Changed 22 months ago by joanna

[joanna@dom0 ~]$ qvm-dom0-upgrade --resolve --enablerepo=fedora,updates vim-enhanced
Checking for dom0 updates
Running command on VM: 'firewallvm'...
Loaded plugins: post-transaction-actions, presto, refresh-packagekit
file:///var/lib/qubes/updates/repodata/repomd.xml: [Errno 14] Could not open/read file:///var/lib/qubes/updates/repodata/repomd.xml
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: qubes-dom0-cached. Please verify its path and try again
vim-enhanced

comment:10 Changed 22 months ago by marmarek

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:11 Changed 22 months ago by joanna

  • Resolution fixed deleted
  • Status changed from closed to reopened

After I successfully did:

qvm-dom0-upgrade --resolve --enablerepo=fedora vim-enhancced

... I'm still unable to install the rpms, as the qubes-dom0-cached repo is not created under /var/lib/qubes/updates/

comment:12 Changed 22 months ago by rafal

  • Resolution set to fixed
  • Status changed from reopened to closed

As mentioned previously, probably the missing piece is
http://git.qubes-os.org/?p=rafal/installer.git;a=commit;h=3eda9af075c4fd5d4d9040d94959ab700aa63579
prebeta2 branch.

comment:13 Changed 22 months ago by joanna

  • Resolution fixed deleted
  • Status changed from closed to reopened

Yes, after manually doing rpm --import the qvm-dom0-upgrade seems to be working.

However, when I try to add a new package to dom0, e.g. vim-enhanced by doing:

qvm-dom0-upgrade vim-enhanced --enablerepo=updates --resolve

this correctly downloads all the rpms and puts them into /var/lib/qubes/updates/rpm, but doesn't make them visible to yum, i.e. yum list available returns nothing.

comment:14 Changed 22 months ago by rafal

This is yum caching issue - if you do as root "yum clean all; yum list available" it shows up, right ?
Do we want to add metadata_expire=0 to dom0 yum.conf ?

comment:15 Changed 22 months ago by joanna

  • Status changed from reopened to accepted

Yes, it worked after yum clean all!

yes, we would like to set expire=0, and also enable fedora repo by default. I will do it in a moment.

Also, we should either:
1) rename this tool to qvm-dom0-update-downloads, or
2) make the tool automatically call yum install with the list of packages passed previously to qvm-dom0-update

comment:16 Changed 22 months ago by joanna

Also, when I do qvm-dom0-upgrades in pre5, it first checks and tells me there are no updates (which is true), but when run subsequently it displays a dialog saying there are 2 downloads avilable. After I click OK, it downloads them, but they are not visible in Dom0 (it would be actually strange if they were, because there are *no* updates in this case).

comment:17 Changed 22 months ago by joanna

  • Resolution set to fixed
  • Status changed from accepted to closed

Hmm... this seems to be no longer a problem on the new ISO build. Closing.

Note: See TracTickets for help on using tickets.