Migrate from Eucalyptus to Juniper

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.

  1. Eucalyptus.1
  2. Eucalyptus.3
    Eucalyptus links are to OpenCraft’s branches which have some dependency changes that might be helpful.
  3. Ficus.1
  4. Ficus.3
  5. Ficus.4
  6. Ginkgo.1
    Run drop_djcelery_tables prior to running migrations for ginkgo.1.
  7. Hawthorn.1
  8. Hawthorn.2
  9. Ironwood.1
  10. Ironwood.2
  11. Juniper.2
    No need to go via juniper.1 (small win!).

Best of luck to you on this epic journey :mountain: