Discussion:
Not possible to sysupgrade via snapshots right now?
Scott Vanderbilt
2021-05-08 23:58:53 UTC
Permalink
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page, in the FAQ, or by Googling.

Is it not possible to do a sysupgrade from 6.9-current to latest using
snapshots at the moment? When I try, I get the following response from
sysupgrade:

$ doas sysupgrade
Fetching from https://ftp.OpenBSD.org/pub/OpenBSD/7.0/amd64/
sysupgrade: Error retrieving
https://ftp.OpenBSD.org/pub/OpenBSD/7.0/amd64/SHA256.sig: 404 Not Found

It's been this way for the past three days. Presumably something to do
with the recent release of 6.9.

Many thanks in advance.
trondd
2021-05-09 01:04:24 UTC
Permalink
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page,
What is sysupgrade trying to do? What do you want it to do?

No? Read it again. It's not that long.
trondd
2021-05-09 01:13:17 UTC
Permalink
Post by trondd
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page,
What is sysupgrade trying to do? What do you want it to do?
No? Read it again. It's not that long.
That got sent before I was ready. :(

Reread the man page, is what I was refering to.
Scott Vanderbilt
2021-05-09 01:19:45 UTC
Permalink
Post by trondd
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page,
What is sysupgrade trying to do? What do you want it to do?
No? Read it again. It's not that long.
Another responder politely pointed out I needed to add the -s switch,
which in fact eliminated the error.

But your reply seems to imply I'm doing something unreasonable.
I looked at the -s switch in the man page, where it says:

-s Upgrade to a snapshot. This is the default if the system
is currently running a snapshot.

I thus disregarded this switch for two reasons:

(1) As I am already running a snapshot (6.9-current as stated in my
original post), I concluded that the switch would effectively be a NOOP
since it specifically says it's the _default behavior_ under these
circumstances.

(2) I've used sysupgrade without the -s switch for years and it's always
worked fine.

What is not clear or explained anywhere that I can find is why it
behaves differently right now. Notwithstanding your suggestion, reading
the man page more than once does not make the answer magically appear.
trondd
2021-05-09 01:59:08 UTC
Permalink
Post by Scott Vanderbilt
Post by trondd
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page,
What is sysupgrade trying to do? What do you want it to do?
No? Read it again. It's not that long.
Another responder politely pointed out I needed to add the -s switch,
which in fact eliminated the error.
But your reply seems to imply I'm doing something unreasonable.
-s Upgrade to a snapshot. This is the default if the system
is currently running a snapshot.
(1) As I am already running a snapshot (6.9-current as stated in my
original post), I concluded that the switch would effectively be a NOOP
since it specifically says it's the _default behavior_ under these
circumstances.
(2) I've used sysupgrade without the -s switch for years and it's always
worked fine.
What is not clear or explained anywhere that I can find is why it
behaves differently right now. Notwithstanding your suggestion, reading
the man page more than once does not make the answer magically appear.
Probably too late now, but what did `sysctl kern.version` actually show?

If you were still in the period after -beta and before switching back to
-current, the system will be detected as a release version.
Stuart Henderson
2021-05-09 11:04:53 UTC
Permalink
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page, in the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest using
snapshots at the moment? When I try, I get the following response from
This can only have happened if you were running a "6.9" kernel and
not "6.9-current". You might still have the boot messages to confirm;
zgrep OpenBSD /var/log/messages*
Scott Vanderbilt
2021-05-09 14:47:32 UTC
Permalink
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page, in the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest using
snapshots at the moment? When I try, I get the following response from
This can only have happened if you were running a "6.9" kernel and
not "6.9-current". You might still have the boot messages to confirm;
zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in question
was running 6.9-current prior to the attempt to run sysupgrade.

Is it possibly relevant that the upgrade files were "cached" to a host
on my LAN before the sysupgrade? I typically download all the upgrade
files to a local machine and sysupgrade that machine first. Then for two
other machines on my network, I sysupgrade with /etc/installurl pointing
to my local server. I do this to prevent multiple downloads from the
OpenBSD servers.

Might having SHA256.sig come from one location while the other upgrade
files come from a second location possibly confuse sysupgrade?
Stuart Henderson
2021-05-11 07:12:23 UTC
Permalink
Post by Scott Vanderbilt
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious answer, but
I could not find one in the sysupgrade man page, in the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest using
snapshots at the moment? When I try, I get the following response from
This can only have happened if you were running a "6.9" kernel and
not "6.9-current". You might still have the boot messages to confirm;
zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in question
was running 6.9-current prior to the attempt to run sysupgrade.
Can you have a look at the shell script which is /usr/sbin/sysupgrade and
see if you can figure out how? It doesn't seem possible to me (unless you're
doing something you didn't mention, like using sysupgrade -r).
Post by Scott Vanderbilt
Is it possibly relevant that the upgrade files were "cached" to a host
on my LAN before the sysupgrade? I typically download all the upgrade
files to a local machine and sysupgrade that machine first. Then for two
other machines on my network, I sysupgrade with /etc/installurl pointing
to my local server. I do this to prevent multiple downloads from the
OpenBSD servers.
That's not a problem as long as the normal directory structure is used.
Post by Scott Vanderbilt
Might having SHA256.sig come from one location while the other upgrade
files come from a second location possibly confuse sysupgrade?
If SHA256.sig doesn't match the signature of the other files in the
directory then it won't run the update, same as if a snapshot is only
partially updated on a mirror server (which happens sometimes).
Robert Klein
2021-05-11 08:42:07 UTC
Permalink
On Sun, 9 May 2021 07:47:32 -0700
Post by Scott Vanderbilt
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious
answer, but I could not find one in the sysupgrade man page, in
the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest
using snapshots at the moment? When I try, I get the following
This can only have happened if you were running a "6.9" kernel and
not "6.9-current". You might still have the boot messages to
confirm; zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in
question was running 6.9-current prior to the attempt to run
sysupgrade.
maybe you had a snapshot claiming to be “release”. This typically
happened in the past a couple of days around the actual release. If
you look at the history of sys/conf/newvers.sh (e.g. at the github
mirror, if CVS is too much effort for one file) you'll see 6.9 went out
of beta on April, 4 and into current on April 18. I'd guess snapshots
made during this period all are marked “release”.

Best regards
Robert
Scott Vanderbilt
2021-05-11 15:17:23 UTC
Permalink
Post by Robert Klein
On Sun, 9 May 2021 07:47:32 -0700
Post by Scott Vanderbilt
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious
answer, but I could not find one in the sysupgrade man page, in
the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest
using snapshots at the moment? When I try, I get the following
This can only have happened if you were running a "6.9" kernel and
not "6.9-current". You might still have the boot messages to
confirm; zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in
question was running 6.9-current prior to the attempt to run
sysupgrade.
maybe you had a snapshot claiming to be “release”. This typically
happened in the past a couple of days around the actual release. If
you look at the history of sys/conf/newvers.sh (e.g. at the github
mirror, if CVS is too much effort for one file) you'll see 6.9 went out
of beta on April, 4 and into current on April 18. I'd guess snapshots
made during this period all are marked “release”.
Bingo. The upgrade history on the machine in question went from:

OpenBSD 6.9 (GENERIC.MP) #469: Fri Apr 16 11:07:03 MDT 2021

to:

OpenBSD 6.9-current (GENERIC.MP) #9: Sat May 8 14:55:48 MDT 2021

So the Apr 16 snapshot I assumed to be 6.9-current was masquerading as
6.9 release. Now it's all making sense. Thanks for pointing that out.
Edgar Pettijohn
2021-05-11 10:41:21 UTC
Permalink
On May 11, 2021 3:42 AM, Robert Klein <***@roklein.de> wrote:

On Sun, 9 May 2021 07:47:32 -0700
Post by Scott Vanderbilt
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious
answer, but I could not find one in the sysupgrade man page, in
the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest
using snapshots at the moment? When I try, I get the following
This can only have happened if you were running a "6.9" kernel
and
Post by Scott Vanderbilt
Post by Stuart Henderson
not "6.9-current". You might still have the boot messages to
confirm; zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in
question was running 6.9-current prior to the attempt to run
sysupgrade.
maybe you had a snapshot claiming to be “release”. This
typically
happened in the past a couple of days around the actual release. If
you look at the history of sys/conf/newvers.sh (e.g. at the github
mirror, if CVS is too much effort for one file) you'll see 6.9 went
out
of beta on April, 4 and into current on April 18. I'd guess
snapshots
made during this period all are marked “release”.

Best regards
Robert


This is similar to how pkg_* requires -Dsnap from time to time. I've just
trained myself to always use the flags so as not to let the software
Scott Vanderbilt
2021-05-11 15:18:24 UTC
Permalink
Post by Robert Klein
On Sun, 9 May 2021 07:47:32 -0700
Post by Scott Vanderbilt
Post by Stuart Henderson
Post by Scott Vanderbilt
Apologies if this is a question to which there is an obvious
answer, but I could not find one in the sysupgrade man page, in
the FAQ, or by Googling.
Is it not possible to do a sysupgrade from 6.9-current to latest
using snapshots at the moment? When I try, I get the following
This can only have happened if you were running a "6.9" kernel
and
Post by Scott Vanderbilt
Post by Stuart Henderson
not "6.9-current". You might still have the boot messages to
confirm; zgrep OpenBSD /var/log/messages*
I can assure you with absolute certainty that this machine in
question was running 6.9-current prior to the attempt to run
sysupgrade.
maybe you had a snapshot claiming to be “release”. This
typically
happened in the past a couple of days around the actual release. If
you look at the history of sys/conf/newvers.sh (e.g. at the github
mirror, if CVS is too much effort for one file) you'll see 6.9 went
out
of beta on April, 4 and into current on April 18. I'd guess
snapshots
made during this period all are marked “release”.
This is similar to how pkg_* requires -Dsnap from time to time. I've just
trained myself to always use the flags so as not to let the software have
to decide for me.
Excellent advice. I will make a habit of doing this going forward.

Many thanks.

Loading...