Skip to content

Commit 38d0f6e

Browse files
chore(docs): Add Microservices Project week 9 report
Signed-off-by: Muhammad Salman <chsalmanramzan422@gmail.com>
1 parent 35cfb72 commit 38d0f6e

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: Week 9
3+
author: Muhammad Salman
4+
author_url: https://github.com/SalmanDeveloperz
5+
tags: [gsoc25, cmake, infrastructure, devops]
6+
7+
---
8+
<!--
9+
SPDX-License-Identifier: CC-BY-SA-4.0
10+
11+
SPDX-FileCopyright Text: 2025 Muhammad Salman <chsalmanramzan422@gmail.com>
12+
-->
13+
14+
# Week 9
15+
16+
*(July 29, 2025 – August 04, 2025)*
17+
18+
## Database Column Fixes
19+
Earlier, the infrastructure was causing issues on running it locally at http://192.168.49.2:32035/ showing errors.![Database missing Column Issues](< databaseColumnIssues.png>)
20+
21+
I focused on resolving these missing database columns to make it running. I worked on adding some missing columns that were critical for the Web Agent to function correctly. After making these fixes, I also rebuilt the container images with the latest changes to keep everything up to date.
22+
The missing columns are:
23+
24+
- `create_sysconfig.sql`
25+
- `create_uploadtree.sql`
26+
- `populate_sysconfig.sql`
27+
- `additional_tables.sql`
28+
- `create_additional_tables.sql`
29+
30+
## Scheduler Agent & Dependencies
31+
32+
Our main focus is currently on the Scheduler Agent, which plays a key role in coordinating other agents like `Ojo` and `Nomos`. In our weekly call, we discussed ways to strengthen its integration with these dependent agents. The scheduler tracks available agents, and for now, we’ve decided to continue with the **curl-based** approach, where it pings the master node to check agent status.
33+
34+
## Meeting 1:
35+
36+
*(July 30, 2025)*
37+
38+
### Attendees:
39+
40+
- [Avinal](https://github.com/avinal)
41+
- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd)
42+
- [Gaurav](https://github.com/gmishx)
43+
- [Muhammad Salman](https://github.com/SalmanDeveloperz)
44+
45+
### Scheduler and Agent Tracking:
46+
47+
- The scheduler’s role is to keep track of which agents are available.
48+
49+
- We discussed replacing the current **curl-based** ping to the master node with a shared resource approach (shared volume).
50+
51+
- Curl approach → supports dynamic reloading (scheduler detects automatically).
52+
53+
- Shared volume approach → requires manual or controller-based reloads.
54+
55+
- Final agreement: for now, continue with **curl** since it’s working, then later explore shared volume.
56+
57+
### Focus on Getting Curl Running First:
58+
59+
[Avinal](https://github.com/avinal) asked whether we should continue making **curl-based** scheduling work. [Gaurav](https://github.com/gmishx) suggested to first get it into a running state with **curl**. Once stable, we can think about alternatives.
60+
61+
### Service Issues:
62+
63+
- [Avinal](https://github.com/avinal) pointed out a problem where installing certain dependencies starts services automatically.
64+
65+
- We discussed how this affects the setup, especially with PostgreSQL and other services.
66+
67+
### Binary vs. Services Approach:
68+
69+
- I suggested compiling agents as standalone binaries instead of depending on PostgreSQL inside the container.
70+
71+
- This would remove service requirements from each Dockerfile but needs significant rework.
72+
73+
- We also noted and understand by help of [Gaurav](https://github.com/gmishx) how environment variables and entrypoint scripts currently generate config files for agents.
74+
75+
### Dockerfile Updates:
76+
77+
- [Avinal](https://github.com/avinal) asked me to write a cleaner, optimal and updated **Dockerfile.ojo** , so he can tested on his end.
78+
79+
- I worked on **Dockerfile.ojo** and sent updated one after testing that on my end and fully compatible with the current **curl-based** scheduler setup to [Avinal](https://github.com/avinal) for testing.
80+
81+
## Meeting 2:
82+
83+
*(July 24, 2025)*
84+
85+
In the community call, I explained about fixing the database issues, mainly adding the missing columns needed for the Web agent. I also rebuilt the images with these changes. Right now, our main blocker is still the **scheduler** agent and dependent agents like **ojo** and **nomos** and some other. We also discussed keeping **curl-based** checks for the agents’ status, and maybe simplifying the setup later, like using a standalone binary instead of relying on PostgreSQL inside the containers.
86+
87+
## What’s Next for Week 10
88+
89+
- Get feedback of **Dockerfile.ojo** which I sent to mentor for testing with **curl-based** setup.
90+
- Fix the scheduler pod’s database connectivity
91+
- Connect with mentors for planning final phase of work
92+
- Test all pods, agents and the UI in Minikube to confirm everything’s rock-solid.
316 KB
Loading

0 commit comments

Comments
 (0)