-
Notifications
You must be signed in to change notification settings - Fork 115
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
Orion v2 docker setup #4730
Orion v2 docker setup #4730
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Ok I just tested this by incorrectly merging into my local ephesus branch. The orion-processor seems to be stopping/restaring:
presumably the version of orion I built was not for the ephesus runtime. But does that indicate we need to deploy ephesus version of orion ahead of time like we are planning for the query-node? The issue appears to be with handing |
Works well with runtime from master branch. |
If it was built from Joystream/orion#107 then it wasn't the Ephesus version, correct. The Ephesus version is in a separate PR: Joystream/orion#103
Yes, we'll deploy the Ephesus version ahead of time (today).
It's understandable, because the mappings on the current |
- Rename docker image to `joystream/orion` - Add missing env variables - Adjust `start*` scripts - Adjust ansible configs
docker-compose.yml
Outdated
@@ -147,7 +147,7 @@ services: | |||
command: ['yarn', 'joystream-distributor', 'start'] | |||
|
|||
db: | |||
image: postgres:12 | |||
image: postgres:14 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we have deployments running with postgres12, re-deploying v14 will cause a problem.
Here is an example output log for container where I started system with v12, then updated compose file to use v14, and simply did docker-compose up -d db
so the recreated db using the same volume fails:
2023-05-15 12:22:25 2023-05-15 08:22:25.644 UTC [1] FATAL: database files are incompatible with server
2023-05-15 12:22:25 2023-05-15 08:22:25.644 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 14.8 (Debian 14.8-1.pgdg110+1).
2023-05-15 12:22:12
2023-05-15 12:22:12 PostgreSQL Database directory appears to contain a database; Skipping initialization
2023-05-15 12:22:12
2023-05-15 12:22:25
2023-05-15 12:22:25 PostgreSQL Database directory appears to contain a database; Skipping initialization
2023-05-15 12:22:25
2023-05-15 12:22:51
2023-05-15 12:22:51 PostgreSQL Database directory appears to contain a database; Skipping initialization
2023-05-15 12:22:51
2023-05-15 12:22:51 2023-05-15 08:22:51.910 UTC [1] FATAL: database files are incompatible with server
There is of course a tool available https://www.postgresql.org/docs/14/pgupgrade.html to transition.
Perhaps we can stick with v12 unless it is strictly required for some orion features, and we can provide a guide on how to migrate to v14?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for spotting this issue, I guess I didn't fully evaluate all the consequences of switching to v14
.
The reason I did that was because I noticed that some SQL function used by one of the Orion queries was missing in v12
and I realized that we use v14
in the Orion repo. Switching to v14
in the monorepo as well fixed this particular issue.
I think the easiest solution would be to run 2 separate db services like db
and orion-db
, where db
is v12
and used only by the query node, while orion-db
would be v14
and would be only used by Orion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two database instances would work 👍
I'm sure there are additional benefits to updating production instances to newer version? Performance, security fixes, but we can have separate guides for query-node operators to do that manually.
Depends on Joystream/orion#107
Can be tested by:
make build-docker
export RUNTIME_PROFILE=TESTING && yarn build:packages && yarn start