Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update FAQ about 22.01 to 23.0 #5285

Merged
merged 3 commits into from
Sep 13, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions topics/admin/faqs/galaxy-update-22.05.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Updating from 22.01 to 23.0 with Ansible
area: ansible
box_type: tip
layout: faq
contributors: [hexylena]
contributors: [hexylena, lldelisle]
---

Galaxy introduced a number of changes in 22.05 and 23.0 that are extremely important to be aware of during the upgrade process. Namely a new database migration system, and a new required running environment (gunicorn instead of uwsgi).
Expand All @@ -14,24 +14,25 @@ Here is the recommended update procedure with ansible:

1. Update to 22.01 normally
2. Change the release to 22.05, and run the upgrade
1. Galaxy will probably not start correctly here, ignore it.
2. Run the database migration manually
1. Galaxy will probably not start correctly here, ignore it (even if the build fail, this if fine, just ignore).
2. Run the database migration manually (with the galaxy user with the venv activated)

```
GALAXY_CONFIG_FILE=/srv/galaxy/config/galaxy.yml sh manage_db.sh -c /srv/galaxy/config/galaxy.yml upgrade
GALAXY_CONFIG_FILE=/srv/galaxy/config/galaxy.yml sh /srv/galaxy/server/manage_db.sh -c /srv/galaxy/config/galaxy.yml upgrade
```

3. Update your system's ansible, you probably need something with a major version greater than 2.
3. Set the release to `23.0` and make other required changes. There are a lot of useful changes, but the easiest procedure is probably something like:
3. Update your system's ansible, you probably need something with a major version of at least 2.
4. Set the release to `23.0` and make other required changes. There are a lot of useful changes, but the easiest procedure is probably something like:

1. git clone https://github.com/hexylena/git-gat/
2. git checkout step-4
3. Diff and sync (e.g. `vimdiff group_vars/galaxyservers.yml git-gat/group_vars/galaxyservers.yml`) for the main configuration files:
2. cd git-gat
3. git checkout step-4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we might want to replace this with a commit, because the step-4 tag will evolve over time. might want to go back in time to 2023's version of this file to link to, hmm.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK I will find it.

Copy link
Collaborator Author

@lldelisle lldelisle Sep 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the step 4 of the first time git-gat has the release 23.0: a3324eef24445646325790489b8f572d9a7581c1 849c30058c5010440f2a0787ea053bfea530111a

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(ah those are trees not commit IDs), yeah that's the start and I guess we made a lot of changes over prep for that course, how about git checkout c2e7bf6d3584fbf3281fb57d8024a9189f957e0e which should be at the end of that series of updates and hopefully captures anything we discovered during testing.

hexylena marked this conversation as resolved.
Show resolved Hide resolved
4. Diff and sync (e.g. `vimdiff group_vars/galaxyservers.yml git-gat/group_vars/galaxyservers.yml`) for the main configuration files:

- group_vars/all.yml
- group_vars/dbservers.yml
- galaxy.yml
- requirements.yml
- requirements.yml (and don't forget to install the new role versions)
- hosts
- templates/nginx/galaxy.j2

Expand Down Expand Up @@ -95,12 +96,14 @@ Here is the recommended update procedure with ansible:
- uchida.miniconda is replaced with galaxyproject.conda
- usegalaxy_eu.systemd is no longer needed
- `galaxy_user_name` is defined in all.yml in the latest git-gat
- the `galaxy_job_config` needs to have a handling - assign set to `db-skip-locked`
lldelisle marked this conversation as resolved.
Show resolved Hide resolved
- git-gat also separates out the DB serving into a `dbservers.yml` host group

4. Backup your `venv`, `mv /srv/galaxy/venv/ /srv/galaxy/venv-old/`, as your NodeJS is probably out of date and Galaxy doesn't handle that gracefully
5. Do any local customs for luck (knocking on wood, etc.)
6. Run the playbook
7. Things might go wrong with systemd units
5. Backup your `venv`, `mv /srv/galaxy/venv/ /srv/galaxy/venv-old/`, as your NodeJS is probably out of date and Galaxy doesn't handle that gracefully
6. Do any local customs for luck (knocking on wood, etc.)
7. Run the playbook
8. Things might go wrong with systemd units
- try running `galaxyctl -c /srv/galaxy/config/galaxy.yml update` as root
- you may also need to `rm /etc/systemd/system/galaxy.service` which is then no longer needed
- you'll have a `galaxy.target` and you can instead `systemctl daemon-reload` and `systemctl start galaxy.target`
9. You may need to restart galaxy manually with `sudo galaxyctl restart`
Loading