Open jeanqussa opened 10 months ago
@ralf-berger If we want to deploy the new version with new services (redis), do you have to do anything on your part or will everything happen automatically once we push to main?
@jeanqussa That would require me to update the deployment configuration. Can you point me towards a changeset that introduces Redis and the corresponding config of existing services?
@ralf-berger I am not sure what you mean by a changeset. I have done the following:
@jeanqussa Thanks. I prepared the following steps to change the live environments:
Renaming the corresponding volumes will cause them to be recreated, is that acceptable for both preview as well as production environment?
@ralf-berger Thank you. It is acceptable that the volumes will be recreated for preview as well as production, although we would like to first deploy only on edge.coursemapper.soco.inko.cloud while we test.
@jeanqussa Okay, just tell me when the changes are in master
and I'll modify the environment accordingly.
@ralf-berger I have merged the pull request just now. The changes are now in main
.
@jeanqussa https://edge.coursemapper.soco.inko.cloud/ has been updated and is ready for testing.
@ralf-berger It seems that it can no longer connect to webserver. Did you remove the location /api
section in the nginx configuration file?
Or forgot to rename upstream.
@jeanqussa webserver-web
logs the following entry about some redirect regarding POST /statements
. Does that mean it receives traffic or is this an outgoing connection attempt?
I don't know what that is, but it doesn't look like an incoming request.
@jeanqussa Thanks. I prepared the following steps to change the live environments:
* Remove coursemapper-kg-web (including routing of incoming web traffic) * Migrate webserver to webserver-web (splitting this component into multiple sub-components) * Migrate coursemapper-kg-neo4j to webserver-neo4j (passing connection data to webserver-web) * Add webserver-redis (passing connection data to webserver-web) * Add coursemapper-kg-worker-concept-map (passing webserver-* connection data =/) * Add coursemapper-kg-worker-resommendation (passing webserver-* connection data =/)
Renaming the corresponding volumes will cause them to be recreated, is that acceptable for both preview as well as production environment?
If you are using proxy
service, the problem might be that I didn't update the service names to the new ones yet. Should I update the service names and push again?
Found a mistake, I accidentially called a Service
object coursemapper-webserver-webserver-webserver
instead of coursemapper-webserver-webserver-web
.
It works now. Thank you.
webapp
is making a request to .../kg-api
, which was removed. There is no mention of it in the code anymore. Did you rebuild webapp?
Oh well, the build of the merge request failed. I'll restart it.
Image build relies on an unreliable external service.
I am using the wrong environment variable name. I have fixed and and am checking if it works.
It is deployed now, but it seems that webserver-web cannot connect to webserver-neo4j. Could you please check that the credentials are correct?
I'm getting messages about failing Redis connection attempts to 127.0.0.1:6379, even though REDIS_HOST
should to be configured correctly.
I have pushed a fix.
Could we somehow see the logs for coursemapper-kg-worker-concept-map?
Is it possible to see the logs from previous runs?
It looks like the coursemapper-kg-worker-concept-map is just getting killed and restarted at some point. Is it possible that there are imposed memory limits?
Yes, the workers have a memory limit of 4 GiB each, just like the previous coursemapper-kg. How much memory do they require?
10 GiB should be enough for coursemapper-kg-worker-concept-map, and 4 GiB for coursemapper-kg-worker-recommendation.
Updated—do you still see issues with restarts?
No, the issue is now resolved. Thank you.
@ralf-berger We are still having the issue with some inputs. Would it possible to increase the limit to 12 GiB for coursemapper-kg-worker-concept-map?
@jeanqussa When do you want the production environment to be updated?
@ralf-berger I am not sure yet, but I believe it has to happen before the end of the month. I will let you know in the next few days.
@ralf-berger The webserver service is down. Any idea why?
The webserver service is down. Any idea why?
@ralf-berger Can we start 2 additional services, coursemapper-kg-worker-modify-graph` and
coursemapper-kg-worker-expand-material? Their configuration is in
coursemapper-kg/concept-map/compose.yaml`. Memory requirement for each is 4 GiB.
@ralf-berger Sorry for the repetition, as @jeanqussa mentioned above, can we start 2 additional services, coursemapper-kg-worker-modify-graph` and coursemapper-kg-worker-expand-material? Their configuration is in
coursemapper-kg/concept-map/compose.yaml`. Memory requirement for each is 4 GiB.
Your help is highly appreciated
@ralf-berger Sorry for the repetition, as @jeanqussa mentioned above, can we start 2 additional services, coursemapper-kg-worker-modify-graph
` and coursemapper-kg-worker-expand-material? Their configuration is in
coursemapper-kg/concept-map/compose.yaml`. Memory requirement for each is 4 GiB. Your help is highly appreciated
Seems like something got messed there, the directory hierarchy doesn't match the proposed names and the Compose configuration you mentioned builds exactly the same container image three times using different names. ./coursemapper-kg/README.md
doesn't explain anything. Could you try to describe the purpose of the individual services and how they're related?
@ralf-berger Sorry for the repetition, as @jeanqussa mentioned above, can we start 2 additional services, coursemapper-kg-worker-modify-graph
` and coursemapper-kg-worker-expand-material? Their configuration is in
coursemapper-kg/concept-map/compose.yaml`. Memory requirement for each is 4 GiB. Your help is highly appreciatedSeems like something got messed there, the directory hierarchy doesn't match the proposed names and the Compose configuration you mentioned builds exactly the same container image three times using different names.
./coursemapper-kg/README.md
doesn't explain anything. Could you try to describe the purpose of the individual services and how they're related?
It is the same image, but three each service uses different environment variables. Since we are short on time, a quick solution would be to keep the services as they are in deployment, but change the PIPELINES environment variable for kg-concept-map as follows:
PIPELINES=concept-map,modify-graph,expand-material
Hello @ralf-berger , I would like to follow up on the status of this request as its quite urgent, please. Additionally, I am currently encountering some issues on Edge deployment that I cannot reproduce locally on main. I have issued 2 PRs but unfortunately, the job status is showing as failed. Your prompt assistance would be greatly appreciated. Thank you.
PIPELINES
is changed according to the comment above.
Introduction
This is a new architecture for the knowledge graph part of CourseMapper. It aims to resolve some issues related to the scalability and resilience of the current architecture. In the existing architecture, the client talks to the KG server directly to make requests. This is not ideal.
In this issue I propose that we split the KG backend into two parts:
Progress
Change coursemapper-kg such that data is only committed to Neo4j if the KG creation is successful