Skip to content

v0.1.0

Latest
Compare
Choose a tag to compare
@nderjung nderjung released this 26 Aug 11:25
· 3 commits to main since this release

Changelog

94b76b5 Initial release (v0.1.0)
68f1083 job: Add missing import
f577ece Dockerfile: Set GOROOT
e1187e7 run: Remove unused import
90d99bc job: TODO: check CPU is online
2998750 job: Fix try-again print
570a58d run: Use lancs-net fork of netns
8861aeb examples: Add NGINX permutation results from paper
ac01b56 chore: Change netns namespace and bump
ee72351 examples: Add test file for unikraft-nginx
916b957 run/runner: Use bash over sh
2713ffe examples: Initial unikraft-nginx
280dd43 examples: add lupine measurements
bd04f95 examples: add unikraft/firecracker experiments
1741cc8 examples: add solo5 memusage
05c5cce rework osv experiments
b889654 add unikraft memory usage
e3238b3 update osv and unikraft boot time experiments
a1f2513 examples: add unikraft-qemu-boottime
1c033d2 job/job: Correct comment
16b12c6 job/job: Add tasks.json to results dir
a94ca19 job/job: Error on no parameters
407f2f5 run/runner: Copy in inputs rather than mounting
cadb9f3 run/runner: Statically add random device mounts
a548e93 cmd,run,job: Add retry to runs
6aa6970 cmd/run: Use spaces over tab
dcfc63d cmd/run: Fix libcontainer bug with dirty directory
c885d54 job/job: Correct comment
d767e51 Merge branch 'main' of github.com:lancs-net/ukbench into main
34dd6fc examples: add rump solo5 boot time
f4d2b05 examples: add Hermitux memory usage
a74d95b examples: remove env exports in Hermitux boot time script
70d1f89 examples: add hermitux-boottime
ee2543d examples: add osv-boottime
afd5590 job/prep: Enable IPv4 forwarding on host
a912f89 examples: add osv-memusage
839d5e8 cmd/run: Early creation of the results directory
3685a4b cmd/run: Add job clean up method to exit routine
9bdbd74 job/job: Provide active task clean up method for job
0074d71 run/runner: Fix runner clean up
570ceeb job/task: Save Runner to ActiveTaskRun
73787e4 job/job: Indicate that job finished with errors
4e768a6 examples: Clean up bridge after exit
809d263 examples: Create unique bridge and IP for experiment
34a7b06 examples: Add concrete iperf3 example
19ffb4a runn/net: Do not call bridge create on init
7c23b72 run/runner: Only warn on missing output file
ae4a940 job,run: Pass additional capabilities defined by run
25757f9 run/runner: Copy the output into the run if it exists
f968f34 run/runner: Pass device config for /dev/kvm and /dev/net/tun
f8c7c9d job/job: Multiply number of tasks by number of runs
8585c87 job/job: Write the permutations of tasks to tasks.json
9194974 job/job: Show current progression through total tasks
303fa59 job/task: Add core IDs to environmental variables of run
47dbbbc run/image: Delete unused method
1e96a2e run/runner: Fix weird libcontainer bug
31d6dfc run/runner: Delete rootfs after complete
a3c4e13 run,job: Move Run struct to run namespace
71c58b8 cmd/run: Fix missing import
170b0e4 job/job: Fix power step calculation
1c912bc job/job: Pre-emptively pull images before all runs
c9a00c4 run/runner: Fix comment
a27812b run/runner: Copy results for output
52c5641 chore: Add missing dependency
ae3e29c run/runner: save rootfs to structure
bd56fe5 job/task,run/runner: Make clear distinction between results and work dir
0f33d6e run: Rename to runner
4676588 run: Merge run.go and runc.go files
4945800 run/run: Only use the internal path
89a4236 run/runc: Save output directories
6e7cdf7 run/runc: Pin to CPU
43f4b95 run,job: Pass task param as environmental var to container
32c7bd0 job/job: Remove verbose logging info
8117603 job/job: Output the execution time
9d77169 log: Create a new fun success log type
6788921 run,job: Record the execution time of the job
b15ef25 run/runc: Remove newline from log
424346e job/prep: Only warn for failing to set scaling governor and intel turbo
24a13fd job/job: Output waiting tasks and core count on debug
d73d356 job/task: Correct logger text
d6394b1 run/runc: Remove ID mapping and add cgroup mounts
f7e7c3f run/runc: Add missing imports
9b840a3 run/runc: Remove unnecessary namespaces
de07ec8 run/runc: Set libcontainer's cache directory relatively
b907d69 run/runc: Add a debug message on container destruction
57d209a run/runc: Set the process argument based on the task's run
d6b5152 run/runc: Set the task's process as init.
f2ec76c run/runc: For a task's cmd, save to an init entrypoint file
9fa50f9 run/runc: Add additional path masks and order
e74de47 run/runc: Move defaults to greate scope and introduce default env
40f2c2a run/runc: use variable to summarise capabilities
73ca31c run/runc: Set cgroup name to task's run
ea5136d run/runc: Parse and mount job inputs
939d304 run/runc: Import mount options parser
40e8d30 run/runc: I go to a British University.
764ba23 run/runc: Attach the container to the bridge using a hook
5cc9894 chore: Create network bridge and pass to task's run
9dd058d run/run: Fix missing dryRun param
b56f9c7 run,job/task: Pass task Inputs and Outputs to runner
8eed85b log: Only print non-empty lines
29e1564 chore: Standardise dry run via paramaterisation
8218fcb cmd/run,job/job: Add bridge to runtime config
adfa21b cmd/run,job/job: Add dry run as config attribute
26e23c7 cmd/run: Prepare the general cache directory
73efa5e cmd/run: Create flags for bridge interface
b2789d5 job,run: Move Input and Output structs to run namespace
354e466 {run,job}/prep: Move prep to job namespace
1b0d021 run/prep: Disable drop fs cache (temporary)
c87de77 run/prep: Check if userns is possible
b7e02ad run/prep: Check if proc file is not listening
b17c017 job/task: Add core IDs to runner config
7ef698c run/run: Rename CpuSets to CoreIds
65e6933 job/task: Add list of devices to runner config
a75eb8e job/task: Destroy runner after run
3c3306c job/task: Set runner path and cmd or error
4fbfe58 run/run: Return more verbose error message
accd5ae run/runc: Check for internal attribute
ee0580f run: Use pointers for interface
f08d05b job/task: Destroy container on failure
05ed82a run/runc: Move run and destroy to appropriate methods
2d71186 run,job/task: Rename Start Method and add error code
15cefe9 run: Remove Wait() method
14ffccd run/run: Fix indentation
851bda5 run/prep: Add unprivileged userns clone to env prep
1838328 run/runc: Add boilerplate runc container starter.
92cf322 job/task,run/run: Add name to runner config
338f0a7 job/task: Add cache directory to runner config
3d54b80 job/task,run/run: Add allow override flag
33e5af5 log/log: Implement io.Writer for logger
cee5fd6 run/runc,cmd/init: Initialize runc with entrypoint
60827cd run/runc: Use pull and unpack methods for runc
4243c0f run/image: Method to untar container image to directory
81fbc2b run/image: Method to pull container image as tarball
d00ff7d run/image: Fix indentation and line wrap
31b516e job/task: Fix directory creation logic
3029940 run/run,job/task: Use image defined in config
e8c4b58 job/job: Add missing override flag to config
0c36d31 run/runc: Provide interfaces for RUNC
9c5fec7 job/task: Initialize the runner
697af01 run/run: Create interface for different runners
0ce29dd job/job: Catch task initialisation errors
5e09a97 job/task: Check if allowed to override or fail
835998c cmd/run,job: Flag to override files in working directory
989327b job/task: Method to determine if directory is empty
8375599 cmd/run,job: Add working directory
26eecd7 run/run,run/image: rename Parse to ParseImageName
4cf1e58 run/run: Use parsing to determine runtime
1648f93 run/image: Set default runtime
dd8a286 run/image: Use new struct in Parse
0610bcf run/image: Add image tag as attribute
f755838 run/image: Add runtime as attribute
796e5c6 run/image: Turn interface into struct and rename
1d4f9dc run/image: Copy in named interface.
67f4eb8 run/image: Copy in default image attributes.
faa0f75 run/image: Copy in consts and parser error definitions.
4fbb108 run/image: Copy in Parsing function for image name reference.
3547625 run/regex: Add licensing to file
d6632c5 run/regex: Add runtime definition to complete reference
4c2b495 run/regex: Add runtime protocol-like definition
f1a5264 run/regex: Add word regular expression
83b91c6 run/regex: Fix package
e3f5a94 run/regex: Copy in regular expressions for container images.
fa4ce21 examples/jobs: Update example with expected output
6e817ef job/job: There's an abstraction for this now
ba8f6bc job/job: Change log from debug to info
d59aca7 job/job: Remove log as too verbose
8764d55 job/job: Move log for when task is actually being scheduled
5f3e46b job/job: Fix concurrency of reading tasks in flight
dfdabd7 Makefile: Use bash instead of sh for devenv
307286a Makefile: Fix indentation
aec3ecb Makefile: Provide debug symbols
fe6a9fb Dockerfile,Makefile: Use debian stretch over alpine
3e55044 cmd/run: Remove whitespace
db4ba03 cmd/run: Change starting core to 2
710d0ed job/job: Add missing dependencies
6082ed5 job/job: Create a scheduler for task runs
e9fdaf0 cmd/run: Early init of CTRL+C interrupt handler
15ed73e job/job: Create a scheduling wait time
34e612d job/job: After parsing all tasks, parse runs and add to waiting list
654f9c0 job/job: Global list of active task runs
a9fab5b cmd/run,job/job: Pass runtime configuration
f9c82b5 job/job: Create a waiting list of tasks
9e4bb14 job/job: Debug output for job file
1a20f73 log/log: Add missing dependency
41143b8 log/log: Use internal logger
f33a3d3 log/log: add fatal level shortcuts
789fe51 log/log: add error level shortcuts
11e2a18 log/log: add warning level shortcuts
c6ba7da log/log: add info level shortcuts
87c8d01 log/log: add debug level shortcuts
c420873 log/log: log level setter and getter
f42d537 log/log: log message parser and outputter
4f0f2cc log/log: Initialize global logger
75c3e21 log/log: Generic Logger interface
7273a02 job/task: Add missing imports
2f49b8b job/task: Placeholder for starting the run
d20e2b4 job/task: Active Task's run constructor
f81b358 job/task: Create UUID for active task
02bd36e job/task: Structure for an active task run
9a2a070 job/task: Method to create UUID for task
361f8d7 job/task: Method to cancel task
a002aed job/task: Task constructor
10540ec job/list: Add missing import
014585c run/prep: Fix missing param
0297cac run/prep: Correctly return read error
41f2587 job/list: Thread-safe generic list getter
6cac8d7 job/list: Thread-safe generic list length
8cecbda job/list: Thread-safe generic list item remover
6635bb9 job/list: Thread-safe generic list adder
aeb32b1 job/list: Create generic list constructor
fc6dd96 job/list: Create generic lsit structure
7c3aebb job/list: Method to get map
3d75663 job/list: Release core method
eb08bb4 job/list: Retrieve run at core
3f60bd8 job/list: Provide mechanic to occupy core
1afed9e job/list: Provide mechanic to determine free cores
1a68fdc job/list: Provide initializer for CoreMap
ba70c6c job/list: Create map of cores and active task runs
11a0c4e job/queue: Create method to peak next item
3f9cc00 job/queue: Create method to clear queue
9f7eae8 job/queue: Rename method
b696c80 job/job: comment parseParamInt
bb58e28 job/job: comment parseParamStr
ea09ac4 job/job: Correctly return error
2c357e7 job/job: comment paramPermutations
5a7e947 job/queue: Save capacity to struct
36a63e8 job/queue: Rename structure
3767cbe job/queue: Fix missing commas
270265e job/queue: Fix indentation
2c65aff job/queue: Add authorship
095effb job/queue: Fix formatting, missing variables and module.
379a2d2 job/queue: Add LICENSE to queue implementation.
e07ede4 job/queue: Import missing queue error handling.
5393fa9 job/queue: Import fixed FIFO queue implementation.
adb6352 job/job: Set how many cores run can use
fe3a2a1 cmd/run: Provide short flag for dry-run
f45631c job/job: Use images and devices for runs
deef17e job/job: Allow for multiple runs
bdcf7d5 job/job: Add indentation
04e58f6 job/job: Fix spelling mistake
f8f788c job/job: Warn if parameter not parsed
b6e13f0 job/job: Create recursive method to iterate all params
98854e3 job/job, job/task: Provide immediate TaskParam
513c807 job/job: Rename method
e6d1fad job/job: Make step maximum inclusive
4d1c06e job/job: Set step to string for later conversion
3728c38 job/job: Expand parameters
1272286 examples/jobs: Add two types to example
68fc4e9 cmd/run: Add missing dependencies
0ec4296 job/job: Create TODO
9b1100c run/prep: Disable Intel turbo mode
a4d018e cmd/run, run/prep, jop/job: Pass iterated CPUs for scaling governor
c912460 cmd/run, run/prep: Add a flag for dry-run mode
ec126ea cmd/run: Provide method to parse CPU sets
bd3f0b3 run/prep: Provide some section commenting
39319f6 run/prep: Disable ASLR
1c689e4 run/prep: Drop file system caches
ff08d1b run/prep: Better organize environment
f3e448b run/prep: Create TODO
6ba4aa2 run/prep: Seperate procfs to its own method
70b0cff cmd/run, job/job: Provide start job
52f3728 cmd/run: Discover default CPU sets
39beb91 cmd/run: Fix indentation
b5ffd03 cmd/run: Fix indentation
16e35a7 cmd/run: Add CPU sets flag
4808a2c cmd/run: Add job parsing
ac41c3b job/job: Re-order imports
7d594ea cmd/run: Add environmental prep to run
7f3c341 run/prep: Provide means of setting/reseting procfs
c2fff90 Add yaml to dependencies
d158f51 dist: Add output directory
bf2ef7a Initial gitignore
252a1a6 job: Parse job file
90c201d Initial Golang project template
2efd3d1 examples/jobs: Add initial test job file
1fb3b7b Initial commit (empty)