diff --git a/CodexDistTestCore/CodexNodeContainer.cs b/CodexDistTestCore/CodexNodeContainer.cs index 0926ab8c..73f7847c 100644 --- a/CodexDistTestCore/CodexNodeContainer.cs +++ b/CodexDistTestCore/CodexNodeContainer.cs @@ -2,10 +2,11 @@ { public class CodexNodeContainer { - public CodexNodeContainer(string name, int servicePort, int apiPort, string containerPortName, int discoveryPort, int listenPort, string dataDir) + public CodexNodeContainer(string name, int servicePort, string servicePortName, int apiPort, string containerPortName, int discoveryPort, int listenPort, string dataDir) { Name = name; ServicePort = servicePort; + ServicePortName = servicePortName; ApiPort = apiPort; ContainerPortName = containerPortName; DiscoveryPort = discoveryPort; @@ -15,6 +16,7 @@ public string Name { get; } public int ServicePort { get; } + public string ServicePortName { get; } public int ApiPort { get; } public string ContainerPortName { get; } public int DiscoveryPort { get; } @@ -34,6 +36,7 @@ return new CodexNodeContainer( name: $"codex-node{n}", servicePort: servicePortSource.GetNextNumber(), + servicePortName: $"node{n}", apiPort: codexPortSource.GetNextNumber(), containerPortName: $"api-{n}", discoveryPort: codexPortSource.GetNextNumber(), diff --git a/CodexDistTestCore/CodexNodeGroup.cs b/CodexDistTestCore/CodexNodeGroup.cs index 23189e51..f929ace8 100644 --- a/CodexDistTestCore/CodexNodeGroup.cs +++ b/CodexDistTestCore/CodexNodeGroup.cs @@ -1,8 +1,9 @@ using k8s.Models; +using System.Collections; namespace CodexDistTestCore { - public interface ICodexNodeGroup + public interface ICodexNodeGroup : IEnumerable { IOfflineCodexNodes BringOffline(); IOnlineCodexNode this[int index] { get; } @@ -45,6 +46,16 @@ namespace CodexDistTestCore return Nodes.Select(n => n.Container).ToArray(); } + public IEnumerator GetEnumerator() + { + return Nodes.Cast().GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return Nodes.GetEnumerator(); + } + public V1ObjectMeta GetServiceMetadata() { return new V1ObjectMeta diff --git a/CodexDistTestCore/K8sOperations.cs b/CodexDistTestCore/K8sOperations.cs index 55b500de..b88a1849 100644 --- a/CodexDistTestCore/K8sOperations.cs +++ b/CodexDistTestCore/K8sOperations.cs @@ -151,8 +151,9 @@ namespace CodexDistTestCore { result.Add(new V1ServicePort { + Name = container.ServicePortName, Protocol = "TCP", - Port = 8080, + Port = container.ApiPort, TargetPort = container.ContainerPortName, NodePort = container.ServicePort }); diff --git a/CodexDistTestCore/TestLog.cs b/CodexDistTestCore/TestLog.cs index a2d33fd4..95aad2b3 100644 --- a/CodexDistTestCore/TestLog.cs +++ b/CodexDistTestCore/TestLog.cs @@ -49,7 +49,14 @@ namespace CodexDistTestCore { var test = TestContext.CurrentContext.Test; var className = test.ClassName!.Substring(test.ClassName.LastIndexOf('.') + 1); - return $"{className}.{test.MethodName}"; + var args = FormatArguments(test); + return $"{className}.{test.MethodName}{args}"; + } + + private static string FormatArguments(TestContext.TestAdapter test) + { + if (test.Arguments == null || !test.Arguments.Any()) return ""; + return $"[{string.Join(',', test.Arguments)}]"; } } diff --git a/codexnode-manifest.yml b/codexnode-manifest.yml index c22d3ba6..0b5bb94c 100644 --- a/codexnode-manifest.yml +++ b/codexnode-manifest.yml @@ -1,28 +1,3 @@ -# apiVersion: v1 -# kind: Pod -# metadata: -# name: codex-pod -# spec: -# containers: -# - name: codex-node-container -# image: thatbenbierens/nim-codex:sha-c9a62de -# ports: -# - containerPort: 8080 - -# kind: PersistentVolumeClaim -# apiVersion: v1 -# metadata: -# name: codex-volume -# spec: -# accessModes: -# - ReadWriteOnce -# resources: -# requests: -# storage: 1Gi -# storageClassName: rbd - -# --- - apiVersion: v1 kind: Namespace metadata: @@ -48,21 +23,31 @@ spec: codex-node: dist-test spec: containers: - - name: codex-node - image: thatbenbierens/nim-codex:sha-c9a62de + - name: codex-node1 + image: thatbenbierens/nim-codex:sha-b204837 ports: - containerPort: 8080 - name: codex-api-port + name: codex-api-port1 env: - - name: LOG_LEVEL - value: WARN - # volumeMounts: - # - mountPath: /datadir - # name: codex-data - # volumes: - # - name: codex-data - # persistentVolumeClaim: - # claimName: codex-volume + - name: API_PORT + value: "8080" + - name: DATA_DIR + value: datadir1 + - name: codex-node2 + image: thatbenbierens/nim-codex:sha-b204837 + ports: + - containerPort: 8081 + name: codex-api-port2 + env: + - name: API_PORT + value: "8081" + - name: DATA_DIR + value: datadir2 + - name: DISC_PORT + value: "8091" + - name: LISTEN_ADDRS + value: "/ip4/0.0.0.0/tcp/8072" + --- apiVersion: v1 @@ -75,7 +60,14 @@ spec: selector: codex-node: dist-test ports: - - protocol: TCP + - name: "node1" + protocol: TCP port: 8080 - targetPort: codex-api-port + targetPort: codex-api-port1 nodePort: 30001 + - name: "node2" + protocol: TCP + port: 8081 + targetPort: codex-api-port2 + nodePort: 30002 +