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
Katerina Kubecova
9f27bfc6fc
Porting the CBOR encoder from the YANG branch
...
Minor cleanups by commiter.
(source commit 43ff10204b
but expected
to be rebased later, don't worry if you fail to find it)
2024-10-01 14:26:00 +02:00
Maria Matejka
253ce95bc9
Added mb_strdup() to complement other similar functions
2024-10-01 14:26:00 +02:00
Maria Matejka
65086fda3d
Moved sk_open_unix() to common lib
2024-10-01 14:26:00 +02:00