Adds start and finished times to deployment json.
This commit is contained in:
parent
8f37b4cf38
commit
8e4d43b73b
|
@ -116,6 +116,7 @@ namespace CodexPlugin
|
||||||
var log = tools.GetLog();
|
var log = tools.GetLog();
|
||||||
var file = log.CreateSubfile();
|
var file = log.CreateSubfile();
|
||||||
log.Log($"Container {Container.Name} has crashed. Downloading crash log to '{file.FullFilename}'...");
|
log.Log($"Container {Container.Name} has crashed. Downloading crash log to '{file.FullFilename}'...");
|
||||||
|
file.Write($"Container Crash Log for {Container.Name}.");
|
||||||
|
|
||||||
using var reader = new StreamReader(crashLog);
|
using var reader = new StreamReader(crashLog);
|
||||||
var line = reader.ReadLine();
|
var line = reader.ReadLine();
|
||||||
|
|
|
@ -21,9 +21,10 @@ namespace CodexPlugin
|
||||||
|
|
||||||
public class DeploymentMetadata
|
public class DeploymentMetadata
|
||||||
{
|
{
|
||||||
public DeploymentMetadata(string kubeNamespace, int numberOfCodexNodes, int numberOfValidators, int storageQuotaMB, CodexLogLevel codexLogLevel, int initialTestTokens, int minPrice, int maxCollateral, int maxDuration, int blockTTL, int blockMI, int blockMN)
|
public DeploymentMetadata(DateTime startUtc, DateTime finishedUtc, string kubeNamespace, int numberOfCodexNodes, int numberOfValidators, int storageQuotaMB, CodexLogLevel codexLogLevel, int initialTestTokens, int minPrice, int maxCollateral, int maxDuration, int blockTTL, int blockMI, int blockMN)
|
||||||
{
|
{
|
||||||
DeployDateTimeUtc = DateTime.UtcNow;
|
StartUtc = startUtc;
|
||||||
|
FinishedUtc = finishedUtc;
|
||||||
KubeNamespace = kubeNamespace;
|
KubeNamespace = kubeNamespace;
|
||||||
NumberOfCodexNodes = numberOfCodexNodes;
|
NumberOfCodexNodes = numberOfCodexNodes;
|
||||||
NumberOfValidators = numberOfValidators;
|
NumberOfValidators = numberOfValidators;
|
||||||
|
@ -38,7 +39,8 @@ namespace CodexPlugin
|
||||||
BlockMN = blockMN;
|
BlockMN = blockMN;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DateTime DeployDateTimeUtc { get; }
|
public DateTime StartUtc { get; }
|
||||||
|
public DateTime FinishedUtc { get; }
|
||||||
public string KubeNamespace { get; }
|
public string KubeNamespace { get; }
|
||||||
public int NumberOfCodexNodes { get; }
|
public int NumberOfCodexNodes { get; }
|
||||||
public int NumberOfValidators { get; }
|
public int NumberOfValidators { get; }
|
||||||
|
|
|
@ -51,6 +51,7 @@ namespace CodexNetDeployer
|
||||||
localCodexBuilder.Build();
|
localCodexBuilder.Build();
|
||||||
|
|
||||||
Log("Initializing...");
|
Log("Initializing...");
|
||||||
|
var startUtc = DateTime.UtcNow;
|
||||||
var ci = entryPoint.CreateInterface();
|
var ci = entryPoint.CreateInterface();
|
||||||
|
|
||||||
Log("Deploying Geth instance...");
|
Log("Deploying Geth instance...");
|
||||||
|
@ -78,7 +79,7 @@ namespace CodexNetDeployer
|
||||||
CheckContainerRestarts(startResults);
|
CheckContainerRestarts(startResults);
|
||||||
|
|
||||||
var codexContainers = startResults.Select(s => s.CodexNode.Container).ToArray();
|
var codexContainers = startResults.Select(s => s.CodexNode.Container).ToArray();
|
||||||
return new CodexDeployment(codexContainers, gethDeployment, metricsService, CreateMetadata());
|
return new CodexDeployment(codexContainers, gethDeployment, metricsService, CreateMetadata(startUtc));
|
||||||
}
|
}
|
||||||
|
|
||||||
private EntryPoint CreateEntryPoint(ILog log)
|
private EntryPoint CreateEntryPoint(ILog log)
|
||||||
|
@ -87,11 +88,11 @@ namespace CodexNetDeployer
|
||||||
|
|
||||||
var configuration = new KubernetesWorkflow.Configuration(
|
var configuration = new KubernetesWorkflow.Configuration(
|
||||||
kubeConfig,
|
kubeConfig,
|
||||||
operationTimeout: TimeSpan.FromSeconds(300),
|
operationTimeout: TimeSpan.FromMinutes(10),
|
||||||
retryDelay: TimeSpan.FromSeconds(10),
|
retryDelay: TimeSpan.FromSeconds(10),
|
||||||
kubernetesNamespace: config.KubeNamespace);
|
kubernetesNamespace: config.KubeNamespace);
|
||||||
|
|
||||||
var result = new EntryPoint(log, configuration, string.Empty);
|
var result = new EntryPoint(log, configuration, string.Empty, new FastHttpTimeSet());
|
||||||
configuration.Hooks = new K8sHook(config.TestsTypePodLabel, result.GetPluginMetadata());
|
configuration.Hooks = new K8sHook(config.TestsTypePodLabel, result.GetPluginMetadata());
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -147,9 +148,11 @@ namespace CodexNetDeployer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private DeploymentMetadata CreateMetadata()
|
private DeploymentMetadata CreateMetadata(DateTime startUtc)
|
||||||
{
|
{
|
||||||
return new DeploymentMetadata(
|
return new DeploymentMetadata(
|
||||||
|
startUtc: startUtc,
|
||||||
|
finishedUtc: DateTime.UtcNow,
|
||||||
kubeNamespace: config.KubeNamespace,
|
kubeNamespace: config.KubeNamespace,
|
||||||
numberOfCodexNodes: config.NumberOfCodexNodes!.Value,
|
numberOfCodexNodes: config.NumberOfCodexNodes!.Value,
|
||||||
numberOfValidators: config.NumberOfValidators!.Value,
|
numberOfValidators: config.NumberOfValidators!.Value,
|
||||||
|
@ -169,4 +172,32 @@ namespace CodexNetDeployer
|
||||||
Console.WriteLine(msg);
|
Console.WriteLine(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class FastHttpTimeSet : ITimeSet
|
||||||
|
{
|
||||||
|
public TimeSpan HttpCallRetryDelay()
|
||||||
|
{
|
||||||
|
return TimeSpan.FromSeconds(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TimeSpan HttpCallRetryTime()
|
||||||
|
{
|
||||||
|
return TimeSpan.FromSeconds(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TimeSpan HttpCallTimeout()
|
||||||
|
{
|
||||||
|
return TimeSpan.FromSeconds(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TimeSpan K8sOperationTimeout()
|
||||||
|
{
|
||||||
|
return TimeSpan.FromMinutes(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TimeSpan WaitForK8sServiceDelay()
|
||||||
|
{
|
||||||
|
return TimeSpan.FromSeconds(30);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue