Commit Graph

168 Commits

Author SHA1 Message Date
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Arjun Naik
0fec7b0f7e Added functionality and API for pod autoscaling based on container resources
Signed-off-by: Arjun Naik <anaik@redhat.com>
2020-10-21 21:10:05 +02:00
Chao Xu
86dd4ce3b5 Let kube-apiserver host the storage version API
Co-authored-by: Haowei Cai <haoweic@google.com>
2020-09-08 19:14:36 -07:00
Kubernetes Prow Robot
c23a4b08d7
Merge pull request #92874 from chelseychen/event-api
Fix a few places where source field is empty when creating events via events/v1
2020-07-11 20:57:31 -07:00
Chelsey Chen
e010436e2a Update conversion between ReportingController and Source.Component 2020-07-08 08:46:38 -04:00
Damien Grisonnet
ceb8c2fbf4 Fix v1beta1 events printing in kubectl
printers: handle series when printing events
printers: handle singleton when printing events

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2020-07-08 12:09:41 +02:00
Christopher M. Luciano
2b091f60ca
ingress: Add Ingress to v1 API and update backend to defaultBackend
ingress: use new serviceBackend split

ingress: remove all v1beta1 restrictions on creation

This change removes creation and update restrictions enforced by
k8s 1.18 for not allowing resource backends.

Paths are no longer
required to be valid regex and a PathType is now user-specified
and no longer defaulted.

Also remove all TODOs in staging/net/v1 types

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-05-22 11:57:41 -04:00
Maciej Szulik
808fb25a9e
If firstTimestamp is not set use eventTime when printing event 2020-04-09 11:21:36 +02:00
Kubernetes Prow Robot
bfb3fb54b4
Merge pull request #88240 from soltysh/pod_conditions
Present more concrete information about pod readiness
2020-03-03 12:15:42 -08:00
Rob Scott
132d2afca0
Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
James Munnelly
a983356caa Add signerName field to CSR resource spec
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 10:17:55 +00:00
Maciej Szulik
e77df88200
Present more concrete information about pod readiness 2020-02-17 17:10:23 +01:00
Kubernetes Prow Robot
2e0cf7e4b6
Merge pull request #86557 from soltysh/fix_events
If lastTimestamp is not set use firstTimestamp when printing event
2020-02-14 23:09:28 -08:00
Mike Spreitzer
ff8256de3f Added server-side print column about FlowSchema referential integrity 2020-01-31 13:33:07 -05:00
Mike Spreitzer
ce12105edc Added server-side printers for the API object types for API priority and fairness 2020-01-20 01:49:05 -05:00
Maciej Szulik
fcae27b9d2
If lastTimestamp is not set use firstTimestamp when printing event 2019-12-23 17:07:04 +01:00
Nan Yu
1fb0dd4ec5 Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus 2019-12-03 14:26:35 -08:00
Jordan Liggitt
9b387da5a1 Improve rolebinding/clusterrolebinding printers 2019-11-26 13:20:52 -05:00
Jordan Liggitt
36eb250cbb Switch TableGenerator/TableConvertor interfaces to metav1 2019-11-26 13:18:18 -05:00
Rob Scott
0fa9981e01
Splitting IP address type into IPv4 and IPv6 for EndpointSlices 2019-11-12 09:03:53 -08:00
Kubernetes Prow Robot
557275f1d1
Merge pull request #84299 from cwdsuzhou/Octo/add_policy_to_describe
Add reclaim policy to kubectl get storage class result
2019-11-08 03:34:14 -08:00
caiweidong
1488e1e6ef Add reclaimPolicy,volumeBindMode,allowVolumeExpandsion to kubectl get storage class 2019-11-07 23:06:03 +08:00
Sean Sullivan
ce85e863f5 Move small test back to printers_test.go 2019-10-31 15:42:50 -07:00
Sean Sullivan
30d8a93768 Cleanup printer test package.
Updates internalversion BUILD file dependencies

Removes pkg/printers/internalversion from staticcheck failures
2019-10-15 18:13:00 -07:00
Sean Sullivan
cc56738a9e Removes unnecessary/irrelevant tests
Remove test TestPrintPodTable

Removes test TestPrintPodShowLabels
2019-10-15 17:54:36 -07:00
Sean Sullivan
6ced323a94 Adds missing tests.
Added test TestPrintEvent()

Added test TestPrintNamespace()

Added test TestPrintSecret()

Added test TestPrintServiceAccount()

Added test TestPrintPodCondition()

Added test TestPrintDaemonSetLists

Added test TestPrintJobList

Added test TestPrintPodDisruptionBudgetList

Adds test TestPrintConfigMap

Adds test TestPrintNetworkPolicy

Adds tests TestPrintRoleBinding and TestPrintClusterRoleBinding

Adds test TestPrintCertificateSigningRequest

Adds test TestPrintEndpoint

Adds test TestPrintReplicaSetList

Adds test TestPrintComponentStatus

Adds test TestPrintCronJobList

Adds test TestPrintPodTemplate

Adds test TestPrintPodTemplateList

Adds test TestPrintReplicationController

Adds test TestPrintServiceList

Adds test TestPrintStatefulSet
2019-10-15 17:52:06 -07:00
Sean Sullivan
cd4349ffbd Updates tests to expect metav1.TableRows instead of string, since this is what the "print" functions return.
Updated test TestPrintNodeStatus() to not use NewTableGenerator or NewTablePrinter

Updated test TestPrintNodeRode() to not use NewTableGenerator or NewTablePrinter

Updated test TestPrintNodeOSImage() to remove NewTableGenerator and NewTablePrinter

Updated test TestPrintNodeKernelVersion() to remove NewTableGenerator and NewTablePrinter

Updated test TestPrintNodeContainerRuntimeVersion() to remove NewTableGenerator and NewTablePrinter

Updated test TestPrintNodeName() to remove NewTableGenerator and NewTablePrinter

Updated test TestPrintNodeExternalIP() to remove NewTableGenerator and NewTablePrinter

Updated test TestPrintNodeInternalIP() to remove NewTableGenerator and NewTablePrinter

Updated ingress printing test to TestPrintIngress()

Updated test TestPrintService() to remove NewTableGenerator and NewTablePrinter

Updated test to TestPrintServiceLoadBalancer, removing NewTableGenerator and NewTablePrinter

Updated test TestPrintNonTerminatedPod() to remove NewTableGenerator

Updates test TestPrintDeployment() removing NewTableGenerator and NewTablePrinter

Updated test TestPrintDaemonSet(), removing NewTableGenerator and NewTablePrinter

Updated test TestPrintJob, removing NewTableGenerator and NewTablePrinter

Updates test TestPrintHPA(), removing NewTableGenerator and NewTablePrinter

Updated test TestPrintPodDisruptionBudget(), removing NewTableGenerator and NewTablePrinter

Updated test TestPrintControllerRevision(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintLease, removing NewTableGenerator and NewTablePrinter

Updates test TestPrintPriorityClass(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintRuntimeClass(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintEndpointSlice(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintReplicaSet(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintPersistentVolume(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintPersistentVolumneClaim(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintCronJob(), removing NewTableGenerator and NewTablePrinter

Updates test TestPrintStorageClass(), removing NewTableGenerator and NewTablePrinter
2019-10-15 17:44:28 -07:00
Sean Sullivan
3e7d8bc64e Moves tangential tests into another file. 2019-10-15 17:43:41 -07:00
Rob Scott
ab1943e00b
Adding kubectl support for EndpointSlice 2019-08-30 11:42:57 -07:00
Sean Sullivan
33bf8a8ebd Update PrintOptions to more appropriate GenerateOptions in some cases 2019-08-23 09:25:22 -07:00
Sean Sullivan
6108dac670 Change GenerateTable parameter PrintOptions to GenerateOptions 2019-08-22 10:17:42 -07:00
Sean Sullivan
6c0bf629e6 Remove decorateTable() from TableGenerator 2019-08-22 10:17:42 -07:00
Sean Sullivan
374eff070c Split printer tests into table generation then table printing 2019-08-19 13:05:54 -07:00
Khaled Henidak(Kal)
54d42e6a65 types modifications + conversion + conversion testing 2019-07-02 15:39:05 +00:00
Jordan Liggitt
a3bb81ff32 Ensure defaulting applies to custom resource items in list response 2019-06-06 09:17:31 -04:00
Sean Sullivan
41b84b7f6e Unexport PrintTable function 2019-05-06 22:16:45 -07:00
Sean Sullivan
13f3f11f52 tableprinter: simplifies default printer handler 2019-05-03 11:46:10 -07:00
Kubernetes Prow Robot
f6ab463695
Merge pull request #76647 from cwdsuzhou/add_pv_test_in_printer
Add some tests for printing pv
2019-05-01 14:32:17 -07:00
Baasbank
d97b7f20f8 fixes golint errors in pkg/printers/storage
fixes golint errors in pkg/printers

fixes golint errors for pkg/printers/internalversion

implements recommended changes
2019-05-01 17:02:55 +01:00
Sean Sullivan
bbc2886a3b Rename NewHumanReadablePrinter to NewTablePrinter 2019-04-29 11:42:04 -07:00
caiweidong
6872cf2a55 Support print volumeMode using kubectl get pv/pvc -o wide 2019-04-24 23:30:57 +08:00
caiweidong
f1c8bf887b add some test for printing pv
fix collision
2019-04-18 13:41:45 +08:00
Kubernetes Prow Robot
88d44f49c7
Merge pull request #76681 from seans3/humanreadable-cleanup
Removed unused code in humanreadable.go
2019-04-17 18:52:03 -07:00
Kubernetes Prow Robot
944f76bfa6
Merge pull request #76673 from seans3/table-print-split
Rename TablePrinter interface to TableGenerator
2019-04-17 13:40:35 -07:00
Sean Sullivan
b3237ed0b7 Removed unused code in humanreadable.go 2019-04-17 10:45:08 -07:00
Sean Sullivan
b99f49b5b3 Removes test-only skipTabWriter from HumanReadablePrinter 2019-04-16 18:12:28 -07:00
Sean Sullivan
abfc5bbbf7 Rename TablePrinter interface to TableGenerator 2019-04-16 12:55:30 -07:00
Jordan Liggitt
c758f0af0a Remove legacy table printing and decoding 2019-04-08 12:31:38 -04:00
Kubernetes Prow Robot
f229aa0ad6
Merge pull request #75044 from errordeveloper/move-cli-runtime-subpackages
Move printers & resources packages
2019-03-08 05:43:26 -08:00
Ilya Dmitrichenko
6d7a9048b6
Move printers & resources packages
These packages deserve to live at the top level of `k8s.io/cli-runtime`,
as they are potentially of wider use than genericclioptions.
2019-03-07 23:00:24 +00:00