r10k 3.2.3 → 3.3.0

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
  SHA1:
3
- metadata.gz: 469f2e9b11b47308ab7db4315070fbd65b7d1ed1
4
- data.tar.gz: 24a53e3495eb9a71b72817f753193559987006ef
3
+ metadata.gz: 32980c97963f0d5bb6515fcdd0482f19607bb7dd
4
+ data.tar.gz: a6797080cc3652fbcddf7a4b8433a9d8443d6fdd
5
5
  SHA512:
6
- metadata.gz: f71876396b64988ba115940dea265b5469f8cd13ae37d34bd7cbbca218aa7392966289c226266d23600e02e2c3fdfb745c9648cd0ccb5cf57e7053070db12bf2
7
- data.tar.gz: f3182e61bab12374beec84a535fa2c4d55299d7cc46357bad637a252b50f29f28bd6dfde2af7630d9d5a00273f96b66c6f387963471a017e9795527979a5c835
6
+ metadata.gz: 65f2fd216db51e69dcbd799b707f25b96329de64679f598bdfdb35fa25762b65d35ee1e891086366f383a78174ec0e0c06ff2b1f30502dace98d923613bcfe86
7
+ data.tar.gz: c2ff647aa4e140eef64e49256a2812aee64a5293e8ed0a4bf40341d0efb109c4ab5a5382cce824e05fe2a8d65f2a5de97d6a08341855897eb59975c0136f1172
@@ -1,12 +1,14 @@
1
1
  ---
2
2
  language: ruby
3
+ services:
4
+ - docker
3
5
  bundler_args: "--without system"
4
6
  script: "bundle exec rspec --color --format documentation spec/unit"
5
7
  notifications:
6
8
  email: false
7
9
  sudo: false
8
10
  jdk:
9
- - openjdk8
11
+ - oraclejdk8
10
12
  before_install: gem install bundler -v '< 2' --no-document
11
13
  matrix:
12
14
  include:
@@ -18,3 +20,20 @@ matrix:
18
20
  rvm: 2.3.0
19
21
  - stage: r10k tests
20
22
  rvm: jruby
23
+ - stage: r10k container tests
24
+ language: ruby
25
+ rvm: 2.5.5
26
+ env:
27
+ - DOCKER_COMPOSE_VERSION=1.24.0
28
+ script:
29
+ - |
30
+ set -ex
31
+ sudo rm /usr/local/bin/docker-compose
32
+ curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
33
+ chmod +x docker-compose
34
+ sudo mv docker-compose /usr/local/bin
35
+ cd docker
36
+ make lint
37
+ make build
38
+ make test
39
+ set +x
@@ -1,101 +1,98 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
- 3.2.1
5
- ----
4
+ 3.3.0
5
+ -----
6
6
 
7
- ### Changes
8
- - Flag for overriding default branch configuration in Puppetfile
9
- - Plumbing for internationalization
10
- - Numerous test fixes and legacy docker work
7
+ ## New Feature
8
+
9
+ Adds support for installing modules concurrently
10
+
11
+ ## Bug Fixes
12
+
13
+ (RK-343) Pins CRI dependency to 2.15.6 to resolve regression in options
14
+ parsing.
11
15
 
12
16
  3.2.0
13
17
  -----
14
18
 
15
- ### Changes
19
+ ## New Feature
16
20
 
17
- - Add support for running `puppet generate types`
21
+ Add support for running `puppet generate types`
18
22
 
19
23
  3.1.1
20
24
  -----
21
25
 
22
- ### Changes
26
+ ## Bug Fixes
23
27
 
24
- - (RK-335) Postrun `modifiedenvs` doesn't include environment prefixes
28
+ (RK-335) Postrun `modifiedenvs` doesn't include environment prefixes
25
29
 
26
30
  3.1.0
27
31
  -----
28
32
 
29
- ### Changes
30
-
31
- - Substitute environments acted on in postrun command.
33
+ ## New Feature
32
34
 
33
- Now post run commands that contain the string "$modifiedenvs"
34
- (eg. ["/usr/local/bin/my-postrun-cmd", "--verbose", "$modifiedenvs"])
35
- will have the string substituted with a space separated list
36
- of environments acted upon (either a single environment if
37
- specified on the command line or all environments).
35
+ Substitute environments acted on in postrun command.
38
36
 
39
- Specifically this should allow users to easily wrap
40
- `puppet generate types` and matches the terminology used
41
- in g10k.
37
+ Now post run commands that contain the string "$modifiedenvs"
38
+ (eg. ["/usr/local/bin/my-postrun-cmd", "--verbose", "$modifiedenvs"])
39
+ will have the string substituted with a space separated list
40
+ of environments acted upon (either a single environment if
41
+ specified on the command line or all environments).
42
42
 
43
- Many thanks to @raphink for the contribution.
43
+ Specifically this should allow users to easily wrap
44
+ `puppet generate types` and matches the terminology used
45
+ in g10k.
44
46
 
45
- 3.0.4
46
- ----
47
+ Many thanks to @raphink for the contribution.
47
48
 
48
- ### Changes
49
- - Flag for overriding default branch configuration in Puppetfile
50
- - Plumbing for internationalization
51
- - Numerous test fixes and legacy docker work
52
49
 
53
50
  3.0.3
54
51
  ----
55
52
 
56
- ### Changes
53
+ ## Bug Fixes
57
54
 
58
- - (RK-324) Fix Ruby pipe bug affecting Ubuntu
55
+ (RK-324) Fix Ruby pipe bug affecting Ubuntu
59
56
 
60
57
  3.0.2
61
58
  ----
62
59
 
63
- ### Changes
60
+ ## Changes
64
61
 
65
- - Minor test fixes.
62
+ Minor test fixes.
66
63
 
67
64
  3.0.1
68
65
  ----
69
66
 
70
- ### Changes
67
+ ## Changes
71
68
 
72
69
  Because of dependency issues R10K 3.0.0 required Ruby >= 2.3
73
70
  rather than the reported 2.0. This release makes the requirement of
74
71
  Ruby >= 2.3 official and documented.
75
72
 
76
- - (#853) ([RK-327](https://tickets.puppetlabs.com/browse/RK-327) Uninitialized Constant Cri::Error
77
- When resolving the Cri dependency >= 2.13 R10K would fail with an
78
- uninitialized constant error. Thanks to @ostavnaas for the bug report,
79
- @ddfreyne for the fix, and @baurmatt for the review.
73
+ (#853) ([RK-327](https://tickets.puppetlabs.com/browse/RK-327) Uninitialized Constant Cri::Error
74
+ When resolving the Cri dependency >= 2.13 R10K would fail with an
75
+ uninitialized constant error. Thanks to @ostavnaas for the bug report,
76
+ @ddfreyne for the fix, and @baurmatt for the review.
80
77
 
81
78
 
82
79
  3.0.0
83
80
  ----
84
81
 
85
- ### Changes
82
+ ## Changes
86
83
 
87
- #### Known issues
84
+ ### Known issues
88
85
  - Child processes may die unexpectedly when deploying many environments
89
86
  on Ubuntu Bionic. See
90
87
  [RK-324](https://tickets.puppetlabs.com/browse/RK-324).
91
88
 
92
- #### Backwards breaking changes
89
+ ### Backwards breaking changes
93
90
  - Drop support for Ruby < 2.0
94
91
  - Remove support for PUPPETFILE and PUPPETFILE_DIR environment variables
95
92
  when running the `puppetfile` action, please use flags instead.
96
93
  - Fail when duplicate module definitions in Puppetfile
97
94
 
98
- #### Bug fixes
95
+ ### Bug fixes
99
96
  - More reliable pruning of refs on fetch
100
97
  - Improved error messaging when:
101
98
  - Unable to connect to a proxy
@@ -103,32 +100,24 @@ Ruby >= 2.3 official and documented.
103
100
  - Unable to parse Puppetfile
104
101
  - Various perfomance improvements
105
102
 
106
- 2.6.6
107
- ----
108
-
109
- ### Changes
110
- - Flag for overriding default branch configuration in Puppetfile
111
- - Plumbing for internationalization
112
- - Numerous test fixes and legacy docker work
113
103
 
114
104
  2.6.5
115
105
  ----
116
106
 
117
- ### Bug Fix
107
+ ## Bug Fix
118
108
 
119
109
  (RK-324) Fix Ruby pipe bug affecting Ubuntu
120
110
 
121
111
  2.6.4
122
112
  ----
123
113
 
124
- ### Changes
114
+ ## Changes
125
115
 
126
116
  Numerous test fixes.
127
117
 
128
118
  2.6.3
129
119
  ----
130
-
131
- ### Changes
120
+ ## Changes
132
121
 
133
122
  Update specs with new error string.
134
123
 
@@ -137,7 +126,6 @@ when a release is made on that branch.
137
126
 
138
127
  2.6.2
139
128
  -----
140
-
141
129
  ### Changes
142
130
 
143
131
  (RK-311) Yard dependency updated for security fix.
@@ -60,18 +60,6 @@ Update a single environment and force an update of modules:
60
60
  This will update the given environment and update all contained modules. This is
61
61
  useful if you want to make sure that a given environment is fully up to date.
62
62
 
63
- - - -
64
-
65
- Update a single environment and specify a default branch override:
66
-
67
- r10k deploy environment my_working_environment --puppetfile --default-branch-override default_branch_override
68
-
69
- This will update the given environment and update all contained modules, overrideing
70
- the :default_branch entry in the Puppetfile of each module. This is used primarily to allow
71
- automated r10k solutions using the control_branch pattern with a temporary branch deployment to
72
- ensure the deployment is pushed to the correct module repository branch. Note that the :default_branch
73
- is only ever utilized if the desired ref cannot be located.
74
-
75
63
  ### Deploying modules
76
64
 
77
65
  Update a single module across all environments:
@@ -1,4 +1,4 @@
1
- --require ./r10k/spec/spec_helper
1
+ --require pupperware/spec_helper
2
2
  --format RspecJunitFormatter
3
3
  --out TEST-rspec.xml
4
4
  --format documentation
@@ -12,3 +12,7 @@ end
12
12
 
13
13
  gem 'rspec'
14
14
  gem 'rspec_junit_formatter'
15
+ gem 'pupperware',
16
+ :git => 'https://github.com/puppetlabs/pupperware.git',
17
+ :ref => 'master',
18
+ :glob => 'gem/*.gemspec'
@@ -6,21 +6,17 @@ build_date := $(shell date -u +%FT%T)
6
6
  hadolint_available := $(shell hadolint --help > /dev/null 2>&1; echo $$?)
7
7
  hadolint_command := hadolint --ignore DL3008 --ignore DL3018 --ignore DL4000 --ignore DL4001
8
8
  hadolint_container := hadolint/hadolint:latest
9
+ pwd := $(shell pwd)
10
+ export BUNDLE_PATH = $(pwd)/.bundle/gems
11
+ export BUNDLE_BIN = $(pwd)/.bundle/bin
12
+ export GEMFILE = $(pwd)/Gemfile
9
13
 
10
- ifeq ($(IS_NIGHTLY),true)
11
- dockerfile := Dockerfile.nightly
12
- version := puppet6-nightly
13
- else
14
- version = $(shell echo $(git_describe) | sed 's/-.*//')
15
- dockerfile := Dockerfile
16
- endif
17
-
14
+ version = $(shell echo $(git_describe) | sed 's/-.*//')
15
+ dockerfile := Dockerfile
18
16
 
19
17
  prep:
20
- ifneq ($(IS_NIGHTLY),true)
21
18
  @git fetch --unshallow ||:
22
19
  @git fetch origin 'refs/tags/*:refs/tags/*'
23
- endif
24
20
 
25
21
  lint:
26
22
  ifeq ($(hadolint_available),0)
@@ -45,8 +41,10 @@ ifeq ($(IS_LATEST),true)
45
41
  endif
46
42
 
47
43
  test: prep
48
- @bundle install --path .bundle/gems
49
- @PUPPET_TEST_DOCKER_IMAGE=$(NAMESPACE)/r10k:$(version) bundle exec rspec r10k/spec
44
+ @bundle install --path $$BUNDLE_PATH --gemfile $$GEMFILE
45
+ @PUPPET_TEST_DOCKER_IMAGE=$(NAMESPACE)/r10k:$(version) \
46
+ bundle exec --gemfile $$GEMFILE \
47
+ rspec r10k/spec
50
48
 
51
49
  push-image: prep
52
50
  @docker push $(NAMESPACE)/r10k:$(version)
@@ -1,4 +1,4 @@
1
- FROM alpine:3.8
1
+ FROM alpine:3.9
2
2
 
3
3
  ARG vcs_ref
4
4
  ARG build_date
@@ -5,10 +5,9 @@ require 'open3'
5
5
  SPEC_DIRECTORY = File.dirname(__FILE__)
6
6
 
7
7
  describe 'r10k container' do
8
- include Helpers
9
-
8
+ include Pupperware::SpecHelpers
10
9
  def run_r10k(command)
11
- run_command("docker run --rm \
10
+ run_command("docker run --detach \
12
11
  --volume #{File.join(SPEC_DIRECTORY, 'fixtures')}:/test \
13
12
  #{@image} #{command} \
14
13
  --puppetfile /test/Puppetfile")
@@ -33,12 +32,20 @@ describe 'r10k container' do
33
32
 
34
33
  it 'should validate the Puppetfile' do
35
34
  result = run_r10k('puppetfile check')
36
- expect(result[:status].exitstatus).to eq(0)
35
+ container = result[:stdout].chomp
36
+ wait_on_container_exit(container)
37
+ expect(get_container_exit_code(container)).to eq(0)
38
+ emit_log(container)
39
+ teardown_container(container)
37
40
  end
38
41
 
39
42
  it 'should install the Puppetfile' do
40
43
  result = run_r10k('puppetfile install')
41
- expect(result[:status].exitstatus).to eq(0)
44
+ container = result[:stdout].chomp
45
+ wait_on_container_exit(container)
46
+ expect(get_container_exit_code(container)).to eq(0)
42
47
  expect(Dir.exist?(File.join(SPEC_DIRECTORY, 'fixtures', 'modules', 'ntp'))).to eq(true)
48
+ emit_log(container)
49
+ teardown_container(container)
43
50
  end
44
51
  end
@@ -0,0 +1,71 @@
1
+ require 'git_utils'
2
+ require 'r10k_utils'
3
+ require 'master_manipulator'
4
+ test_name 'RK-158 - C92361 - Attempt to install a PE-only module with no license file'
5
+
6
+ #Init
7
+ env_path = on(master, puppet('config print environmentpath')).stdout.rstrip
8
+ r10k_fqp = get_r10k_fqp(master)
9
+ master_certname = on(master, puppet('config', 'print', 'certname')).stdout.rstrip
10
+
11
+ git_repo_path = '/git_repos'
12
+ git_repo_name = 'environments'
13
+ git_control_remote = File.join(git_repo_path, "#{git_repo_name}.git")
14
+ git_environments_path = '/root/environments'
15
+ last_commit = git_last_commit(master, git_environments_path)
16
+ git_provider = ENV['GIT_PROVIDER'] || 'shellgit'
17
+
18
+ r10k_config_path = get_r10k_config_file_path(master)
19
+ r10k_config_bak_path = "#{r10k_config_path}.bak"
20
+
21
+ #In-line files
22
+ r10k_conf = <<-CONF
23
+ cachedir: '/var/cache/r10k'
24
+ git:
25
+ provider: '#{git_provider}'
26
+ sources:
27
+ control:
28
+ basedir: "#{env_path}"
29
+ remote: "#{git_control_remote}"
30
+ CONF
31
+
32
+ #Manifest
33
+ site_pp_path = File.join(git_environments_path, 'manifests', 'site.pp')
34
+ site_pp = create_site_pp(master_certname, ' include peonly')
35
+
36
+ # Verification
37
+ error_message_regex = /You must have a valid Puppet Enterprise® license on this node in order to download ztr-peonly/
38
+
39
+ #Teardown
40
+ teardown do
41
+ step 'Restore Original "r10k" Config'
42
+ on(master, "mv #{r10k_config_bak_path} #{r10k_config_path}")
43
+
44
+ step 'cleanup r10k'
45
+ clean_up_r10k(master, last_commit, git_environments_path)
46
+ end
47
+
48
+ #Setup
49
+ step 'Stub the forge'
50
+ stub_forge_on(master)
51
+
52
+ step 'Backup a Valid "r10k" Config'
53
+ on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
54
+
55
+ step 'Update the "r10k" Config'
56
+ create_remote_file(master, r10k_config_path, r10k_conf)
57
+
58
+ step 'Inject New "site.pp" to the "production" Environment'
59
+ inject_site_pp(master, site_pp_path, site_pp)
60
+
61
+ step 'Copy Puppetfile to "production" Environment Git Repo'
62
+ create_remote_file(master, "#{git_environments_path}/Puppetfile", 'mod "ztr-peonly"')
63
+
64
+ step 'Push Changes'
65
+ git_add_commit_push(master, 'production', 'add Puppetfile', git_environments_path)
66
+
67
+ #Test
68
+ step 'Deploy "production" Environment via r10k'
69
+ on(master, "#{r10k_fqp} deploy environment -p", :acceptable_exit_codes => [0,1]) do |result|
70
+ assert_match(error_message_regex, result.stderr, 'Expected error message was not observed!')
71
+ end
@@ -129,7 +129,7 @@ module R10K
129
129
  end
130
130
 
131
131
  def visit_puppetfile(puppetfile)
132
- puppetfile.load(@opts[:'default-branch-override'])
132
+ puppetfile.load
133
133
 
134
134
  yield
135
135
 
@@ -145,24 +145,11 @@ module R10K
145
145
  end
146
146
 
147
147
  def write_environment_info!(environment, started_at, success)
148
- module_deploys = []
149
- begin
150
- environment.puppetfile.modules.each do |mod|
151
- name = mod.name
152
- version = mod.version
153
- sha = mod.repo.head rescue nil
154
- module_deploys.push({:name => name, :version => version, :sha => sha})
155
- end
156
- rescue
157
- logger.debug("Unable to get environment module deploy data for .r10k-deploy.json at #{environment.path}")
158
- end
159
-
160
148
  File.open("#{environment.path}/.r10k-deploy.json", 'w') do |f|
161
149
  deploy_info = environment.info.merge({
162
150
  :started_at => started_at,
163
151
  :finished_at => Time.new,
164
152
  :deploy_success => success,
165
- :module_deploys => module_deploys,
166
153
  })
167
154
 
168
155
  f.puts(JSON.pretty_generate(deploy_info))
@@ -179,12 +166,7 @@ module R10K
179
166
  end
180
167
 
181
168
  def allowed_initialize_opts
182
- super.merge(puppetfile: :self,
183
- cachedir: :self,
184
- 'no-force': :self,
185
- 'generate-types': :self,
186
- 'puppet-path': :self,
187
- 'default-branch-override': :self)
169
+ super.merge(puppetfile: :self, cachedir: :self, 'no-force': :self, 'generate-types': :self, 'puppet-path': :self)
188
170
  end
189
171
  end
190
172
  end
@@ -61,7 +61,6 @@ scheduled. On subsequent deployments, Puppetfile deployment will default to off.
61
61
  DESCRIPTION
62
62
 
63
63
  flag :p, :puppetfile, 'Deploy modules from a puppetfile'
64
- required nil, :'default-branch-override', 'Specify a branchname to override the default branch in the puppetfile'
65
64
 
66
65
  runner R10K::Action::CriRunner.wrap(R10K::Action::Deploy::Environment)
67
66
  end
@@ -23,11 +23,6 @@ class R10K::Module::Git < R10K::Module::Base
23
23
  # @return [String]
24
24
  attr_reader :desired_ref
25
25
 
26
- # @!attribute [r] default_ref
27
- # @api private
28
- # @return [String]
29
- attr_reader :default_ref
30
-
31
26
  def initialize(title, dirname, args, environment=nil)
32
27
  super
33
28
 
@@ -63,20 +63,17 @@ class Puppetfile
63
63
  @loaded = false
64
64
  end
65
65
 
66
- def load(default_branch_override = nil)
66
+ def load
67
67
  if File.readable? @puppetfile_path
68
- self.load!(default_branch_override)
68
+ self.load!
69
69
  else
70
70
  logger.debug _("Puppetfile %{path} missing or unreadable") % {path: @puppetfile_path.inspect}
71
71
  end
72
72
  end
73
73
 
74
- def load!(default_branch_override = nil)
75
- @default_branch_override = default_branch_override
76
-
74
+ def load!
77
75
  dsl = R10K::Puppetfile::DSL.new(self)
78
76
  dsl.instance_eval(puppetfile_contents, @puppetfile_path)
79
-
80
77
  validate_no_duplicate_names(@modules)
81
78
  @loaded = true
82
79
  rescue SyntaxError, LoadError, ArgumentError, NameError => e
@@ -121,10 +118,6 @@ class Puppetfile
121
118
  install_path = @moduledir
122
119
  end
123
120
 
124
- if args.is_a?(Hash) && @default_branch_override != nil
125
- args[:default_branch] = @default_branch_override
126
- end
127
-
128
121
  # Keep track of all the content this Puppetfile is managing to enable purging.
129
122
  @managed_content[install_path] = Array.new unless @managed_content.has_key?(install_path)
130
123
 
@@ -1,3 +1,3 @@
1
1
  module R10K
2
- VERSION = '3.2.3'
2
+ VERSION = '3.3.0'
3
3
  end
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.license = 'Apache-2.0'
24
24
 
25
25
  s.add_dependency 'colored', '1.2'
26
- s.add_dependency 'cri', '~> 2.15.1'
26
+ s.add_dependency 'cri', '2.15.6'
27
27
 
28
28
  s.add_dependency 'log4r', '1.1.10'
29
29
  s.add_dependency 'multi_json', '~> 1.10'
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
37
37
  s.add_development_dependency 'rake'
38
38
 
39
39
  s.add_development_dependency 'yard', '~> 0.9.11'
40
- s.add_development_dependency 'minitar', '~> 0.9.0'
40
+ s.add_development_dependency 'minitar', '~> 0.6.1'
41
41
 
42
42
  s.files = %x[git ls-files].split($/)
43
43
  s.require_path = 'lib'
@@ -19,10 +19,6 @@ describe R10K::Action::Deploy::Environment do
19
19
  described_class.new({puppetfile: true}, [])
20
20
  end
21
21
 
22
- it "can accept a default_branch_override option" do
23
- described_class.new({:'default-branch-override' => 'default_branch_override_name'}, [])
24
- end
25
-
26
22
  it "can accept a no-force option" do
27
23
  described_class.new({:'no-force' => true}, [])
28
24
  end
@@ -332,63 +328,4 @@ describe R10K::Action::Deploy::Environment do
332
328
  end
333
329
  end
334
330
  end
335
-
336
- describe "write_environment_info!" do
337
-
338
- class Fake_Environment
339
- attr_accessor :path
340
- attr_accessor :puppetfile
341
- attr_accessor :info
342
-
343
- def initialize(path, info)
344
- @path = path
345
- @info = info
346
- @puppetfile = R10K::Puppetfile.new
347
- end
348
- end
349
-
350
- let(:mock_stateful_repo_1) { instance_double("R10K::Git::StatefulRepository", :head => "123456") }
351
- let(:mock_stateful_repo_2) { instance_double("R10K::Git::StatefulRepository", :head => "654321") }
352
- let(:mock_git_module_1) { instance_double("R10K::Module::Git", :name => "my_cool_module", :version => "1.0", :repo => mock_stateful_repo_1) }
353
- let(:mock_git_module_2) { instance_double("R10K::Module::Git", :name => "my_lame_module", :version => "0.0.1", :repo => mock_stateful_repo_2) }
354
- let(:mock_forge_module_1) { double(:name => "their_shiny_module", :version => "2.0.0") }
355
- let(:mock_puppetfile) { instance_double("R10K::Puppetfile", :modules => [mock_git_module_1, mock_git_module_2, mock_forge_module_1]) }
356
-
357
- before(:all) do
358
- @tmp_path = "./tmp-r10k-test-dir/"
359
- Dir.mkdir(@tmp_path) unless File.exists?(@tmp_path)
360
- end
361
-
362
- after(:all) do
363
- File.delete("#{@tmp_path}/.r10k-deploy.json")
364
- Dir.delete(@tmp_path)
365
- end
366
-
367
- it "writes the .r10k-deploy file correctly" do
368
- allow(R10K::Puppetfile).to receive(:new).and_return(mock_puppetfile)
369
- allow(mock_forge_module_1).to receive(:repo).and_raise(NoMethodError)
370
-
371
- fake_env = Fake_Environment.new(@tmp_path, {:name => "my_cool_environment", :signature => "pablo picasso"})
372
- subject.send(:write_environment_info!, fake_env, "2019-01-01 23:23:22 +0000", true)
373
-
374
- file_contents = File.read("#{@tmp_path}/.r10k-deploy.json")
375
- r10k_deploy = JSON.parse(file_contents)
376
-
377
- expect(r10k_deploy['name']).to eq("my_cool_environment")
378
- expect(r10k_deploy['signature']).to eq("pablo picasso")
379
- expect(r10k_deploy['started_at']).to eq("2019-01-01 23:23:22 +0000")
380
- expect(r10k_deploy['deploy_success']).to eq(true)
381
- expect(r10k_deploy['module_deploys'].length).to eq(3)
382
- expect(r10k_deploy['module_deploys'][0]['name']).to eq("my_cool_module")
383
- expect(r10k_deploy['module_deploys'][0]['version']).to eq("1.0")
384
- expect(r10k_deploy['module_deploys'][0]['sha']).to eq("123456")
385
- expect(r10k_deploy['module_deploys'][1]['name']).to eq("my_lame_module")
386
- expect(r10k_deploy['module_deploys'][1]['version']).to eq("0.0.1")
387
- expect(r10k_deploy['module_deploys'][1]['sha']).to eq("654321")
388
- expect(r10k_deploy['module_deploys'][2]['name']).to eq("their_shiny_module")
389
- expect(r10k_deploy['module_deploys'][2]['version']).to eq("2.0.0")
390
- expect(r10k_deploy['module_deploys'][2]['sha']).to eq(nil)
391
-
392
- end
393
- end
394
331
  end
@@ -227,25 +227,6 @@ describe R10K::Puppetfile do
227
227
  subject = described_class.new(path)
228
228
  expect { subject.load! }.not_to raise_error
229
229
  end
230
-
231
- it "creates a git module and applies the default branch sepcified in the Puppetfile" do
232
- path = File.join(PROJECT_ROOT, 'spec', 'fixtures', 'unit', 'puppetfile', 'default-branch-override')
233
- pf_path = File.join(path, 'Puppetfile')
234
- subject = described_class.new(path)
235
- expect { subject.load! }.not_to raise_error
236
- git_module = subject.modules[0]
237
- expect(git_module.default_ref).to eq 'here_lies_the_default_branch'
238
- end
239
-
240
- it "creates a git module and applies the provided default_branch_override" do
241
- path = File.join(PROJECT_ROOT, 'spec', 'fixtures', 'unit', 'puppetfile', 'default-branch-override')
242
- pf_path = File.join(path, 'Puppetfile')
243
- subject = described_class.new(path)
244
- default_branch_override = 'default_branch_override_name'
245
- expect { subject.load!(default_branch_override) }.not_to raise_error
246
- git_module = subject.modules[0]
247
- expect(git_module.default_ref).to eq default_branch_override
248
- end
249
230
  end
250
231
 
251
232
  describe "accepting a visitor" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r10k
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrien Thebo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-18 00:00:00.000000000 Z
11
+ date: 2019-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: cri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.15.1
33
+ version: 2.15.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.15.1
40
+ version: 2.15.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: log4r
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.9.0
145
+ version: 0.6.1
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.9.0
152
+ version: 0.6.1
153
153
  description: |2
154
154
  R10K provides a general purpose toolset for deploying Puppet environments and modules.
155
155
  It implements the Puppetfile format and provides a native implementation of Puppet
@@ -199,7 +199,6 @@ files:
199
199
  - docker/r10k/docker-entrypoint.sh
200
200
  - docker/r10k/spec/dockerfile_spec.rb
201
201
  - docker/r10k/spec/fixtures/Puppetfile
202
- - docker/r10k/spec/spec_helper.rb
203
202
  - integration/Gemfile
204
203
  - integration/README.mkd
205
204
  - integration/Rakefile
@@ -235,6 +234,7 @@ files:
235
234
  - integration/tests/Puppetfile/HTTP_PROXY_affects_git_source.rb
236
235
  - integration/tests/README.mkd
237
236
  - integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb
237
+ - integration/tests/basic_functionality/negative/attempt_to_install_peonly_module_without_license.rb
238
238
  - integration/tests/basic_functionality/negative/neg_deploy_with_invalid_r10k_yaml.rb
239
239
  - integration/tests/basic_functionality/negative/neg_deploy_with_missing_r10k_yaml.rb
240
240
  - integration/tests/basic_functionality/negative/neg_invalid_git_provider.rb
@@ -410,7 +410,6 @@ files:
410
410
  - spec/fixtures/unit/action/r10k_generate_types.yaml
411
411
  - spec/fixtures/unit/action/r10k_puppet_path.yaml
412
412
  - spec/fixtures/unit/puppetfile/argument-error/Puppetfile
413
- - spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile
414
413
  - spec/fixtures/unit/puppetfile/duplicate-module-error/Puppetfile
415
414
  - spec/fixtures/unit/puppetfile/invalid-syntax/Puppetfile
416
415
  - spec/fixtures/unit/puppetfile/load-error/Puppetfile
@@ -1,22 +0,0 @@
1
- require 'open3'
2
-
3
- module Helpers
4
- def run_command(command)
5
- stdout_string = ''
6
- status = nil
7
-
8
- Open3.popen3(command) do |stdin, stdout, stderr, wait_thread|
9
- Thread.new do
10
- stdout.each { |l| stdout_string << l; STDOUT.puts l }
11
- end
12
- Thread.new do
13
- stderr.each { |l| STDOUT.puts l }
14
- end
15
-
16
- stdin.close
17
- status = wait_thread.value
18
- end
19
-
20
- { status: status, stdout: stdout_string }
21
- end
22
- end
@@ -1,5 +0,0 @@
1
- mod 'cd4pe',
2
- :git => 'test@randomurl.com:something/some_module.git',
3
- :ref => 'expected_ref',
4
- :default_branch => 'here_lies_the_default_branch'
5
-