diff --git a/lib/kubernetes-deploy/deploy_task.rb b/lib/kubernetes-deploy/deploy_task.rb index 851ca1c9b..c81d69c25 100644 --- a/lib/kubernetes-deploy/deploy_task.rb +++ b/lib/kubernetes-deploy/deploy_task.rb @@ -82,6 +82,7 @@ def prune_whitelist extensions/v1beta1/Ingress apps/v1beta1/StatefulSet autoscaling/v1/HorizontalPodAutoscaler + policy/v1beta1/PodDisruptionBudget ) if server_version >= Gem::Version.new('1.8.0') wl << "batch/v1beta1/CronJob" diff --git a/test/integration-serial/run_serial_test.rb b/test/integration-serial/run_serial_test.rb index d779318f8..d55dc9a88 100644 --- a/test/integration-serial/run_serial_test.rb +++ b/test/integration-serial/run_serial_test.rb @@ -158,13 +158,6 @@ def test_crd_can_fail end def test_crd_pruning - widget = Class.new(KubernetesDeploy::KubernetesResource) do - def deploy_method - :replace - end - end - KubernetesDeploy.const_set("Widget", widget) - assert_deploy_success(deploy_fixtures("crd", subset: %w(mail.yml widgets.yml))) assert_logs_match_all([ "Phase 1: Initializing deploy", diff --git a/test/integration/kubernetes_deploy_test.rb b/test/integration/kubernetes_deploy_test.rb index d90fee430..56d8a5ecc 100644 --- a/test/integration/kubernetes_deploy_test.rb +++ b/test/integration/kubernetes_deploy_test.rb @@ -1070,4 +1070,10 @@ def test_hpa_can_be_pruned assert_deploy_success(deploy_fixtures("hpa", subset: ["deployment.yml"])) assert_logs_match_all([/The following resources were pruned: horizontalpodautoscaler(.autoscaling)? "hello-hpa"/]) end + + def test_not_apply_resource_can_be_pruned + assert_deploy_success(deploy_fixtures("hello-cloud", subset: %w(disruption-budgets.yml configmap-data.yml))) + assert_deploy_success(deploy_fixtures("hello-cloud", subset: %w(configmap-data.yml))) + assert_logs_match_all([/The following resources were pruned: poddisruptionbudget(.policy)? "test"/]) + end end