Updating Opencast

254 views
Skip to first unread message

Markus Kehrer

unread,
Jan 25, 2020, 6:01:57 AM1/25/20
to Opencast Users
Hello everybody,

finally we are trying to update our very old opencast system to the latest version. We are still using 3.3 and the update is long overdue. Since i'm the only one "IT" guy in the team and i'm also not that well into opencast i want to clesar out some questions that i have before i begin. I did already resesarch here in the forum, that i have to update every single version step. So i guess it will be 3.3 -> 3.4 -> 3.5 -> 3.6 -> 3.7 -> 4.0 -> 4.1 -> 4.2 .... allt the way up to 8. Is this right? Am i not able to skip some versions, maybe just go for the .0 versions? My understading is that i can upgrade from 3.3 directly to 4.0 and then further to 5.0, 6.0, ...

Then i also read that you always first have to uninstall the current version before installing the new one. Does that mean i have to delete the config files from the current version, or is there maybe a process i can take? I dont wantto uninstall the database for sure. Do i also have to go trough the normal installing process for every new version? Just for clarity i want to be right in the process. So i guess that would look like that:


1. Stop your current Opencast instance
2. Back-up Opencast files and database (optional) (i would just download all important config files and perhabs make a mysql dump)
3. Upgrade the database (start the database upgrad files)
4. Replace Opencast 3.0 with 4.0
   4.1 Uninstall old version (just deleting?)
   4.2 Download the new version (using tarball)
   4.3 Check for dependecies and perhaps install
   4.4 Building Opencast
   4.5 Configure Opencast (Copy configs like url-path, user, login from old version)
   4.6 Run Opencast
5. Review the configuration changes and adjust your configuration accordingly
6. Upgrade the ActiveMQ configuration
7. Migrate the scheduler service
8. Re-build ElasticSearch index
9. Drop the old scheduler database table: DROP TABLE mh_scheduled_event;
10. Delete the old scheduler Solr data directory (data/solr-indexes/scheduler)

Sorry for the long post, i just want to be really sure about that. Now this is the complete upgrading process for 3.0 to 4.0, i hope. But i cant find documentation on upgrading from 3.3 to 3.4 and so on. Is it the same process?

Thanks a lot for the help. I think to clearly talk about it, will help amateurs like me in the future a lot too. 

Cheers Markus

Lars Kiesow

unread,
Jan 25, 2020, 8:03:52 AM1/25/20
to us...@opencast.org
Hi Markus,
good to see people are updating. Let me try to answer your questions…

> I did already resesarch here in the forum, that i have to update
> every single version step. So i guess it will be 3.3 -> 3.4 -> 3.5 ->
> 3.6 -> 3.7 -> 4.0 -> 4.1 -> 4.2 .... allt the way up to 8. Is this
> right? Am i not able to skip some versions, maybe just go for the .0
> versions? My understading is that i can upgrade from 3.3 directly to
> 4.0 and then further to 5.0, 6.0, ...

You can ignore all minor versions. There is no specific migration path
between A.1 and A.2 since they are meant to be drop-in replacements and
always safe to update. In between those versions it's always just
bugfixes, …

Hence, your upgrade path should be:

3.3 → 4.5 → 5.5 → 6.7 → 7.5 → 8.0

Depending on the migration, you might also be able to skip versions but
that's only if you know what you are doing and upgrading from one
version to the next is the safe choice :-)

However, you can spare yourself the tedious work of upgrading the
search indexes for every version. Just rebuild them once you have
Opencast 8 up and running.


> Then i also read that you always first have to uninstall the current
> version before installing the new one. Does that mean i have to
> delete the config files from the current version, or is there maybe a
> process i can take? I dont wantto uninstall the database for sure. Do
> i also have to go trough the normal installing process for every new
> version? Just for clarity i want to be right in the process. So i
> guess that would look like that:

This depends a bit on you you installed Opencast. For example, if you
use the RPM package repository, you could do something like:

sudo yum shell
> remove opencast3-...
> install opencast4-...
> run

This would upgrade Opencast, updating all configuration files in the
process you never modified. For configuration files you did modify,
check if there are any *.rpmnew files in /etc/opencast/. They are
updated configuration files which are not automatically applied since
you did modify the original configuration file. Here you should diff
the files, apply the necessary changes and finally remove the *.rpmnew
files.

You don't need to remove ActiveMQ ort the database server, they always
stay the same. Just update the database and the ActiveMQ configuration.

Speaking of ActiveMQ configuration, you only need to update the
configuration to the latest state if you need to start Opencast for the
configuration. For example, the 3.x to 4.x upgrade has a scheduler
migration which requires you to boot up Opencast once:

https://docs.opencast.org/r/4.x/admin/upgrade/#scheduler-migration

If there is a step like this, make sure to update the ActiveMQ
configuration and restart the service. If you don't need to start
Opencast, you can spare yourself the work.

One thing you may *never* skip is the database migration!

I hope this helped.

Best regards,
Lars

Markus Kehrer

unread,
Jan 25, 2020, 8:27:58 AM1/25/20
to Opencast Users
hey Lars,

thanks a lot for the detailed answer. Im sure this will help a lot.

Just one more thing regarding the upgrade. We always did install Opencast via Source. Downloading via tarball and installing via Maven. I think this way it is a little bit different. 
Installing it is easy. Just downloading the version, checking all dependecies and finally "$ mvn clean install", deploy and check user. But im not sure how to uninstall the previous version this way.

Again, thanks a lot. 

Lars Kiesow

unread,
Jan 25, 2020, 8:43:24 AM1/25/20
to us...@opencast.org
Hi Markus,
running `mvn clean install` will produce a number of distributions
which will end up the the folder build/. These you did extract and copy
to somewhere else. Essentially, what you now need to do is to

- find that place
- delete (or move away) everything except configuration and data
- move the new version in place
- compare configuration (here you will need to compare all the
configuration)

Btb, the tarballs you build are exactly the same you can download from
GitHub. If you want to spare yourself the work:

https://github.com/opencast/opencast/releases

–Lars

Markus Kehrer

unread,
Jan 25, 2020, 8:47:11 AM1/25/20
to Opencast Users
Awesome, thanks. That sounds like a bulletproof plan. And yes, i think using the git rep is a far more easy solutions too. Thanks.

I will update this post while upgrading in the next couple of days.

Markus Kehrer

unread,
Jan 28, 2020, 12:48:54 PM1/28/20
to Opencast Users
Hi again,

so i managed to successfully upgrade to version 4.5. However i run into an error installing version 5.5. Running $ sudo mvn clean install i always get error that something with sass might not be okay. Opencast Service is stopped and ActiveMQ is running. It seems that SASS cant be installed. I tried installing it locally and check the internet but couldn't find a working solution. Maybe this one is a known issue?

Got the logs here:

And the node logs as well:

Hope to find some help.

Karen Dolan

unread,
Jan 28, 2020, 1:06:20 PM1/28/20
to 'Ruth Lang' via Opencast Users
Markus,

If you do “ls -la /home/beuthbox/opencast/OC-Git-Rep/opencast/modules/admin-ui/node_modules” what does it say for permissions on that folder?

If it’s not there, try “ls -la /root/.m2/repository/com/github/eirslett/npm/5.6.0/npm-5.6.0.tar.gz” to see the permissions on that [1]

- Karen

[1] From you log, it looks like what ever is running the install might not have write permissions to the unpacked node_modules
 [INFO] Unpacking /root/.m2/repository/com/github/eirslett/npm/5.6.0/npm-5.6.0.tar.gz into /home/beuthbox/opencast/OC-Git-Rep/opencast/modules/admin-ui/node/node_modules

Lars Kiesow

unread,
Jan 28, 2020, 1:28:09 PM1/28/20
to us...@opencast.org
Hi Markus,
rule no 1: Don't every run things with sudo unless you absolutely have
to. Something like:

$ sudo mvn clean install

May write anything to everywhere in your system.


If you still want to build things from a git repository, after checking
out a new version run:

$ git clean -fdx

This will clean up your git repository and remove old build artifacts
and all other modifications to your git repository.


There should also be no need to build this at all. Just download the
tarballs from:

https://github.com/opencast/opencast/releases

Building from source will give you no advantage. You will end up with
the same artifacts. It does have the disadvantage of spending more time
and needing to have all build dependencies in place.


An additional warning, for some versions, you might need to replace
some repository configurations in order to boot Opencast. An easy way
to do that should be:

sed -i 's/http:/https:/' etc/org.ops4j.pax.url.mvn.cfg

Assuming that the location has not changed recently…

Best regards,
Lars



On Tue, 28 Jan 2020 09:48:54 -0800 (PST)

Markus Kehrer

unread,
Feb 4, 2020, 11:42:57 AM2/4/20
to Opencast Users
Sorry for the late reply. Your suggestion with just downloading the tarball worked pretty good for me. thanks a lot for that. 

And yes, gotta stay away from using sudo too much. 

Best Regards
Markus
Reply all
Reply to author
Forward
0 new messages