Scylla: Scylla 2.2 to 2.3 upgrade procedure for Ubuntu upgrades the entire host, not just the Scylla packages

Created on 4 Oct 2018  Â·  9Comments  Â·  Source: scylladb/scylla

The guide at https://docs.scylladb.com/upgrade/upgrade-guide-from-2.2-to-2.3-ubuntu-16-04/ suggests using dist-upgrade, which will upgrade all the packages of the OS, not just scylla. For users who prefer not to touch other configured and locked down system components, we need a better procedure.

I would suggest something like

for i in `dpkg -l |grep scylla | awk '{ print $2 }'`; do 
    sudo apt-get install $i $(dpkg-query -Wf '${Depends}' $i | sed 's/ *\(([^()]*)\)\? *[,|] */\n/g') 
done

It seems to work in general, but needs to be tested properly

Example:

  • Install an old version of ubuntu 16.04
  • Install Scylla 2.2
  • make sure the kernel isn't the latest available
  • run the scriptlet above
  • make sure kernel isn't touched, while all the Scylla packages are upgraded

Most helpful comment

Can someone explain why apt update scylla, which updates a metapackage does not work as expected?

I don't think this is a documentation issue. There must be something wrong with how our package is configured.

All 9 comments

It's a good point but I think that users are better off to run the latest
OS.
It's worth to comment that the standard upgrade will upgrade the OS and in
a comment suggest your option.

On Wed, Oct 3, 2018 at 5:44 PM dyasny notifications@github.com wrote:

The guide at
https://docs.scylladb.com/upgrade/upgrade-guide-from-2.2-to-2.3-ubuntu-16-04/
suggests using dist-upgrade, which will upgrade all the packages of the
OS, not just scylla. For users who prefer not to touch other configured and
locked down system components, we need a better procedure.

I would suggest something like

for i in dpkg -l |grep scylla | awk '{ print $2 }'; do
sudo apt-get install $i $(dpkg-query -Wf '${Depends}' $i | sed 's/ (([^()]))\? *[,|] */\n/g') done

It seems to work in general, but needs to be tested properly

Example:

  • Install an old version of ubuntu 16.04
  • Install Scylla 2.2
  • make sure the kernel isn't the latest available
  • run the scriptlet above
  • make sure kernel isn't touched, while all the Scylla packages are
    upgraded

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/scylladb/scylla/issues/3812, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABp6RR5CYPp7d5Z5khBX0iGQyOYPvY3-ks5uhVoFgaJpZM4XHLgL
.

Good point @dyasny please open an issue (or send PR) to the internal doc repo
I agree with @dorlaor it's worth mentioning, but good practice anyway so we can keep the process simple.

Closing this is a doc issue

Can someone explain why apt update scylla, which updates a metapackage does not work as expected?

I don't think this is a documentation issue. There must be something wrong with how our package is configured.

And btw, while @dorlaor's suggestion about keeping the OS up-to-date makes sense (and we can state that in the documentation), that's not related to apt update scylla not doing the right thing.

So can someone explain why the current behavior is correct?

This issue was brought up by a Scylla user who explicitly did not want to upgrade any other packages due to $reasons. And these reasons are quite valid in enterprise environments.

reopen is this might be a package dependency issue

@dyasny can you please clarify which update command was used?
The docs include

sudo apt-get update
sudo apt-get dist-upgrade scylla

If the first line is the issue, we should add a disclaimer in the doc
if the second, the problem is in the packaging

@tzach it is the second command. dist-upgrade will upgrade all the packages, not just Scylla. The command I provided above might not be very idempotent. So we need a better option

Was this page helpful?
0 / 5 - 0 ratings