0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-10-18 18:08:45 +00:00
Commit Graph

5200 Commits

Author SHA1 Message Date
Maria Matejka
dc29cefb44 Flock: converted HCS to the parser framework 2024-10-05 15:54:15 +02:00
Maria Matejka
20c3706efc Flock: fixed some random bugs but there are obviously some more 2024-10-05 15:54:15 +02:00
Maria Matejka
8cc7596e44 Flock: the logger actually works, lol, 2024-10-05 15:54:15 +02:00
Maria Matejka
e74a3af6d2 Flock: Even more fd cleanupc 2024-10-05 15:54:15 +02:00
Maria Matejka
8cbbb17f79 Flock: looped container logger 2024-10-05 15:54:15 +02:00
Maria Matejka
08b052f8b4 Flock: Even more fd cleanup 2024-10-05 15:54:15 +02:00
Maria Matejka
77e21c6b7d Flock: a bit more fd closing 2024-10-05 15:54:15 +02:00
Maria Matejka
fb10346860 Flock: one more cloexec 2024-10-05 15:54:15 +02:00
Maria Matejka
ddbfc5557b Flock: more filedes cleanup 2024-10-05 15:54:15 +02:00
Maria Matejka
90ffd2e3d3 Flock: filedescriptor cleanups in hypervisor 2024-10-05 15:54:15 +02:00
Maria Matejka
eba15c08d3 Flock lower memory settings 2024-10-05 15:54:15 +02:00
Maria Matejka
41e2b8ac0c Flock minor fixes 2024-10-05 15:54:15 +02:00
Maria Matejka
e9a4a1510e Flock: Now it is very hairy but the containers do actually run. 2024-10-05 15:54:15 +02:00
Maria Matejka
3fac94828f Flock trying to overlayfs (bad) 2024-10-05 15:54:15 +02:00
Maria Matejka
56aff8ef39 Flock: telnet to machines 2024-10-05 15:54:15 +02:00
Maria Matejka
d36ad6af6a Flock: Stopping containers from CLI 2024-10-05 15:54:15 +02:00
Maria Matejka
f1519fc9b7 Flock: Container killing 2024-10-05 15:54:15 +02:00
Maria Matejka
8e5c2a67c1 Flock CLI: starting containers 2024-10-05 15:54:15 +02:00
Maria Matejka
e4981ce012 Flock: CLI connects via telnet to hypervisor 2024-10-05 15:54:15 +02:00
Maria Matejka
53919e8d9d Flock: CLI first try (starts and stops the hypervisor) 2024-10-05 15:54:15 +02:00
Maria Matejka
ac66a8dc00 Flock: containers are actually created 2024-10-05 15:54:15 +02:00
Maria Matejka
60a2c4e921 Flock: pausing 2024-10-05 15:54:15 +02:00
Maria Matejka
7fdd25369a Flock: Storing machines (TMP) 2024-10-05 15:54:15 +02:00
Maria Matejka
9b892f3f6a Flock: seems like machines being actually created 2024-10-05 15:54:15 +02:00
Maria Matejka
37eda0276c Flock: nicer logging (setting distinct thread ids) 2024-10-05 15:54:15 +02:00
Maria Matejka
3406590533 Flock: Now the container code looks like doing at least something 2024-10-05 15:54:15 +02:00
Maria Matejka
7b4b471d5a Flock: misc 2024-10-05 15:54:15 +02:00
Maria Matejka
4bc6d4f466 Container runner basics 2024-10-05 15:54:15 +02:00
Maria Matejka
fab5458476 Flock: Machine adding code in parser 2024-10-05 15:54:15 +02:00
Maria Matejka
55bb0ae4b3 Flock: Polished the command-line options 2024-10-05 15:54:15 +02:00
Maria Matejka
861b37b2fe Flock: storing and passing telnet info 2024-10-05 15:54:15 +02:00
Maria Matejka
6f3c5339e7 Flock: Zombie children reaping 2024-10-05 15:54:15 +02:00
Maria Matejka
19dae2c622 Flock: Telnet connection to hypervisor seems to work well 2024-10-05 15:54:15 +02:00
Maria Matejka
b6aca48277 Flock: telnet request sends the request 2024-10-05 15:54:15 +02:00
Maria Matejka
2fcffc544e Flock: shutdown command sends a reply 2024-10-05 15:54:15 +02:00
Maria Matejka
cafd775a41 Flock: Fixed the exposed process mainloop 2024-10-05 15:54:15 +02:00
Maria Matejka
7affe9296e Flock: Added a proper shutdown routine requestable also from CLI 2024-10-05 15:54:15 +02:00
Maria Matejka
a8862fd7aa Flock: Converted signalling through sigatomic_t to full event sending 2024-10-05 15:54:15 +02:00
Maria Matejka
1d8fcee05c Flock: Hypervisor control socket CBOR push parser
It reads some data, the actions are not implemented yet.
2024-10-05 15:54:15 +02:00
Maria Matejka
5fdd7c6ac6 Flock: Hypervisor has a control socket (not doing anything yet tho) 2024-10-05 15:54:15 +02:00
Maria Matejka
01bfa5ebf3 Flock: Creating the hypervisor and the external-contact process
This is the first part of rewriting Flock to C to significantly reduce
memory footprint of individual machines from 20+M in Python to (goal)
less than 1M. Now the process eats ~460k and I suspect that this won't
even be the consumption per machine in total as fork() is involved and
some parts of the memory will be heavily shared.
2024-10-05 15:54:15 +02:00
Maria Matejka
8d5fcfc6e8 Lib: added a generic CBOR parser framework 2024-10-05 15:54:15 +02:00
Maria Matejka
850bbf02c1 Lib: added tmp_v?sprintf and tmp_strdup allocating from tmp_linpool 2024-10-05 15:54:15 +02:00
Maria Matejka
169677deeb Birdloop pipe is set O_CLOEXEC.
If we decide to exec something, we shouldn't pass along our intenal fds.
2024-10-05 15:54:15 +02:00
Maria Matejka
0eb1548cc4 Debug: Do not compile allocator debug journals in unless requested.
These journals can become very memory-heavy when it comes to
constrained environments where every 100k of RAM matters.
2024-10-05 15:54:15 +02:00
Maria Matejka
5400add300 Minimalist mainloop implementation 2024-10-05 15:54:15 +02:00
Maria Matejka
723569bc5d Properly handling situations when birdloops are created before spawning threads 2024-10-05 15:54:15 +02:00
Maria Matejka
0fc0e4618f Allocator parameters can be configured now. 2024-10-05 15:54:15 +02:00
Maria Matejka
d27c2b6ec5 Socket: pausing and restoring RX is a little bit more checked 2024-10-01 14:26:31 +02:00
Maria Matejka
d8df9c5d62 Socket: error hook is called from a function 2024-10-01 14:26:25 +02:00