[FAL-2031] Add Redis support for Ocim provisioned instances
This Pull Request adds Redis cache support to Ocim. The changes won't take effect on already provisioned servers, but new ones or those that explicitly set to use Redis over RabbitMQ. This way we can slowly roll out changes for every server while we are not generating more work when new instances are created.
Dependencies Related PRs:
- https://github.com/celery/kombu/pull/1349
- https://github.com/celery/kombu/pull/1351
- https://github.com/edx/edx-platform/pull/28020
Screenshots:
Admin site integration of RedisServer
Instance admin configuration
Redis cluster showing the Ocim created user and its ACL
Sandbox URL: Upon request, I can create an ngrok URL for my local Ocim
Merge deadline: None
Testing instructions:
- Checkout the changes on Ocim stage
- Create a Redis user and ACL for Ocim if no user was created (or use the default user) and double-check the connection to the Redis server
- Set the necessary environment variables in the
.env
file (ie.DEFAULT_INSTANCE_REDIS_URL
) - Restart Ocim
- Provision a new app server
- Login with edX user
- Go to instructor/download data tab
- Download a grades report (as that uses celery, that would use Redis now)
- Validate the instructor task is finished successfully
A note about staging env: The instance creation nowadays is hectic -- it seems for some instances the LB URL registration did not work.
Author notes and concerns:
N/A
Reviewers
-
@pomegranited -
@swalladge -
@gabor-boros