Skip to content

Commit 33f44a2

Browse files
authored
Merge pull request kubernetes#77617 from cmluciano/cml/extensiontonetworking
ingress: migrate extensions.Ingress to networking.Ingress
2 parents 9ecc57e + d9e4933 commit 33f44a2

File tree

9 files changed

+75
-75
lines changed

9 files changed

+75
-75
lines changed

pkg/kubectl/describe/versioned/describe.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2291,15 +2291,15 @@ type IngressDescriber struct {
22912291
}
22922292

22932293
func (i *IngressDescriber) Describe(namespace, name string, describerSettings describe.DescriberSettings) (string, error) {
2294-
c := i.ExtensionsV1beta1().Ingresses(namespace)
2294+
c := i.NetworkingV1beta1().Ingresses(namespace)
22952295
ing, err := c.Get(name, metav1.GetOptions{})
22962296
if err != nil {
22972297
return "", err
22982298
}
22992299
return i.describeIngress(ing, describerSettings)
23002300
}
23012301

2302-
func (i *IngressDescriber) describeBackend(ns string, backend *extensionsv1beta1.IngressBackend) string {
2302+
func (i *IngressDescriber) describeBackend(ns string, backend *networkingv1beta1.IngressBackend) string {
23032303
endpoints, _ := i.CoreV1().Endpoints(ns).Get(backend.ServiceName, metav1.GetOptions{})
23042304
service, _ := i.CoreV1().Services(ns).Get(backend.ServiceName, metav1.GetOptions{})
23052305
spName := ""
@@ -2319,7 +2319,7 @@ func (i *IngressDescriber) describeBackend(ns string, backend *extensionsv1beta1
23192319
return formatEndpoints(endpoints, sets.NewString(spName))
23202320
}
23212321

2322-
func (i *IngressDescriber) describeIngress(ing *extensionsv1beta1.Ingress, describerSettings describe.DescriberSettings) (string, error) {
2322+
func (i *IngressDescriber) describeIngress(ing *networkingv1beta1.Ingress, describerSettings describe.DescriberSettings) (string, error) {
23232323
return tabbedString(func(out io.Writer) error {
23242324
w := NewPrefixWriter(out)
23252325
w.Write(LEVEL_0, "Name:\t%v\n", ing.Name)
@@ -2330,7 +2330,7 @@ func (i *IngressDescriber) describeIngress(ing *extensionsv1beta1.Ingress, descr
23302330
if def == nil {
23312331
// Ingresses that don't specify a default backend inherit the
23322332
// default backend in the kube-system namespace.
2333-
def = &extensionsv1beta1.IngressBackend{
2333+
def = &networkingv1beta1.IngressBackend{
23342334
ServiceName: "default-http-backend",
23352335
ServicePort: intstr.IntOrString{Type: intstr.Int, IntVal: 80},
23362336
}
@@ -2372,7 +2372,7 @@ func (i *IngressDescriber) describeIngress(ing *extensionsv1beta1.Ingress, descr
23722372
})
23732373
}
23742374

2375-
func describeIngressTLS(w PrefixWriter, ingTLS []extensionsv1beta1.IngressTLS) {
2375+
func describeIngressTLS(w PrefixWriter, ingTLS []networkingv1beta1.IngressTLS) {
23762376
w.Write(LEVEL_0, "TLS:\n")
23772377
for _, t := range ingTLS {
23782378
if t.SecretName == "" {
@@ -4494,7 +4494,7 @@ func extractCSRStatus(csr *certificatesv1beta1.CertificateSigningRequest) (strin
44944494
}
44954495

44964496
// backendStringer behaves just like a string interface and converts the given backend to a string.
4497-
func backendStringer(backend *extensionsv1beta1.IngressBackend) string {
4497+
func backendStringer(backend *networkingv1beta1.IngressBackend) string {
44984498
if backend == nil {
44994499
return ""
45004500
}

test/e2e/framework/ingress/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ go_library(
88
deps = [
99
"//staging/src/k8s.io/api/apps/v1:go_default_library",
1010
"//staging/src/k8s.io/api/core/v1:go_default_library",
11-
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
11+
"//staging/src/k8s.io/api/networking/v1beta1:go_default_library",
1212
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
1313
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
1414
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",

test/e2e/framework/ingress/ingress_utils.go

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import (
3939

4040
apps "k8s.io/api/apps/v1"
4141
v1 "k8s.io/api/core/v1"
42-
extensions "k8s.io/api/extensions/v1beta1"
42+
networkingv1beta1 "k8s.io/api/networking/v1beta1"
4343
apierrs "k8s.io/apimachinery/pkg/api/errors"
4444
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4545
"k8s.io/apimachinery/pkg/labels"
@@ -186,20 +186,20 @@ func CreateIngressComformanceTests(jig *TestJig, ns string, annotations map[stri
186186
fmt.Sprintf("should update url map for host %v to expose a single url: %v", updateURLMapHost, updateURLMapPath),
187187
func() {
188188
var pathToFail string
189-
jig.Update(func(ing *extensions.Ingress) {
190-
newRules := []extensions.IngressRule{}
189+
jig.Update(func(ing *networkingv1beta1.Ingress) {
190+
newRules := []networkingv1beta1.IngressRule{}
191191
for _, rule := range ing.Spec.Rules {
192192
if rule.Host != updateURLMapHost {
193193
newRules = append(newRules, rule)
194194
continue
195195
}
196196
existingPath := rule.IngressRuleValue.HTTP.Paths[0]
197197
pathToFail = existingPath.Path
198-
newRules = append(newRules, extensions.IngressRule{
198+
newRules = append(newRules, networkingv1beta1.IngressRule{
199199
Host: updateURLMapHost,
200-
IngressRuleValue: extensions.IngressRuleValue{
201-
HTTP: &extensions.HTTPIngressRuleValue{
202-
Paths: []extensions.HTTPIngressPath{
200+
IngressRuleValue: networkingv1beta1.IngressRuleValue{
201+
HTTP: &networkingv1beta1.HTTPIngressRuleValue{
202+
Paths: []networkingv1beta1.HTTPIngressPath{
203203
{
204204
Path: updateURLMapPath,
205205
Backend: existingPath.Backend,
@@ -223,14 +223,14 @@ func CreateIngressComformanceTests(jig *TestJig, ns string, annotations map[stri
223223
tests = append(tests, ConformanceTests{
224224
fmt.Sprintf("should update SSL certificate with modified hostname %v", updatedTLSHost),
225225
func() {
226-
jig.Update(func(ing *extensions.Ingress) {
227-
newRules := []extensions.IngressRule{}
226+
jig.Update(func(ing *networkingv1beta1.Ingress) {
227+
newRules := []networkingv1beta1.IngressRule{}
228228
for _, rule := range ing.Spec.Rules {
229229
if rule.Host != tlsHost {
230230
newRules = append(newRules, rule)
231231
continue
232232
}
233-
newRules = append(newRules, extensions.IngressRule{
233+
newRules = append(newRules, networkingv1beta1.IngressRule{
234234
Host: updatedTLSHost,
235235
IngressRuleValue: rule.IngressRuleValue,
236236
})
@@ -368,7 +368,7 @@ type TestJig struct {
368368

369369
RootCAs map[string][]byte
370370
Address string
371-
Ingress *extensions.Ingress
371+
Ingress *networkingv1beta1.Ingress
372372
// class is the value of the annotation keyed under
373373
// `kubernetes.io/ingress.class`. It's added to all ingresses created by
374374
// this jig.
@@ -436,9 +436,9 @@ func (j *TestJig) CreateIngress(manifestPath, ns string, ingAnnotations map[stri
436436
}
437437

438438
// runCreate runs the required command to create the given ingress.
439-
func (j *TestJig) runCreate(ing *extensions.Ingress) (*extensions.Ingress, error) {
439+
func (j *TestJig) runCreate(ing *networkingv1beta1.Ingress) (*networkingv1beta1.Ingress, error) {
440440
if j.Class != MulticlusterIngressClassValue {
441-
return j.Client.ExtensionsV1beta1().Ingresses(ing.Namespace).Create(ing)
441+
return j.Client.NetworkingV1beta1().Ingresses(ing.Namespace).Create(ing)
442442
}
443443
// Use kubemci to create a multicluster ingress.
444444
filePath := framework.TestContext.OutputDir + "/mci.yaml"
@@ -450,9 +450,9 @@ func (j *TestJig) runCreate(ing *extensions.Ingress) (*extensions.Ingress, error
450450
}
451451

452452
// runUpdate runs the required command to update the given ingress.
453-
func (j *TestJig) runUpdate(ing *extensions.Ingress) (*extensions.Ingress, error) {
453+
func (j *TestJig) runUpdate(ing *networkingv1beta1.Ingress) (*networkingv1beta1.Ingress, error) {
454454
if j.Class != MulticlusterIngressClassValue {
455-
return j.Client.ExtensionsV1beta1().Ingresses(ing.Namespace).Update(ing)
455+
return j.Client.NetworkingV1beta1().Ingresses(ing.Namespace).Update(ing)
456456
}
457457
// Use kubemci to update a multicluster ingress.
458458
// kubemci does not have an update command. We use "create --force" to update an existing ingress.
@@ -465,11 +465,11 @@ func (j *TestJig) runUpdate(ing *extensions.Ingress) (*extensions.Ingress, error
465465
}
466466

467467
// Update retrieves the ingress, performs the passed function, and then updates it.
468-
func (j *TestJig) Update(update func(ing *extensions.Ingress)) {
468+
func (j *TestJig) Update(update func(ing *networkingv1beta1.Ingress)) {
469469
var err error
470470
ns, name := j.Ingress.Namespace, j.Ingress.Name
471471
for i := 0; i < 3; i++ {
472-
j.Ingress, err = j.Client.ExtensionsV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
472+
j.Ingress, err = j.Client.NetworkingV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
473473
if err != nil {
474474
framework.Failf("failed to get ingress %s/%s: %v", ns, name, err)
475475
}
@@ -493,8 +493,8 @@ func (j *TestJig) AddHTTPS(secretName string, hosts ...string) {
493493
_, cert, _, err := createTLSSecret(j.Client, j.Ingress.Namespace, secretName, hosts...)
494494
framework.ExpectNoError(err)
495495
j.Logger.Infof("Updating ingress %v to also use secret %v for TLS termination", j.Ingress.Name, secretName)
496-
j.Update(func(ing *extensions.Ingress) {
497-
ing.Spec.TLS = append(ing.Spec.TLS, extensions.IngressTLS{Hosts: hosts, SecretName: secretName})
496+
j.Update(func(ing *networkingv1beta1.Ingress) {
497+
ing.Spec.TLS = append(ing.Spec.TLS, networkingv1beta1.IngressTLS{Hosts: hosts, SecretName: secretName})
498498
})
499499
j.RootCAs[secretName] = cert
500500
}
@@ -504,23 +504,23 @@ func (j *TestJig) SetHTTPS(secretName string, hosts ...string) {
504504
_, cert, _, err := createTLSSecret(j.Client, j.Ingress.Namespace, secretName, hosts...)
505505
framework.ExpectNoError(err)
506506
j.Logger.Infof("Updating ingress %v to only use secret %v for TLS termination", j.Ingress.Name, secretName)
507-
j.Update(func(ing *extensions.Ingress) {
508-
ing.Spec.TLS = []extensions.IngressTLS{{Hosts: hosts, SecretName: secretName}}
507+
j.Update(func(ing *networkingv1beta1.Ingress) {
508+
ing.Spec.TLS = []networkingv1beta1.IngressTLS{{Hosts: hosts, SecretName: secretName}}
509509
})
510510
j.RootCAs = map[string][]byte{secretName: cert}
511511
}
512512

513513
// RemoveHTTPS updates the ingress to not use this secret for TLS.
514514
// Note: Does not delete the secret.
515515
func (j *TestJig) RemoveHTTPS(secretName string) {
516-
newTLS := []extensions.IngressTLS{}
516+
newTLS := []networkingv1beta1.IngressTLS{}
517517
for _, ingressTLS := range j.Ingress.Spec.TLS {
518518
if secretName != ingressTLS.SecretName {
519519
newTLS = append(newTLS, ingressTLS)
520520
}
521521
}
522522
j.Logger.Infof("Updating ingress %v to not use secret %v for TLS termination", j.Ingress.Name, secretName)
523-
j.Update(func(ing *extensions.Ingress) {
523+
j.Update(func(ing *networkingv1beta1.Ingress) {
524524
ing.Spec.TLS = newTLS
525525
})
526526
delete(j.RootCAs, secretName)
@@ -551,16 +551,16 @@ func (j *TestJig) TryDeleteIngress() {
551551
j.tryDeleteGivenIngress(j.Ingress)
552552
}
553553

554-
func (j *TestJig) tryDeleteGivenIngress(ing *extensions.Ingress) {
554+
func (j *TestJig) tryDeleteGivenIngress(ing *networkingv1beta1.Ingress) {
555555
if err := j.runDelete(ing); err != nil {
556556
j.Logger.Infof("Error while deleting the ingress %v/%v with class %s: %v", ing.Namespace, ing.Name, j.Class, err)
557557
}
558558
}
559559

560560
// runDelete runs the required command to delete the given ingress.
561-
func (j *TestJig) runDelete(ing *extensions.Ingress) error {
561+
func (j *TestJig) runDelete(ing *networkingv1beta1.Ingress) error {
562562
if j.Class != MulticlusterIngressClassValue {
563-
return j.Client.ExtensionsV1beta1().Ingresses(ing.Namespace).Delete(ing.Name, nil)
563+
return j.Client.NetworkingV1beta1().Ingresses(ing.Namespace).Delete(ing.Name, nil)
564564
}
565565
// Use kubemci to delete a multicluster ingress.
566566
filePath := framework.TestContext.OutputDir + "/mci.yaml"
@@ -600,7 +600,7 @@ func getIngressAddress(client clientset.Interface, ns, name, class string) ([]st
600600
if class == MulticlusterIngressClassValue {
601601
return getIngressAddressFromKubemci(name)
602602
}
603-
ing, err := client.ExtensionsV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
603+
ing, err := client.NetworkingV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
604604
if err != nil {
605605
return nil, err
606606
}
@@ -635,7 +635,7 @@ func (j *TestJig) WaitForIngressAddress(c clientset.Interface, ns, ingName strin
635635
return address, err
636636
}
637637

638-
func (j *TestJig) pollIngressWithCert(ing *extensions.Ingress, address string, knownHosts []string, cert []byte, waitForNodePort bool, timeout time.Duration) error {
638+
func (j *TestJig) pollIngressWithCert(ing *networkingv1beta1.Ingress, address string, knownHosts []string, cert []byte, waitForNodePort bool, timeout time.Duration) error {
639639
// Check that all rules respond to a simple GET.
640640
knownHostsSet := sets.NewString(knownHosts...)
641641
for _, rules := range ing.Spec.Rules {
@@ -695,7 +695,7 @@ func (j *TestJig) WaitForIngressToStable() {
695695
// http or https). If waitForNodePort is true, the NodePort of the Service
696696
// is verified before verifying the Ingress. NodePort is currently a
697697
// requirement for cloudprovider Ingress.
698-
func (j *TestJig) WaitForGivenIngressWithTimeout(ing *extensions.Ingress, waitForNodePort bool, timeout time.Duration) error {
698+
func (j *TestJig) WaitForGivenIngressWithTimeout(ing *networkingv1beta1.Ingress, waitForNodePort bool, timeout time.Duration) error {
699699
// Wait for the loadbalancer IP.
700700
address, err := j.WaitForIngressAddress(j.Client, ing.Namespace, ing.Name, timeout)
701701
if err != nil {
@@ -864,15 +864,15 @@ func (cont *NginxIngressController) Init() {
864864
framework.Logf("ingress controller running in pod %v on ip %v", cont.pod.Name, cont.externalIP)
865865
}
866866

867-
func generateBacksideHTTPSIngressSpec(ns string) *extensions.Ingress {
868-
return &extensions.Ingress{
867+
func generateBacksideHTTPSIngressSpec(ns string) *networkingv1beta1.Ingress {
868+
return &networkingv1beta1.Ingress{
869869
ObjectMeta: metav1.ObjectMeta{
870870
Name: "echoheaders-https",
871871
Namespace: ns,
872872
},
873-
Spec: extensions.IngressSpec{
873+
Spec: networkingv1beta1.IngressSpec{
874874
// Note kubemci requires a default backend.
875-
Backend: &extensions.IngressBackend{
875+
Backend: &networkingv1beta1.IngressBackend{
876876
ServiceName: "echoheaders-https",
877877
ServicePort: intstr.IntOrString{
878878
Type: intstr.Int,
@@ -939,7 +939,7 @@ func generateBacksideHTTPSDeploymentSpec() *apps.Deployment {
939939
}
940940

941941
// SetUpBacksideHTTPSIngress sets up deployment, service and ingress with backside HTTPS configured.
942-
func (j *TestJig) SetUpBacksideHTTPSIngress(cs clientset.Interface, namespace string, staticIPName string) (*apps.Deployment, *v1.Service, *extensions.Ingress, error) {
942+
func (j *TestJig) SetUpBacksideHTTPSIngress(cs clientset.Interface, namespace string, staticIPName string) (*apps.Deployment, *v1.Service, *networkingv1beta1.Ingress, error) {
943943
deployCreated, err := cs.AppsV1().Deployments(namespace).Create(generateBacksideHTTPSDeploymentSpec())
944944
if err != nil {
945945
return nil, nil, nil, err
@@ -963,7 +963,7 @@ func (j *TestJig) SetUpBacksideHTTPSIngress(cs clientset.Interface, namespace st
963963
}
964964

965965
// DeleteTestResource deletes given deployment, service and ingress.
966-
func (j *TestJig) DeleteTestResource(cs clientset.Interface, deploy *apps.Deployment, svc *v1.Service, ing *extensions.Ingress) []error {
966+
func (j *TestJig) DeleteTestResource(cs clientset.Interface, deploy *apps.Deployment, svc *v1.Service, ing *networkingv1beta1.Ingress) []error {
967967
var errs []error
968968
if ing != nil {
969969
if err := j.runDelete(ing); err != nil {

test/e2e/manifest/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ go_library(
1313
deps = [
1414
"//staging/src/k8s.io/api/apps/v1:go_default_library",
1515
"//staging/src/k8s.io/api/core/v1:go_default_library",
16-
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
16+
"//staging/src/k8s.io/api/networking/v1beta1:go_default_library",
1717
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
1818
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
1919
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
@@ -41,5 +41,5 @@ go_test(
4141
name = "go_default_test",
4242
srcs = ["manifest_test.go"],
4343
embed = [":go_default_library"],
44-
deps = ["//staging/src/k8s.io/api/extensions/v1beta1:go_default_library"],
44+
deps = ["//staging/src/k8s.io/api/networking/v1beta1:go_default_library"],
4545
)

test/e2e/manifest/manifest.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222

2323
apps "k8s.io/api/apps/v1"
2424
"k8s.io/api/core/v1"
25-
extensions "k8s.io/api/extensions/v1beta1"
25+
networkingv1beta1 "k8s.io/api/networking/v1beta1"
2626
rbac "k8s.io/api/rbac/v1"
2727
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2828
"k8s.io/apimachinery/pkg/runtime"
@@ -87,8 +87,8 @@ func SvcFromManifest(fileName string) (*v1.Service, error) {
8787
}
8888

8989
// IngressFromManifest reads a .json/yaml file and returns the ingress in it.
90-
func IngressFromManifest(fileName string) (*extensions.Ingress, error) {
91-
var ing extensions.Ingress
90+
func IngressFromManifest(fileName string) (*networkingv1beta1.Ingress, error) {
91+
var ing networkingv1beta1.Ingress
9292
data, err := testfiles.Read(fileName)
9393
if err != nil {
9494
return nil, err
@@ -106,8 +106,8 @@ func IngressFromManifest(fileName string) (*extensions.Ingress, error) {
106106

107107
// IngressToManifest generates a yaml file in the given path with the given ingress.
108108
// Assumes that a directory exists at the given path.
109-
func IngressToManifest(ing *extensions.Ingress, path string) error {
110-
serialized, err := marshalToYaml(ing, extensions.SchemeGroupVersion)
109+
func IngressToManifest(ing *networkingv1beta1.Ingress, path string) error {
110+
serialized, err := marshalToYaml(ing, networkingv1beta1.SchemeGroupVersion)
111111
if err != nil {
112112
return fmt.Errorf("failed to marshal ingress %v to YAML: %v", ing, err)
113113
}

test/e2e/manifest/manifest_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import (
2222
"path/filepath"
2323
"testing"
2424

25-
extensions "k8s.io/api/extensions/v1beta1"
25+
networkingv1beta1 "k8s.io/api/networking/v1beta1"
2626
)
2727

2828
func TestIngressToManifest(t *testing.T) {
29-
ing := &extensions.Ingress{}
29+
ing := &networkingv1beta1.Ingress{}
3030
// Create a temp dir.
3131
tmpDir, err := ioutil.TempDir("", "kubemci")
3232
if err != nil {

test/e2e/network/ingress.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
171171

172172
By(fmt.Sprintf("waiting for Ingress %s to get instance group annotation", name))
173173
pollErr := wait.Poll(2*time.Second, framework.LoadBalancerPollTimeout, func() (bool, error) {
174-
ing, err := f.ClientSet.ExtensionsV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
174+
ing, err := f.ClientSet.NetworkingV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
175175
framework.ExpectNoError(err)
176176
annotations := ing.Annotations
177177
if annotations == nil || annotations[instanceGroupAnnotation] == "" {
@@ -194,7 +194,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
194194
scKey := ingress.StatusPrefix + "/ssl-cert"
195195
beKey := ingress.StatusPrefix + "/backends"
196196
wait.Poll(2*time.Second, time.Minute, func() (bool, error) {
197-
ing, err := f.ClientSet.ExtensionsV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
197+
ing, err := f.ClientSet.NetworkingV1beta1().Ingresses(ns).Get(name, metav1.GetOptions{})
198198
framework.ExpectNoError(err)
199199
annotations := ing.Annotations
200200
if annotations != nil && (annotations[umKey] != "" || annotations[fwKey] != "" ||

test/e2e/network/scale/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ go_library(
88
deps = [
99
"//staging/src/k8s.io/api/apps/v1:go_default_library",
1010
"//staging/src/k8s.io/api/core/v1:go_default_library",
11-
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
11+
"//staging/src/k8s.io/api/networking/v1beta1:go_default_library",
1212
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
1313
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
1414
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",

0 commit comments

Comments
 (0)