Update troubles

After a long hiatus I recently went to update our backup/testing server from 3.8.7 and have run into numerous issues.

Firstly the old repo is gone, so Rockstor thought it was up to date.

I tracked down and added in the new testing repo, then did an update. There were many errors showing up, the shares weren’t getting mounted, and the software update page was stuck because there was no update channel selected.

Ok, so I reverted the update, then updated to 3.8.8 . This worked and allowed me to select an update channel. Further updates still resulted in errors and the shares no mounting.

3.8.9.11 wasn’t working because it was trying to downgrade to an older version of python, but the packages were no longer in the standard Centos repo. Manually downloading and installing those packages got it working.

I then got stuck on getting 3.8.10.19 working. It is trying to import snapshots (created outside of Rockstor) and not handling a space in the path. I fixed that up by editing fs/btrfs.py to handle spaces in the output, basically adding a maxsplit parameter to the split operations so the path at the end doesn’t get split on spaces. (I have not tested for other bugs that I would probably run into if I tried to do any management on the snapshots, but this gets Rockstor starting and the shares mounting)

These changes also allow 3.8.11.20 to work.

Our main server is still on 3.8.4, and it would be good if these issues could be sorted to allow for a smoother update.

Great to see you again @sprint! Good point about spaces in snapshot names. I’ll get to this sooner than later, but please don’t hesitate to open a pull request with your changes to fs/btrfs.py. That will definitely speed things up. I think we need to change the api endpoints to be id based, which is the right thing to do anyway.

Regarding other issues like python downgrade, it’s really out of our control. There were major upstream changes due to CentOS 7.2 release during 3.8-10 I believe and we put and exclude for python and python-libs. I believe that it would be convoluted without a doubt if you try update from anything prior to 3.8-7. You’ve seen how it is with your server so far.

If this is a commercial usecase, we can help you via paid support and it could be faster. Send me a PM if you are interested. Otherwise, I and others can help you via this forum to the extent possible.

Depending on how much work it is to recreate users and other config you might have on the main server, one approach to think about is to do a new install of 3.8-12 and import data post install. See this reinstall howto.

Thanks, I have made the pull request. Never used git before so I hope I did it correctly.

I am hoping to be able to get the update done with at most 1/2hr downtime, which puts a reinstall out of the question. But I am fairly confident that I have the main issues sorted.

It would have been helpful to have the original repo still existing with the 3.8.8 version so that older versions still have an upgrade path. Then when they update to 3.8.8 the new repos should get added allowing further updates. RE the python downgrade: can’t you just put the packages into the Rockstor repos?

1 Like

They are in Rockstor repo. But there was a catch-22 when the issue was first discovered, and we moved the two packages to rockstor repo.

Thanks for the pull request. I’ll take a look.

My system can’t see them:
`# yum --showduplicates list python
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile