• Kubernetes Submit Queue's avatar
    Merge pull request #40932 from peay/cronjob-max-finished-jobs · 80e6492f
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 40932, 41896, 41815, 41309, 41628)
    
    Modify CronJob API to add job history limits, cleanup jobs in controller
    
    **What this PR does / why we need it**:
    As discussed in #34710: this adds two limits to `CronJobSpec`, to limit the number of finished jobs created by a CronJob to keep.
    
    **Which issue this PR fixes**: fixes #34710
    
    **Special notes for your reviewer**:
    
    cc @soltysh, please have a look and let me know what you think -- I'll then add end to end testing and update the doc in a separate commit. What is the timeline to get this into 1.6?
    
    The plan:
    
    - [x] API changes
      - [x] Changing versioned APIs
        - [x] `types.go`
        - [x] `defaults.go` (nothing to do)
        - [x] `conversion.go` (nothing to do?)
        - [x] `conversion_test.go` (nothing to do?)
      - [x] Changing the internal structure
        - [x] `types.go`
        - [x] `validation.go`
        - [x] `validation_test.go`
      - [x] Edit version conversions
        - [x] Edit (nothing to do?)
        - [x] Run `hack/update-codegen.sh`
      - [x] Generate protobuf objects
        - [x] Run `hack/update-generated-protobuf.sh`
      - [x] Generate json (un)marshaling code
        - [x] Run `hack/update-codecgen.sh`
      - [x] Update fuzzer
    - [x] Actual logic
    - [x] Unit tests
    - [x] End to end tests
    - [x] Documentation changes and API specs update in separate commit
    
    
    **Release note**:
    
    ```release-note
    Add configurable limits to CronJob resource to specify how many successful and failed jobs are preserved.
    ```
    80e6492f
Name
Last commit
Last update
..
chaosmonkey Loading commit data...
common Loading commit data...
framework Loading commit data...
generated Loading commit data...
perftype Loading commit data...
testing-manifests Loading commit data...
upgrades Loading commit data...
BUILD Loading commit data...
addon_update.go Loading commit data...
apparmor.go Loading commit data...
cadvisor.go Loading commit data...
cluster_logging_es.go Loading commit data...
cluster_logging_es_utils.go Loading commit data...
cluster_logging_gcl.go Loading commit data...
cluster_logging_gcl_load.go Loading commit data...
cluster_logging_gcl_utils.go Loading commit data...
cluster_logging_utils.go Loading commit data...
cluster_size_autoscaling.go Loading commit data...
cluster_upgrade.go Loading commit data...
cronjob.go Loading commit data...
daemon_restart.go Loading commit data...
daemon_set.go Loading commit data...
dashboard.go Loading commit data...
density.go Loading commit data...
deployment.go Loading commit data...
disruption.go Loading commit data...
dns.go Loading commit data...
dns_autoscaling.go Loading commit data...
dns_configmap.go Loading commit data...
e2e-example-config.json Loading commit data...
e2e.go Loading commit data...
e2e.out Loading commit data...
e2e_test.go Loading commit data...
empty.go Loading commit data...
empty_dir_wrapper.go Loading commit data...
etcd_failure.go Loading commit data...
events.go Loading commit data...
example_cluster_dns.go Loading commit data...
example_k8petstore.go Loading commit data...
examples.go Loading commit data...
firewall.go Loading commit data...
garbage_collector.go Loading commit data...
generated_clientset.go Loading commit data...
gke_local_ssd.go Loading commit data...
gke_node_pools.go Loading commit data...
ha_master.go Loading commit data...
horizontal_pod_autoscaling.go Loading commit data...
ingress.go Loading commit data...
ingress_utils.go Loading commit data...
initial_resources.go Loading commit data...
job.go Loading commit data...
kibana_logging.go Loading commit data...
kube_proxy.go Loading commit data...
kubectl.go Loading commit data...
kubelet.go Loading commit data...
kubelet_perf.go Loading commit data...
limit_range.go Loading commit data...
load.go Loading commit data...
logging_soak.go Loading commit data...
mesos.go Loading commit data...
metrics_grabber_test.go Loading commit data...
monitoring.go Loading commit data...
namespace.go Loading commit data...
network_partition.go Loading commit data...
networking.go Loading commit data...
networking_perf.go Loading commit data...
node_problem_detector.go Loading commit data...
nodeoutofdisk.go Loading commit data...
opaque_resource.go Loading commit data...
pd.go Loading commit data...
persistent_volumes-disruptive.go Loading commit data...
persistent_volumes-vsphere.go Loading commit data...
persistent_volumes.go Loading commit data...
pod_gc.go Loading commit data...
pods.go Loading commit data...
portforward.go Loading commit data...
pre_stop.go Loading commit data...
proxy.go Loading commit data...
pv_reclaimpolicy.go Loading commit data...
pvc_label_selector.go Loading commit data...
rc.go Loading commit data...
reboot.go Loading commit data...
replica_set.go Loading commit data...
rescheduler.go Loading commit data...
resize_nodes.go Loading commit data...
resource_quota.go Loading commit data...
restart.go Loading commit data...
scheduler_predicates.go Loading commit data...
security_context.go Loading commit data...
service.go Loading commit data...
service_accounts.go Loading commit data...
service_latency.go Loading commit data...
serviceloadbalancers.go Loading commit data...
ssh.go Loading commit data...
statefulset.go Loading commit data...
taints_test.go Loading commit data...
third-party.go Loading commit data...
ubernetes_lite.go Loading commit data...
util_iperf.go Loading commit data...
volume_provisioning.go Loading commit data...
volumes.go Loading commit data...
vsphere_utils.go Loading commit data...
vsphere_volume_diskformat.go Loading commit data...
vsphere_volume_placement.go Loading commit data...