Hi @SamuelMarks, glad to hear you’re putting the effort in to upgrade to Juniper! We’ve done migrations like this before, so can provide some advice.
It’s also worth checking the versions of your OS and supporting database software, to see if you need to upgrade any of these. Below are the minimum versions supported.
Release | Ubuntu | MySQL | MongoDB | RabbitMQ | Elasticsearch |
---|---|---|---|---|---|
Dogwood | 12.04 | 5.6 | 2.6.5 | 0.90 | |
Eucalyptus | 12.04 | 5.6 | 2.6.5 | 0.90 | |
Ficus | 16.04 | 5.6 | 3.0 | 3.2.1 | 0.90 |
Ginkgo | 16.04 | 5.6 | 3.0 is ok | 3.6.9 OC run 3.6.14 (erlang 20.3) | 1.5 |
Hawthorn | 16.04 | 5.6 | 3.2 | 3.6.14 (erlang 20.3) | 1.5 |
Ironwood | 16.04 | 5.6 | 3.2 | 3.6.14 (erlang 20.3) | 1.5 |
Juniper | 16.04 | 5.6 | 3.6 | 3.6.14 (erlang 20.3) | 1.5 |
I have some bad news for you – there’s no skipping steps. Also, some of the releases have minor releases that you have to run database migrations for as well. For instance, there’s 3 steps needed to migrate through Ficus successfully, because of breaking migrations caused by external libraries like django_social.
So for each step, you’ll need to checkout the named version tag, update the dependencies, and then run the LMS + Studio migrations.
You may also encounter issues with the python libraries, since python 2.7 is now obsolete, and so some dependencies may no longer exist. So I recommend creating a new virtualenv for each step, in case you need to roll back and forth.
We’ve used the following migration pathway with success.
- Eucalyptus.1
- Eucalyptus.3
Eucalyptus links are to OpenCraft’s branches which have some dependency changes that might be helpful. - Ficus.1
- Ficus.3
- Ficus.4
- Ginkgo.1
Rundrop_djcelery_tables
prior to running migrations for ginkgo.1. - Hawthorn.1
- Hawthorn.2
- Ironwood.1
- Ironwood.2
- Juniper.2
No need to go viajuniper.1
(small win!).
Best of luck to you on this epic journey