Sets up bootstrap geth node
This commit is contained in:
parent
2f694bac8d
commit
e800197cdd
|
@ -89,7 +89,9 @@ namespace CodexDistTestCore
|
|||
|
||||
public PodInfo BringOnlineGethBootstrapNode()
|
||||
{
|
||||
return K8s(k => k.BringOnlineGethBootstrapNode());
|
||||
var spec = new K8sGethBoostrapSpecs(codexGroupNumberSource.GetNextServicePort());
|
||||
|
||||
return K8s(k => k.BringOnlineGethBootstrapNode(spec));
|
||||
}
|
||||
|
||||
public void DownloadAllMetrics()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using CodexDistTestCore.Config;
|
||||
using CodexDistTestCore.Marketplace;
|
||||
using CodexDistTestCore.Metrics;
|
||||
using k8s;
|
||||
using k8s.KubeConfigModels;
|
||||
|
@ -78,12 +79,15 @@ namespace CodexDistTestCore
|
|||
return new PrometheusInfo(spec.ServicePort, FetchNewPod());
|
||||
}
|
||||
|
||||
public PodInfo BringOnlineGethBootstrapNode()
|
||||
public PodInfo BringOnlineGethBootstrapNode(K8sGethBoostrapSpecs spec)
|
||||
{
|
||||
EnsureTestNamespace();
|
||||
|
||||
return FetchNewPod();
|
||||
CreateGethBootstrapDeployment(spec);
|
||||
CreateGethBootstrapService(spec);
|
||||
WaitUntilGethBootstrapOnline(spec);
|
||||
|
||||
return FetchNewPod();
|
||||
}
|
||||
|
||||
private void FetchPodInfo(CodexNodeGroup online)
|
||||
|
@ -140,7 +144,16 @@ namespace CodexDistTestCore
|
|||
|
||||
private void WaitUntilPrometheusOnline(K8sPrometheusSpecs spec)
|
||||
{
|
||||
var deploymentName = spec.GetDeploymentName();
|
||||
WaitUntilDeploymentOnline(spec.GetDeploymentName());
|
||||
}
|
||||
|
||||
private void WaitUntilGethBootstrapOnline(K8sGethBoostrapSpecs spec)
|
||||
{
|
||||
WaitUntilDeploymentOnline(spec.GetDeploymentName());
|
||||
}
|
||||
|
||||
private void WaitUntilDeploymentOnline(string deploymentName)
|
||||
{
|
||||
WaitUntil(() =>
|
||||
{
|
||||
var deployment = client.ReadNamespacedDeployment(deploymentName, K8sNamespace);
|
||||
|
@ -216,6 +229,11 @@ namespace CodexDistTestCore
|
|||
client.CreateNamespacedService(spec.CreatePrometheusService(), K8sNamespace);
|
||||
}
|
||||
|
||||
private void CreateGethBootstrapService(K8sGethBoostrapSpecs spec)
|
||||
{
|
||||
client.CreateNamespacedService(spec.CreateGethBootstrapService(), K8sNamespace);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Deployment management
|
||||
|
@ -298,6 +316,11 @@ namespace CodexDistTestCore
|
|||
client.CreateNamespacedDeployment(spec.CreatePrometheusDeployment(), K8sNamespace);
|
||||
}
|
||||
|
||||
private void CreateGethBootstrapDeployment(K8sGethBoostrapSpecs spec)
|
||||
{
|
||||
client.CreateNamespacedDeployment(spec.CreateGethBootstrapDeployment(), K8sNamespace);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Namespace management
|
||||
|
|
|
@ -63,14 +63,14 @@ namespace CodexDistTestCore.Marketplace
|
|||
},
|
||||
Env = new List<V1EnvVar>
|
||||
{
|
||||
//new V1EnvVar
|
||||
//{
|
||||
// Name = "GETH_ARGS",
|
||||
// Value = "--qwerty"
|
||||
//},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "GETH_ARGS",
|
||||
Value = "--qwerty"
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "GENSIS_JSON",
|
||||
Name = "GENESIS_JSON",
|
||||
Value = genesisJsonBase64
|
||||
},
|
||||
new V1EnvVar
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
namespace CodexDistTestCore.Marketplace
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace CodexDistTestCore.Marketplace
|
||||
{
|
||||
public class MarketplaceController
|
||||
{
|
||||
|
@ -28,6 +30,9 @@
|
|||
{
|
||||
bootstrapAccount = ExecuteCommand("cat", "account_string.txt");
|
||||
bootstrapGenesisJson = ExecuteCommand("cat", "genesis.json");
|
||||
|
||||
Assert.That(bootstrapAccount, Is.Not.Empty, "Unable to fetch account for bootstrap geth node. Test infra failure.");
|
||||
Assert.That(bootstrapGenesisJson, Is.Not.Empty, "Unable to fetch genesis-json for bootstrap geth node. Test infra failure.");
|
||||
}
|
||||
|
||||
private string ExecuteCommand(string command, params string[] arguments)
|
||||
|
|
Loading…
Reference in New Issue