8.0: API Group + v1.24 (#850)

* swagger 1.24

* trim converter

* api group

* before moving method

* grouped api for client

* fix classic build

* fix e2e

* move all code to v8

* fix vis to

* bump ver

* fix authtest filename
This commit is contained in:
Boshi Lian
2022-05-07 13:05:17 -07:00
committed by GitHub
parent 78bfa24157
commit 85755ccb3e
51 changed files with 2461 additions and 3335 deletions

View File

@@ -29,12 +29,12 @@ namespace k8s.E2E
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
client.CoreV1.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
@@ -50,7 +50,7 @@ namespace k8s.E2E
{
Cleanup();
client.CreateNamespacedPod(
client.CoreV1.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, },
@@ -61,7 +61,7 @@ namespace k8s.E2E
},
namespaceParameter);
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
Assert.Contains(pods.Items, p => p.Metadata.Name == podName);
}
finally
@@ -80,12 +80,12 @@ namespace k8s.E2E
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
client.CoreV1.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
@@ -102,7 +102,7 @@ namespace k8s.E2E
{
Cleanup();
client.CreateNamespacedPod(
client.CoreV1.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, Labels = new Dictionary<string, string> { { "place", "holder" }, }, },
@@ -115,7 +115,7 @@ namespace k8s.E2E
// patch
{
var pod = client.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
var pod = client.CoreV1.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
var old = JsonSerializer.SerializeToDocument(pod);
var newlabels = new Dictionary<string, string>(pod.Metadata.Labels) { ["test"] = "test-jsonpatch" };
@@ -123,12 +123,12 @@ namespace k8s.E2E
var expected = JsonSerializer.SerializeToDocument(pod);
var patch = old.CreatePatch(expected);
client.PatchNamespacedPod(new V1Patch(patch, V1Patch.PatchType.JsonPatch), pod.Metadata.Name, "default");
client.CoreV1.PatchNamespacedPod(new V1Patch(patch, V1Patch.PatchType.JsonPatch), pod.Metadata.Name, "default");
}
// refresh
{
var pod = client.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
var pod = client.CoreV1.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
Assert.Equal("test-jsonpatch", pod.Labels()["test"]);
}
}
@@ -138,7 +138,7 @@ namespace k8s.E2E
}
{
client.CreateNamespacedPod(
client.CoreV1.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, Labels = new Dictionary<string, string> { { "place", "holder" }, }, },
@@ -150,7 +150,7 @@ namespace k8s.E2E
namespaceParameter);
var pod = client.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
var pod = client.CoreV1.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
var patchStr = @"
{
@@ -161,12 +161,12 @@ namespace k8s.E2E
}
}";
client.PatchNamespacedPod(new V1Patch(patchStr, V1Patch.PatchType.MergePatch), pod.Metadata.Name, "default");
client.CoreV1.PatchNamespacedPod(new V1Patch(patchStr, V1Patch.PatchType.MergePatch), pod.Metadata.Name, "default");
Assert.False(pod.Labels().ContainsKey("test"));
// refresh
pod = client.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
pod = client.CoreV1.ListNamespacedPod(namespaceParameter).Items.First(p => p.Metadata.Name == podName);
Assert.Equal("test-mergepatch", pod.Labels()["test"]);
}
@@ -182,7 +182,7 @@ namespace k8s.E2E
{
var kubernetes = CreateClient();
var job = await kubernetes.CreateNamespacedJobAsync(
var job = await kubernetes.BatchV1.CreateNamespacedJobAsync(
new V1Job()
{
ApiVersion = "batch/v1",
@@ -219,7 +219,7 @@ namespace k8s.E2E
var started = new AsyncManualResetEvent();
var connectionClosed = new AsyncManualResetEvent();
var watcher = kubernetes.ListNamespacedJobWithHttpMessagesAsync(
var watcher = kubernetes.BatchV1.ListNamespacedJobWithHttpMessagesAsync(
job.Metadata.NamespaceProperty,
fieldSelector: $"metadata.name={job.Metadata.Name}",
resourceVersion: job.Metadata.ResourceVersion,
@@ -239,7 +239,7 @@ namespace k8s.E2E
await Task.WhenAny(connectionClosed.WaitAsync(), Task.Delay(TimeSpan.FromMinutes(3))).ConfigureAwait(false);
Assert.True(connectionClosed.IsSet);
var st = await kubernetes.DeleteNamespacedJobAsync(
var st = await kubernetes.BatchV1.DeleteNamespacedJobAsync(
job.Metadata.Name,
job.Metadata.NamespaceProperty,
new V1DeleteOptions() { PropagationPolicy = "Foreground" }).ConfigureAwait(false);
@@ -253,7 +253,7 @@ namespace k8s.E2E
void Cleanup()
{
var endpoints = client.ListNamespacedEndpoints(namespaceParameter);
var endpoints = client.CoreV1.ListNamespacedEndpoints(namespaceParameter);
void DeleteEndpoints(string name)
{
@@ -261,7 +261,7 @@ namespace k8s.E2E
{
try
{
client.DeleteNamespacedEndpoints(name, namespaceParameter);
client.CoreV1.DeleteNamespacedEndpoints(name, namespaceParameter);
}
catch (HttpOperationException e)
{
@@ -351,12 +351,12 @@ namespace k8s.E2E
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
client.CoreV1.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
@@ -372,7 +372,7 @@ namespace k8s.E2E
{
Cleanup();
client.CreateNamespacedPod(
client.CoreV1.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, },
@@ -397,7 +397,7 @@ namespace k8s.E2E
async Task<V1Pod> Pod()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
var pod = pods.Items.First();
while (pod.Status.Phase != "Running")
{
@@ -409,7 +409,7 @@ namespace k8s.E2E
}
var pod = await Pod().ConfigureAwait(false);
var stream = client.ReadNamespacedPodLog(pod.Metadata.Name, pod.Metadata.NamespaceProperty, follow: true);
var stream = client.CoreV1.ReadNamespacedPodLog(pod.Metadata.Name, pod.Metadata.NamespaceProperty, follow: true);
using var reader = new StreamReader(stream);
var copytask = Task.Run(() =>
@@ -445,7 +445,7 @@ namespace k8s.E2E
{
var kubernetes = CreateClient();
await kubernetes.CreateNamespacedEventAsync(
await kubernetes.CoreV1.CreateNamespacedEventAsync(
new Corev1Event(
new V1ObjectReference(
"v1alpha1",
@@ -480,12 +480,12 @@ namespace k8s.E2E
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pods = client.CoreV1.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
client.CoreV1.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{

View File

@@ -74,7 +74,7 @@ public class BasicTests
});
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Addr });
var pod = await client.ReadNamespacedPodAsync("pod", "default").ConfigureAwait(false);
var pod = await client.CoreV1.ReadNamespacedPodAsync("pod", "default").ConfigureAwait(false);
Assert.Equal("pod0", pod.Metadata.Name);
}

View File

@@ -36,7 +36,7 @@ namespace k8s.Tests
private static HttpOperationResponse<V1PodList> ExecuteListPods(IKubernetes client)
{
return client.ListNamespacedPodWithHttpMessagesAsync("default").Result;
return client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default").Result;
}
[Fact]

View File

@@ -24,7 +24,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var status = client.DeleteNamespace("test", new V1DeleteOptions());
var status = client.CoreV1.DeleteNamespace("test", new V1DeleteOptions());
Assert.False(status.HasObject);
Assert.Equal(v1Status.Message, status.Message);
@@ -45,7 +45,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var status = client.DeleteNamespace("test", new V1DeleteOptions());
var status = client.CoreV1.DeleteNamespace("test", new V1DeleteOptions());
Assert.True(status.HasObject);

View File

@@ -54,7 +54,7 @@ namespace k8s.Tests
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
// did not pass watch param
var listTask = client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
var listTask = client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
var onErrorCalled = false;
using (listTask.Watch<V1Pod, V1PodList>((type, item) => { }, e => { onErrorCalled = true; }))
@@ -68,7 +68,7 @@ namespace k8s.Tests
// server did not response line by line
await Assert.ThrowsAnyAsync<Exception>(() =>
{
return client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
return client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
// this line did not throw
// listTask.Watch<Corev1Pod>((type, item) => { });
@@ -93,7 +93,7 @@ namespace k8s.Tests
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
var listTask = client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true);
using (listTask.Watch<V1Pod, V1PodList>((type, item) => { eventsReceived.Set(); }))
{
// here watcher is ready to use, but http server has not responsed yet.
@@ -134,7 +134,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var events = new HashSet<WatchEventType>();
var errors = 0;
@@ -195,7 +195,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var events = new HashSet<WatchEventType>();
@@ -255,7 +255,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var events = new HashSet<WatchEventType>();
var errors = 0;
@@ -324,7 +324,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var events = new HashSet<WatchEventType>();
var errors = 0;
@@ -386,7 +386,7 @@ namespace k8s.Tests
{
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
waitForException.Set();
Watcher<V1Pod> watcher;
@@ -451,7 +451,7 @@ namespace k8s.Tests
Assert.False(handler1.Called);
Assert.False(handler2.Called);
var listTask = await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var listTask = await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
var events = new HashSet<WatchEventType>();
@@ -502,7 +502,7 @@ namespace k8s.Tests
var events = new HashSet<WatchEventType>();
var errors = 0;
var watcher = client.ListNamespacedPodWithHttpMessagesAsync("default", fieldSelector: $"metadata.name=${"myPod"}", watch: true).Watch<V1Pod, V1PodList>(
var watcher = client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", fieldSelector: $"metadata.name=${"myPod"}", watch: true).Watch<V1Pod, V1PodList>(
onEvent:
(type, item) =>
{
@@ -563,7 +563,7 @@ namespace k8s.Tests
Host = server.Uri.ToString(),
HttpClientTimeout = TimeSpan.FromSeconds(5),
});
await client.ListNamespacedPodWithHttpMessagesAsync("default").ConfigureAwait(false);
await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default").ConfigureAwait(false);
}).ConfigureAwait(false);
// cts
@@ -575,7 +575,7 @@ namespace k8s.Tests
{
Host = server.Uri.ToString(),
});
await client.ListNamespacedPodWithHttpMessagesAsync("default", cancellationToken: cts.Token).ConfigureAwait(false);
await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", cancellationToken: cts.Token).ConfigureAwait(false);
}).ConfigureAwait(false);
}
@@ -603,7 +603,7 @@ namespace k8s.Tests
var events = new HashSet<WatchEventType>();
var errors = 0;
var watcher = client.ListNamespacedPodWithHttpMessagesAsync("default", fieldSelector: $"metadata.name=${"myPod"}", watch: true).Watch<V1Pod, V1PodList>(
var watcher = client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", fieldSelector: $"metadata.name=${"myPod"}", watch: true).Watch<V1Pod, V1PodList>(
onEvent:
(type, item) =>
{
@@ -662,7 +662,7 @@ namespace k8s.Tests
await Assert.ThrowsAnyAsync<OperationCanceledException>(async () =>
{
await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true,
await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true,
cancellationToken: cts.Token).ConfigureAwait(false);
}).ConfigureAwait(false);
}
@@ -736,7 +736,7 @@ namespace k8s.Tests
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() }, h);
Assert.Null(h.Version);
await client.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
await client.CoreV1.ListNamespacedPodWithHttpMessagesAsync("default", watch: true).ConfigureAwait(false);
Assert.Equal(HttpVersion.Version20, h.Version);
}
}