Giuseppe Lavagetto has submitted this change and it was merged.
Change subject: role::deployment::server: create $base_path variable
......................................................................
role::deployment::server: create $base_path variable
We reference /srv/deployment in so many places that, in fact, we should
probably make it a global hiera variable. But for now this is good enough.
Change-Id: Ife7c7a6dbfe4c06bfac26f1158d75ed64b001faa
---
M modules/role/manifests/deployment/server.pp
M modules/scap/lib/puppet/provider/scap_source/default.rb
M modules/scap/lib/puppet/type/scap_source.rb
M modules/scap/manifests/source.pp
M modules/scap/spec/types/scap_source_spec.rb
5 files changed, 24 insertions(+), 7 deletions(-)
Approvals:
Giuseppe Lavagetto: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/role/manifests/deployment/server.pp
b/modules/role/manifests/deployment/server.pp
index 11a16cc..48b115b 100644
--- a/modules/role/manifests/deployment/server.pp
+++ b/modules/role/manifests/deployment/server.pp
@@ -4,7 +4,7 @@
) {
include standard
-
+ $base_path = '/srv/deployment'
include role::deployment::mediawiki
## Scap Config ##
@@ -14,6 +14,10 @@
create_resources('keyholder::agent', hiera('scap::keyholder_agents', {}))
# Create an instance of scap_source for each of the key specs in hiera.
+ Scap::Source {
+ base_path => $base_path,
+ }
+
create_resources('scap::source', hiera('scap::sources', {}))
## End scap config ###
diff --git a/modules/scap/lib/puppet/provider/scap_source/default.rb
b/modules/scap/lib/puppet/provider/scap_source/default.rb
index e833758..700c18a 100644
--- a/modules/scap/lib/puppet/provider/scap_source/default.rb
+++ b/modules/scap/lib/puppet/provider/scap_source/default.rb
@@ -30,8 +30,6 @@
has_command(:git, '/usr/bin/git')
- BASE_PATH = '/srv/deployment'
-
# Shortand for the repo name
def repo
resource[:repository]
@@ -67,9 +65,9 @@
end
def target_path
- path = File.expand_path(File.join(BASE_PATH, repo_path))
+ path = File.expand_path(File.join(resource[:base_path], repo_path))
- unless path.start_with?(BASE_PATH)
+ unless path.start_with?(resource[:base_path])
raise Puppet::Error, "Target path '#{path}' is invalid."
end
path
@@ -151,7 +149,7 @@
FileUtils.remove_entry_secure(dir, :force => true)
loop do
dir, _ = File.split(dir)
- break if BASE_PATH.include?(dir)
+ break if resource[:base_path].include?(dir)
begin
Dir.delete(dir)
rescue Errno::ENOTEMPTY
diff --git a/modules/scap/lib/puppet/type/scap_source.rb
b/modules/scap/lib/puppet/type/scap_source.rb
index 45e9c1e..e5c062b 100644
--- a/modules/scap/lib/puppet/type/scap_source.rb
+++ b/modules/scap/lib/puppet/type/scap_source.rb
@@ -153,4 +153,9 @@
newvalues(:gerrit, :phabricator)
defaultto :gerrit
end
+
+ newparam(:base_path) do
+ desc "The base path for deploying the repositories"
+ defaultto '/srv/deployment'
+ end
end
diff --git a/modules/scap/manifests/source.pp b/modules/scap/manifests/source.pp
index e36ef90..c6585f3 100644
--- a/modules/scap/manifests/source.pp
+++ b/modules/scap/manifests/source.pp
@@ -41,6 +41,10 @@
# Group owner of cloned repository.
# Default: wikidev
#
+# [*base_path*]
+# Base path for deployments.
+# Default: /srv/deployment
+#
# == Usage
#
# # Clones the 'repo/without/external/scap' repsitory into
@@ -77,11 +81,13 @@
# how to bootstrap itself properly without trebuchet.
$owner = 'trebuchet',
$group = 'wikidev',
+ $base_path = '/srv/deployment'
) {
scap_source { $title:
repository => $repository,
scap_repository => $scap_repository,
owner => $owner,
group => $group,
+ base_path => $base_path,
}
}
diff --git a/modules/scap/spec/types/scap_source_spec.rb
b/modules/scap/spec/types/scap_source_spec.rb
index f87ec1f..de4fcba 100644
--- a/modules/scap/spec/types/scap_source_spec.rb
+++ b/modules/scap/spec/types/scap_source_spec.rb
@@ -4,7 +4,7 @@
describe resource_class do
describe 'when validating attributes' do
- [:scap_repository, :origin, :owner, :group].each do |param|
+ [:scap_repository, :origin, :owner, :group, :base_path].each do |param|
it "should have a #{param} parameter" do
expect(described_class.attrtype(param)).to eq(:param)
end
@@ -39,5 +39,9 @@
it "origin should be gerrit" do
expect(subject[:origin]).to eq(:gerrit)
end
+
+ it "base_path should be /srv/deployment" do
+ expect(subject[:base_path]).to eq('/srv/deployment')
+ end
end
end
--
To view, visit https://gerrit.wikimedia.org/r/314511
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ife7c7a6dbfe4c06bfac26f1158d75ed64b001faa
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits