|
| 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. |
| 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. |
0 commit comments