krane 3.4.1 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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