diff --git a/go.mod b/go.mod index 4f8bd17f..c1741fdf 100644 --- a/go.mod +++ b/go.mod @@ -31,15 +31,15 @@ require ( github.com/stretchr/testify v1.7.0 golang.org/x/sys v0.0.0-20220209214540-3681064d5158 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.0.0-20220331051217-290a349b5385 - k8s.io/apimachinery v0.0.0-20220330050810-6550efdb7444 + k8s.io/api v0.0.0-20220420164651-0bf1867dde52 + k8s.io/apimachinery v0.0.0-20220331225401-97e5df2d0258 k8s.io/cli-runtime v0.0.0-20220330053550-ef25b13feca8 - k8s.io/client-go v0.0.0-20220331051643-092a109b2b10 - k8s.io/component-base v0.0.0-20220330051900-ffc9c87ab39a - k8s.io/component-helpers v0.0.0-20220330052013-855d491da0b6 + k8s.io/client-go v0.0.0-20220420165542-686b396dc068 + k8s.io/component-base v0.0.0-20220420170358-f73277b34692 + k8s.io/component-helpers v0.0.0-20220420170647-cd27e63f85f2 k8s.io/klog/v2 v2.60.1 k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 - k8s.io/metrics v0.0.0-20220330053428-cc6cd56b3aba + k8s.io/metrics v0.0.0-20220420174251-4a50c7cca9e0 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/kustomize/kustomize/v4 v4.5.4 @@ -48,12 +48,12 @@ require ( ) replace ( - k8s.io/api => k8s.io/api v0.0.0-20220331051217-290a349b5385 - k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220330050810-6550efdb7444 + k8s.io/api => k8s.io/api v0.0.0-20220420164651-0bf1867dde52 + k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220331225401-97e5df2d0258 k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20220330053550-ef25b13feca8 - k8s.io/client-go => k8s.io/client-go v0.0.0-20220331051643-092a109b2b10 - k8s.io/code-generator => k8s.io/code-generator v0.0.0-20220330050606-8f17de063761 - k8s.io/component-base => k8s.io/component-base v0.0.0-20220330051900-ffc9c87ab39a - k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20220330052013-855d491da0b6 - k8s.io/metrics => k8s.io/metrics v0.0.0-20220330053428-cc6cd56b3aba + k8s.io/client-go => k8s.io/client-go v0.0.0-20220420165542-686b396dc068 + k8s.io/code-generator => k8s.io/code-generator v0.0.0-20220420163550-65c70a51ae8e + k8s.io/component-base => k8s.io/component-base v0.0.0-20220420170358-f73277b34692 + k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20220420170647-cd27e63f85f2 + k8s.io/metrics => k8s.io/metrics v0.0.0-20220420174251-4a50c7cca9e0 ) diff --git a/go.sum b/go.sum index 0acfa696..a787300c 100644 --- a/go.sum +++ b/go.sum @@ -878,19 +878,19 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.0.0-20220331051217-290a349b5385 h1:f+qAtGb6ikFhuwOgV62s33+xw7QCi0hrywLfkBtCVRw= -k8s.io/api v0.0.0-20220331051217-290a349b5385/go.mod h1:69QWTzqWVlGn0rU+x3dmk3WAsUQHmeQwIBWMbK1ZEyE= -k8s.io/apimachinery v0.0.0-20220330050810-6550efdb7444 h1:whQmS3GtF822OUer+LPJnMFKn6kPfuJOCM/3xUuATIY= -k8s.io/apimachinery v0.0.0-20220330050810-6550efdb7444/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/api v0.0.0-20220420164651-0bf1867dde52 h1:HPNRLBMB+2PbcBn8pXc7Hyb4iN8P1FwDNTHDpLYVdf4= +k8s.io/api v0.0.0-20220420164651-0bf1867dde52/go.mod h1:qOGElvkvG4iusrwS28JSJgPofbMSCv5PWe0AD3boQGQ= +k8s.io/apimachinery v0.0.0-20220331225401-97e5df2d0258 h1:9TgQL4ndOPmFSnQoTVN/ur/sU3RXMxaSmhMUBbflUTU= +k8s.io/apimachinery v0.0.0-20220331225401-97e5df2d0258/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= k8s.io/cli-runtime v0.0.0-20220330053550-ef25b13feca8 h1:ZbBnGPg/KemzGqilVYDFeTKsFfWPiwmB+bG4JtFQi9Q= k8s.io/cli-runtime v0.0.0-20220330053550-ef25b13feca8/go.mod h1:7rS4pOeS253kcv+ZA4KJZmQV16OU/VC+Kr0xt/TRMbc= -k8s.io/client-go v0.0.0-20220331051643-092a109b2b10 h1:+HZfIcTvYmLQzSP2aDvzBMl1e1kbtJv2j8q/CJ1hz98= -k8s.io/client-go v0.0.0-20220331051643-092a109b2b10/go.mod h1:5KZ2g659eywPk2o9iKo72HhEqqiuTWOrlVyB03peN7k= -k8s.io/code-generator v0.0.0-20220330050606-8f17de063761/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.0.0-20220330051900-ffc9c87ab39a h1:5GgsJwT9dZE4ta+/a+DDXa2FB0f7ZkmwqJbFE6CHZHo= -k8s.io/component-base v0.0.0-20220330051900-ffc9c87ab39a/go.mod h1:LJBddfwf8ppsSrBEKyFor1D79VOnf+xhBp7/sE+XB/E= -k8s.io/component-helpers v0.0.0-20220330052013-855d491da0b6 h1:uk/kmIZFMsRpJhHc2o+5bsfgtM1jBPwIruKSzG61O98= -k8s.io/component-helpers v0.0.0-20220330052013-855d491da0b6/go.mod h1:Pn21kKbelGrlFs9SrhcV8MpJLWSlCkH/7K8qUl00wcg= +k8s.io/client-go v0.0.0-20220420165542-686b396dc068 h1:jb0Jn+VtsEq7o2EkfcLh/KiW4276TO2Y5xgLo3riKvQ= +k8s.io/client-go v0.0.0-20220420165542-686b396dc068/go.mod h1:J+jC4WE19J7G2gTyKYvlGroIAdDgUb/Gsr3wyf2SOCQ= +k8s.io/code-generator v0.0.0-20220420163550-65c70a51ae8e/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.0.0-20220420170358-f73277b34692 h1:IGDEJ1v+AIDwbFoMYBVx6ffYYVvvY04HVKBIJgQWjkM= +k8s.io/component-base v0.0.0-20220420170358-f73277b34692/go.mod h1:3bhERi0RMmLibjhzQTaOenaiYbqZrwtoCRd58dbFtDk= +k8s.io/component-helpers v0.0.0-20220420170647-cd27e63f85f2 h1:rAClFa3cBGg8G/MeB5j7LKI0GSWp0uhPYdlYItcPD6A= +k8s.io/component-helpers v0.0.0-20220420170647-cd27e63f85f2/go.mod h1:Pn21kKbelGrlFs9SrhcV8MpJLWSlCkH/7K8qUl00wcg= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -901,8 +901,8 @@ k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/metrics v0.0.0-20220330053428-cc6cd56b3aba h1:1vnsKajxhfJLW6GKUDWYgoHVyhBqMnhRpjxbSJ9Z4Lk= -k8s.io/metrics v0.0.0-20220330053428-cc6cd56b3aba/go.mod h1:kMuVpUIZpcqD84rmbIPzThTbpcYs7TmQ6BxLGm9Fmbk= +k8s.io/metrics v0.0.0-20220420174251-4a50c7cca9e0 h1:cUArAxhvIr7bYAVVP7LJv5/4HqepxCFz2aQeMKmcp0w= +k8s.io/metrics v0.0.0-20220420174251-4a50c7cca9e0/go.mod h1:KH0Zd9ZoGKBjJL7G6VtsqXB0Ff4ISOtazcjrfhDt9nU= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= diff --git a/pkg/describe/describe.go b/pkg/describe/describe.go index d855ef7e..2a8bf9cc 100644 --- a/pkg/describe/describe.go +++ b/pkg/describe/describe.go @@ -46,7 +46,6 @@ import ( discoveryv1beta1 "k8s.io/api/discovery/v1beta1" extensionsv1beta1 "k8s.io/api/extensions/v1beta1" networkingv1 "k8s.io/api/networking/v1" - networkingv1alpha1 "k8s.io/api/networking/v1alpha1" networkingv1beta1 "k8s.io/api/networking/v1beta1" policyv1 "k8s.io/api/policy/v1" policyv1beta1 "k8s.io/api/policy/v1beta1" @@ -214,7 +213,6 @@ func describerMap(clientConfig *rest.Config) (map[schema.GroupKind]ResourceDescr {Group: networkingv1beta1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, {Group: networkingv1.GroupName, Kind: "Ingress"}: &IngressDescriber{c}, {Group: networkingv1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, - {Group: networkingv1alpha1.GroupName, Kind: "CusterCIDRConfig"}: &ClusterCIDRConfigDescriber{c}, {Group: batchv1.GroupName, Kind: "Job"}: &JobDescriber{c}, {Group: batchv1.GroupName, Kind: "CronJob"}: &CronJobDescriber{c}, {Group: batchv1beta1.GroupName, Kind: "CronJob"}: &CronJobDescriber{c}, @@ -2821,63 +2819,6 @@ func (i *IngressClassDescriber) describeIngressClassV1(ic *networkingv1.IngressC }) } -// ClusterCIDRConfigDescriber generates information about a ClusterCIDRConfig. -type ClusterCIDRConfigDescriber struct { - client clientset.Interface -} - -func (c *ClusterCIDRConfigDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error) { - var events *corev1.EventList - - cccV1alpha1, err := c.client.NetworkingV1alpha1().ClusterCIDRConfigs().Get(context.TODO(), name, metav1.GetOptions{}) - if err == nil { - if describerSettings.ShowEvents { - events, _ = searchEvents(c.client.CoreV1(), cccV1alpha1, describerSettings.ChunkSize) - } - return c.describeClusterCIDRConfigV1alpha1(cccV1alpha1, events) - } - return "", err -} - -func (c *ClusterCIDRConfigDescriber) describeClusterCIDRConfigV1alpha1(ccc *networkingv1alpha1.ClusterCIDRConfig, events *corev1.EventList) (string, error) { - return tabbedString(func(out io.Writer) error { - w := NewPrefixWriter(out) - w.Write(LEVEL_0, "Name:\t%v\n", ccc.Name) - printLabelsMultiline(w, "Labels", ccc.Labels) - printAnnotationsMultiline(w, "Annotations", ccc.Annotations) - - w.Write(LEVEL_0, "NodeSelector:\n") - if ccc.Spec.NodeSelector != nil { - w.Write(LEVEL_1, "NodeSelector Terms:") - if len(ccc.Spec.NodeSelector.NodeSelectorTerms) == 0 { - w.WriteLine("") - } else { - w.WriteLine("") - for i, term := range ccc.Spec.NodeSelector.NodeSelectorTerms { - printNodeSelectorTermsMultilineWithIndent(w, LEVEL_2, fmt.Sprintf("Term %v", i), "\t", term.MatchExpressions) - } - } - } - - if ccc.Spec.PerNodeHostBits != 0 { - w.Write(LEVEL_0, "PerNodeHostBits:\t%s\n", fmt.Sprint(ccc.Spec.PerNodeHostBits)) - } - - if ccc.Spec.IPv4CIDR != "" { - w.Write(LEVEL_0, "IPv4CIDR:\t%s\n", ccc.Spec.IPv4CIDR) - } - - if ccc.Spec.IPv6CIDR != "" { - w.Write(LEVEL_0, "IPv6CIDR:\t%s\n", ccc.Spec.IPv6CIDR) - } - - if events != nil { - DescribeEvents(events, w) - } - return nil - }) -} - // ServiceDescriber generates information about a service. type ServiceDescriber struct { clientset.Interface diff --git a/pkg/describe/describe_test.go b/pkg/describe/describe_test.go index 516e083f..7314feb2 100644 --- a/pkg/describe/describe_test.go +++ b/pkg/describe/describe_test.go @@ -25,7 +25,6 @@ import ( "testing" "time" - "github.com/google/go-cmp/cmp" appsv1 "k8s.io/api/apps/v1" autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" @@ -35,7 +34,6 @@ import ( discoveryv1 "k8s.io/api/discovery/v1" discoveryv1beta1 "k8s.io/api/discovery/v1beta1" networkingv1 "k8s.io/api/networking/v1" - networkingv1alpha1 "k8s.io/api/networking/v1alpha1" networkingv1beta1 "k8s.io/api/networking/v1beta1" policyv1 "k8s.io/api/policy/v1" policyv1beta1 "k8s.io/api/policy/v1beta1" @@ -5235,64 +5233,6 @@ Events: ` + "\n", } } -func TestDescribeClusterCIDRConfig(t *testing.T) { - - testcases := map[string]struct { - input *fake.Clientset - output string - }{ - "ClusterCIDRConfig v1alpha1": { - input: fake.NewSimpleClientset(&networkingv1alpha1.ClusterCIDRConfig{ - ObjectMeta: metav1.ObjectMeta{ - Name: "foo.123", - }, - Spec: networkingv1alpha1.ClusterCIDRConfigSpec{ - PerNodeHostBits: int32(8), - IPv4CIDR: "10.1.0.0/16", - IPv6CIDR: "fd00:1:1::/64", - NodeSelector: &corev1.NodeSelector{ - NodeSelectorTerms: []corev1.NodeSelectorTerm{ - { - MatchExpressions: []corev1.NodeSelectorRequirement{ - { - Key: "foo", - Operator: "In", - Values: []string{"bar"}}, - }, - }, - }, - }, - }, - }), - - output: `Name: foo.123 -Labels: -Annotations: -NodeSelector: - NodeSelector Terms: - Term 0: foo in [bar] -PerNodeHostBits: 8 -IPv4CIDR: 10.1.0.0/16 -IPv6CIDR: fd00:1:1::/64 -Events: ` + "\n", - }, - } - - for name, tc := range testcases { - t.Run(name, func(t *testing.T) { - c := &describeClient{T: t, Namespace: "foo", Interface: tc.input} - d := ClusterCIDRConfigDescriber{c} - out, err := d.Describe("bar", "foo.123", DescriberSettings{ShowEvents: true}) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if out != tc.output { - t.Errorf("expected :\n%s\nbut got output:\n%s diff:\n%s", tc.output, out, cmp.Diff(tc.output, out)) - } - }) - } -} - func TestControllerRef(t *testing.T) { var replicas int32 = 1 f := fake.NewSimpleClientset(