# Migrate from Eucalyptus to Juniper

**URL:** <https://discuss.openedx.org/t/migrate-from-eucalyptus-to-juniper/2881>\
**Category:** Development\
**Tags:** how-to, juniper\
**Created:** [August 3, 2020, 7:24am UTC](https://discuss.openedx.org/t/migrate-from-eucalyptus-to-juniper/2881 "2020-08-03T07:24:05Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![jill](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jill/32/3188_2.png) [@jill](https://discuss.openedx.org/u/jill)\
**Post date:** [August 11, 2020, 7:40am UTC](https://discuss.openedx.org/t/migrate-from-eucalyptus-to-juniper/2881/6 "2020-08-11T07:40:40Z")

</div>

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](https://github.com/edx/configuration/blob/named-release/dogwood.3/playbooks/roles/mysql/defaults/main.yml) | [2.6.5](https://github.com/edx/configuration/blob/named-release/dogwood.3/playbooks/roles/mongo/defaults/main.yml#L2) | | 0.90 |
| Eucalyptus | 12.04 | 5.6 | 2.6.5 | | 0.90 |
| Ficus | 16.04 | 5.6 | [3.0](https://github.com/edx/configuration/tree/open-release/ficus.4/playbooks/roles/mongo_3_0) | 3.2.1 | 0.90 |
| Ginkgo | 16.04 | 5.6 | 3.0 is ok | [3.6.9](https://github.com/edx/configuration/blob/master/playbooks/roles/rabbitmq/defaults/main.yml#L44) 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 |

> [@SamuelMarks](#):
>
> But I’d really prefer to avoid all this heartache and just go straight to Juniper… or at least skip some steps.

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](https://github.com/omab/python-social-auth/blob/master/MIGRATING_TO_SOCIAL.md#migrations).

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](https://github.com/open-craft/edx-platform/tree/opencraft-release/eucalyptus.1-anu)
2. [Eucalyptus.3](https://github.com/open-craft/edx-platform/tree/opencraft-release/eucalyptus.3-anu)  
Eucalyptus links are to OpenCraft’s branches which have some dependency changes that might be helpful.
3. [Ficus.1](https://github.com/edx/edx-platform/tree/open-release/ficus.1)
4. [Ficus.3](https://github.com/edx/edx-platform/tree/open-release/ficus.3)
5. [Ficus.4](https://github.com/edx/edx-platform/tree/open-release/ficus.4)
6. [Ginkgo.1](https://github.com/edx/edx-platform/tree/open-release/ginkgo.1)  
Run [`drop_djcelery_tables`](https://github.com/open-craft/configuration/commit/43f335884c4d7f2d177b611b7396f0cf93ddd708#diff-8adf653342c019cbddd4c067db24c92cR7) prior to running migrations for ginkgo.1.
7. [Hawthorn.1](https://github.com/edx/edx-platform/tree/open-release/hawthorn.1)
8. [Hawthorn.2](https://github.com/edx/edx-platform/tree/open-release/hawthorn.2)
9. [Ironwood.1](https://github.com/edx/edx-platform/tree/open-release/ironwood.1)
10. [Ironwood.2](https://github.com/edx/edx-platform/tree/open-release/ironwood.2)
11. [Juniper.2](https://github.com/edx/edx-platform/tree/open-release/juniper.2)  
No need to go via `juniper.1` (small win!).

Best of luck to you on this epic journey ⛰

---

_[View the full topic](https://discuss.openedx.org/t/migrate-from-eucalyptus-to-juniper/2881)._
