krane 3.4.1 → 3.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d9fd3a2bdcd247f19399a1617e4b3d7c2534b78535a05fe2609e1770fbcb943
4
- data.tar.gz: 58f419d984de460814ceb27212e577b26d81e243f5be9b3821a0b348e314b975
3
+ metadata.gz: e9af2989b818a90b912ff0be766da947ba16069bf80c37af1fbe796035e09639
4
+ data.tar.gz: ee50f25e7c6978f00b9fe3db89a1eae508cfc5d5537af3eed34f7de8686d39c0
5
5
  SHA512:
6
- metadata.gz: '0443799d9c0b820269127bedc5c2ee8ad7ef4de195bceb8b0cd65f46d55e169b19be24e50798901796ff33b46a34e21af5d2e2e5c3adfff2cf9464fd52899f27'
7
- data.tar.gz: 81647888f3cca18356273f23802960d683830d68bb373da6031e64791374ef276a42f8161bf2f50b57dd46de6934d924dde85ddf70c6ac9930fb9f8163c0f452
6
+ metadata.gz: d7b8f745d709a8a06b8abfa3733df4dc897ea46e019d0d4edba80cbaf46a315697491dd27a75ccc876965d3e42d4cad58f7b1ed98b6d1ba1902ec71e0edf0969
7
+ data.tar.gz: 804e293dd895cee5a1aaa48b0509ff46dd039fafad7aadcfcb7f97e61cef9490dc745a77f4fb9a38f0627c09c29864f53a493451a9e8fdfe1b1d6c78a2c43386
@@ -6,7 +6,7 @@ jobs:
6
6
  ruby-tests:
7
7
  runs-on: ubuntu-latest
8
8
 
9
- name: "Tests - Ruby ${{ matrix.ruby }} with Kubernetes ${{ matrix.kubernetes_version }}"
9
+ name: "Tests (${{matrix.test_suite}}) - Ruby ${{ matrix.ruby }} with Kubernetes ${{ matrix.kubernetes_version }}"
10
10
  strategy:
11
11
  fail-fast: false
12
12
  matrix:
@@ -20,6 +20,11 @@ jobs:
20
20
  - "1.26.4"
21
21
  - "1.24.13"
22
22
  - "1.23.17"
23
+ test_suite:
24
+ - "unit_test"
25
+ - "cli_test"
26
+ - "serial_integration_test"
27
+ - "integration_test"
23
28
  include:
24
29
  - kubernetes_version: "1.27.3"
25
30
  kind_image: "kindest/node:v1.27.3@sha256:9dd3392d79af1b084671b05bcf65b21de476256ad1dcc853d9f3b10b4ac52dde"
@@ -52,4 +57,4 @@ jobs:
52
57
 
53
58
  - name: Run tests
54
59
  run: |
55
- bin/test
60
+ bin/test ${{matrix.test_suite}}
data/CHANGELOG.md CHANGED
@@ -1,8 +1,13 @@
1
1
  ## next
2
2
 
3
+ # 3.4.2
4
+
5
+ - Remove flag `--skip-dry-run` (see [#946](https://github.com/Shopify/krane/pull/946))
6
+ - Remove support for batched server-side dry-run ([#946](https://github.com/Shopify/krane/pull/946))
7
+
3
8
  # 3.4.1
4
9
 
5
- - Added flag `--skip-dry-run` to completely opt out of dry run validation.
10
+ - Added flag `--skip-dry-run` to completely opt out of dry run validation.
6
11
 
7
12
  # 3.4.0
8
13
 
data/bin/test CHANGED
@@ -33,16 +33,23 @@ if [[ "${CI:-0}" != "0" ]]; then
33
33
  PARALLELISM=2
34
34
  fi
35
35
 
36
- print_header "Run CLI Tests"
37
- bundle exec rake cli_test
36
+ test_type=$1
38
37
 
39
- print_header "Run Unit Tests"
40
- bundle exec rake unit_test
41
38
 
42
- print_header "Run Non-Parallel Integration Tests"
43
- bundle exec rake serial_integration_test
39
+ case $test_type in
40
+ cli_test | unit_test | serial_integration_test)
41
+ print_header $test_type
42
+ bundle exec rake $test_type
43
+ ;;
44
44
 
45
- print_header "Run Parallel Integration Tests (MT_CPU=$PARALLELISM)"
46
- PARALLELIZE_ME=1 MT_CPU=$PARALLELISM bundle exec rake integration_test
45
+ integration_test)
46
+ print_header "Run Parallel Integration Tests (MT_CPU=$PARALLELISM)"
47
+ PARALLELIZE_ME=1 MT_CPU=$PARALLELISM bundle exec rake integration_test
48
+ ;;
49
+
50
+ *)
51
+ echo "Argument must be one of: unit_test, cli_test, serial_integration_test, integration_test"
52
+ ;;
53
+ esac
47
54
 
48
55
  test $err -eq 0
@@ -33,7 +33,6 @@ module Krane
33
33
  default: false },
34
34
  "verify-result" => { type: :boolean, default: true,
35
35
  desc: "Verify workloads correctly deployed" },
36
- "skip-dry-run" => { type: :boolean, desc: "Enable skipping dry run", default: false},
37
36
  }
38
37
 
39
38
  def self.from_options(namespace, context, options)
@@ -72,7 +71,6 @@ module Krane
72
71
  selector: selector,
73
72
  selector_as_filter: selector_as_filter,
74
73
  protected_namespaces: protected_namespaces,
75
- skip_dry_run: options["skip-dry-run"]
76
74
  )
77
75
 
78
76
  deploy.run!(
@@ -106,7 +106,7 @@ module Krane
106
106
  # @param render_erb [Boolean] Enable ERB rendering
107
107
  def initialize(namespace:, context:, current_sha: nil, logger: nil, kubectl_instance: nil, bindings: {},
108
108
  global_timeout: nil, selector: nil, selector_as_filter: false, filenames: [], protected_namespaces: nil,
109
- render_erb: false, kubeconfig: nil, skip_dry_run: false)
109
+ render_erb: false, kubeconfig: nil)
110
110
  @logger = logger || Krane::FormattedLogger.build(namespace, context)
111
111
  @template_sets = TemplateSets.from_dirs_and_files(paths: filenames, logger: @logger, render_erb: render_erb)
112
112
  @task_config = Krane::TaskConfig.new(context, namespace, @logger, kubeconfig)
@@ -121,7 +121,6 @@ module Krane
121
121
  @selector_as_filter = selector_as_filter
122
122
  @protected_namespaces = protected_namespaces || PROTECTED_NAMESPACES
123
123
  @render_erb = render_erb
124
- @skip_dry_run = skip_dry_run
125
124
  end
126
125
 
127
126
  # Runs the task, returning a boolean representing success or failure
@@ -287,15 +286,9 @@ module Krane
287
286
 
288
287
  def validate_resources(resources)
289
288
  validate_globals(resources)
290
- batch_dry_run_success = @skip_dry_run || validate_dry_run(resources)
291
289
  resources.select! { |r| r.selected?(@selector) } if @selector_as_filter
292
290
  Krane::Concurrency.split_across_threads(resources) do |r|
293
- # No need to pass in kubectl (and do per-resource dry run apply) if batch dry run succeeded
294
- if batch_dry_run_success
295
- r.validate_definition(kubectl: nil, selector: @selector, dry_run: false)
296
- else
297
- r.validate_definition(kubectl: kubectl, selector: @selector, dry_run: true)
298
- end
291
+ r.validate_definition(kubectl: kubectl, selector: @selector, dry_run: true)
299
292
  end
300
293
  failed_resources = resources.select(&:validation_failed?)
301
294
  if failed_resources.present?
@@ -321,10 +314,6 @@ module Krane
321
314
  "Use GlobalDeployTask instead."
322
315
  end
323
316
 
324
- def validate_dry_run(resources)
325
- resource_deployer.dry_run(resources)
326
- end
327
-
328
317
  def namespace_definition
329
318
  @namespace_definition ||= begin
330
319
  definition, _err, st = kubectl.run("get", "namespace", @namespace, use_namespace: false,
@@ -20,13 +20,6 @@ module Krane
20
20
  @statsd_tags = statsd_tags
21
21
  end
22
22
 
23
- def dry_run(resources)
24
- apply_all(resources, true, dry_run: true)
25
- true
26
- rescue FatalDeploymentError
27
- false
28
- end
29
-
30
23
  def deploy!(resources, verify_result, prune)
31
24
  if verify_result
32
25
  deploy_all_resources(resources, prune: prune, verify: true)
data/lib/krane/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Krane
3
- VERSION = "3.4.1"
3
+ VERSION = "3.4.2"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krane
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Verey
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2024-01-29 00:00:00.000000000 Z
13
+ date: 2024-01-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport