489 Commits

Author SHA1 Message Date
E M
23da2c36ec
add back spot toleration just in case 2026-05-01 10:30:22 +10:00
E M
2296352586
Remove spot tolerations for now, since we moved to using on demand VMs 2026-04-30 18:44:46 +10:00
E M
d30706d2c5
codex -> logosstorage volume name 2026-04-30 13:49:30 +10:00
E M
b8f9cb7297
use correct taint, not label
Was preventing pods from starting correctly, due to affinity/selector mismatch
2026-04-29 19:12:39 +10:00
E M
5f2b537fcd
refactor: replace scheduling affinity with explicit node pool label selection
Replace the indirect `SetSchedulingAffinity(notIn: "false")` / `allow-tests-pods` mechanism with `ScheduleInPoolsWithLabel(key, value)` and `AddToleration(key, value, effect)` in ContainerRecipeFactory. This is much more readable from an API perspective. `SetSchedulingAffinity(notIn: "false")` was a double-negative (hard to reason about) and it was not clear that this was meant to schedule on pools with labels `allow-tests-pods=true`.

Previously, pods were steered to the spot node pool via a node affinity exclusion on a boolean label (`allow-tests-pods NotIn ["false"]`), and spot taint toleration was added implicitly by using the `system-node-critical` priority class. The priority class was removed earlier because it caused a ResourceQuota admission error in GCP, which silently broke spot node scheduling.

The new API is explicit: recipes call `ScheduleInPoolsWithLabel` to set a nodeSelector label that targets the intended pool, and `AddToleration` to declare any taints the pool carries. Tolerations are set at the recipe level to allow for the recipe to move back to Digital Ocean if needed (removing the unneeded toleration). All four recipes (storage, prometheus, discord bot, rewarder bot) now call both.

Cleanup applied alongside:
- `PodToleration` converted to a record for structural equality and simpler deduplication
- `ExposedPorts`, `InternalPorts`, `EnvVars`, `Volumes` on `ContainerRecipe` changed to
  `IReadOnlyList<T>` for consistent immutable typing
- `SetCriticalPriority` property renamed to `IsCriticalPriority`
- `GetPriorityClassName` returns `string?` instead of `null!`
- `Reset()` extracted in `ContainerRecipeFactory` to consolidate post-create state reset
- Fixed bug: `nodePoolLabels` and `tolerations` were passed by reference and then cleared,
  leaving the recipe with empty collections; now snapshotted before clearing
- `SchedulingAffinity.cs` deleted (no remaining callers)
2026-04-29 16:45:55 +10:00
E M
8e861b9f5b
fix: remove system critical priority
In Google Cloud, the system critical priority is reserved for GKE internals and not needed here. This is likely blocking pods from being created within the tests container
2026-04-28 19:46:23 +10:00
Eric
13d453d5ed
chore: Docker updates to support release tests in logos-storage-nim, and remove Codex references (#124)
* ci(docker): build dist-tests images

* Update to .net 10, kubernetes client 18.0.13

Kubernetes client 18.0.13 is compatible with Kubernetes 1.34.x. The Kubernetes version is selected automatically by kubeadm in docker desktop (v1.34.1). See https://github.com/kubernetes-client/csharp#version-compatibility for a compatibility table.

* Updates to support Kubernetes upgrade

* bump openapi.yaml to match openapi.yaml in the logos-storage-nim docker image

* bump doc to .net 10

* bump docker to .net 10

* Build image with latest tag always

Always build an image with a latest tag (as well as a sha commit hash) when there's a push to master

* docker image tag as "latest" only when pushing to master

* Update docker image to install doctl

* Remove doctl install

kubeconfig is now created and uses a plain bearer token instead of using doctl as a credential mgr

* Rename and remove all instances of Codex

* Further remove CodexNetDeployer as it is no longer needed

---------

Co-authored-by: Adam Uhlíř <adam@uhlir.dev>
2026-04-17 15:03:22 +10:00
Adam Uhlíř
ab49a58333
refactor: removing marketplace (#122) 2026-02-11 10:18:06 +01:00
Ben
c16397ae47
Disables assert on contract config values check 2025-09-01 10:35:40 +02:00
Ben
365e78f050
logging also when proof will be required 2025-08-25 13:56:33 +02:00
Ben
74dbdfba17
Adds will-be-required to log 2025-08-25 11:15:00 +02:00
Ben
e03f5982d3
Requires new contracts image with configurable marketplace config 2025-08-25 11:11:56 +02:00
thatben
275937a814
Cleanup stability test. Add test to check when proof is required 2025-08-22 18:55:01 +02:00
Ben
9aa377131d
Adds stability test 2025-08-21 10:51:05 +02:00
Ben
015eaef638
Prints all chain calls every period 2025-08-21 09:54:46 +02:00
Ben
35816141a3
Trying to prove disconnects slow down clients 2025-08-19 10:47:46 +02:00
Ben
4e093f12d7
wip 2025-08-15 12:02:33 +02:00
Ben
2e1039a70f
better representation of proof state 2025-08-13 15:23:31 +02:00
Ben
82fde74c36
improves proof period monitoring 2025-08-13 13:54:33 +02:00
Ben
5f793c6454
adds wait-and-check to theseus test 2025-08-13 11:35:03 +02:00
Ben
6f5d6d2c03
Fixes eth conversion issue in nethereum sendEth. Adds test to cover this. 2025-08-05 15:02:52 +02:00
thatben
7427c80d77
Mint command can now transfer tokens as well 2025-07-31 12:53:11 +02:00
thatben
9499e53bcf
GethNode interface exposes EthAddress 2025-07-31 09:27:02 +02:00
ThatBen
a80c5c0d08
Replaces decimal with bigint in Eth abstraction 2025-07-30 09:04:07 +02:00
ThatBen
be2f266278
Increases timeout in swarm tests. Reducing filesizes for marketplace tests. 2025-07-09 19:38:53 +02:00
ThatBen
944404cef7
Increases timeout for streamless downloads 2025-07-09 19:07:00 +02:00
ThatBen
ade1d9943d
Fixes PluginTools interface 2025-07-09 14:48:51 +02:00
ThatBen
f6e272d2c5
Makes download timeout duration configurable from codexnode API. Increases default timeout to 10 minutes. 2025-07-09 14:44:10 +02:00
ThatBen
16bf9d466b
Ease up timeouts and resource usage in attempt to run tests in cluster. 2025-07-09 10:49:13 +02:00
Ben
42c2008588
Making the tests more stable in unstable cluster environments 2025-07-08 13:34:43 +02:00
Ben
2ce2da4d46
Fixes faulty customization of chain generated DTOs 2025-07-07 15:53:26 +02:00
Ben
60e2d03c62
Adds checks to ensure contracts can be found onchain before and after they finish 2025-07-07 12:01:08 +02:00
ThatBen
54eb65594a
Test for transferring tokens 2025-07-03 11:03:13 +02:00
ThatBen
28fcb32527
Merge branch 'feature/replace-event-filter-with-logs' 2025-07-01 08:24:15 +02:00
Ben
5154713ff2
Adds request details to trace-contract output 2025-06-30 09:47:52 +02:00
ThatBen
b8def4db27
wip 2025-06-26 13:40:32 +02:00
Ben
30610b7f20
Updates to hardhat ignition 2025-06-25 14:30:53 +02:00
ThatBen
561f277e76
Adds isRepair to onSlotFilled event from chainState. 2025-06-20 14:22:34 +02:00
ThatBen
fb07ec8024
I'm dumb 2025-06-20 12:53:10 +02:00
ThatBen
14f149558f
Allows seeing duplicate new-request events 2025-06-20 12:42:24 +02:00
ThatBen
48555223f8
debugging trace-contract 2025-06-20 12:13:34 +02:00
Ben
536d297365
Adds crash-watcher to contract deployment 2025-06-17 14:03:38 +02:00
Ben
5056ac1454
Updates for release candidate of v0.2.4 2025-06-12 08:32:17 +02:00
Ben
99e0e75ded
checking and responding to availability of codex node 2025-06-10 15:19:40 +02:00
ThatBen
0c74acab11
Updates dataset size name 2025-06-09 10:14:30 +02:00
ThatBen
aa4576c97d
Fixes nullref in marketplace config extension 2025-06-06 08:23:35 +02:00
ThatBen
b7781a6eae
Makes WaitForFailed state look for "Errored" state response 2025-06-05 17:14:27 +02:00
Ben
6c99c7a7cf
update 2025-06-05 12:56:45 +02:00
Ben
44d14e589a
This is working 2025-06-04 15:51:01 +02:00
Ben
64d271c809
merge finished 2025-06-04 12:56:26 +02:00