Ryan Lane has uploaded a new change for review.
https://gerrit.wikimedia.org/r/83046
Change subject: WORK IN PROGRESS: Simplify git-deploy configuration
......................................................................
WORK IN PROGRESS: Simplify git-deploy configuration
Change-Id: I718669497a1ad0760f38ad21ad7b4353b40b68d0
---
M manifests/role/deployment.pp
M modules/deployment/files/modules/deploy.py
2 files changed, 37 insertions(+), 50 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/46/83046/1
diff --git a/manifests/role/deployment.pp b/manifests/role/deployment.pp
index 2b382a7..2cc5dea 100644
--- a/manifests/role/deployment.pp
+++ b/manifests/role/deployment.pp
@@ -1,5 +1,5 @@
# vim: sw=2 ts=2 et
-class role::deployment::salt_masters::common($deployment_servers) {
+class role::deployment::config($deployment_servers) {
$deploy_server_pmtpa = $deployment_servers["pmtpa"]
$deploy_server_eqiad = $deployment_servers["eqiad"]
$deployment_repo_urls = {
@@ -53,8 +53,6 @@
# Sed the .gitmodules file for the repo according to the following rules
# TODO: rename this to something more specific
$deployment_repo_regex = {
- "common" => {},
- "private" => {},
"slot0" => {
"https://gerrit.wikimedia.org/r/p/mediawiki" =>
"__REPO_URL__/.git/modules",
".git" => "",
@@ -67,44 +65,18 @@
"https://gerrit.wikimedia.org/r/p/mediawiki" =>
"__REPO_URL__/.git/modules",
".git" => "",
},
- "l10n-slot0" => {},
- "l10n-slot1" => {},
- "l10n-beta0" => {},
- "parsoid/Parsoid" => {},
- "parsoid/config" => {},
- "eventlogging/EventLogging" => {},
- "fluoride/fluoride" => {},
}
# Call these salt modules after checkout of parent repo and submodules
# TODO: turn this into a hash so that modules can specify args too
$deployment_repo_checkout_module_calls = {
- "private" => [],
- "common" => [],
- "slot0" => [],
- "slot1" => [],
- "beta0" => [],
- "l10n-slot0" => [],
- "l10n-slot1" => [],
- "l10n-beta0" => [],
"parsoid/Parsoid" => ["parsoid.config_symlink","parsoid.restart_parsoid"],
"parsoid/config" => ["parsoid.restart_parsoid"],
- "eventlogging/EventLogging" => [],
- "fluoride/fluoride" => [],
}
# Should this repo also do a submodule update --init?
$deployment_repo_checkout_submodules = {
- "private" => "False",
- "common" => "False",
"slot0" => "True",
"slot1" => "True",
"beta0" => "True",
- "l10n-slot0" => "False",
- "l10n-slot1" => "False",
- "l10n-beta0" => "False",
- "parsoid/Parsoid" => "False",
- "parsoid/config" => "False",
- "eventlogging/EventLogging" => "False",
- "fluoride/fluoride" => "False",
}
$deployment_repo_locations = {
"private" => "/srv/deployment/mediawiki/private",
@@ -134,18 +106,18 @@
"pmtpa" => "tin.eqiad.wmnet",
"eqiad" => "tin.eqiad.wmnet",
}
- class { "role::deployment::salt_masters::common":
+ class { "::role::deployment::config":
deployment_servers => $deployment_servers,
}
class { "deployment::salt_master":
deployment_servers => $deployment_servers,
- deployment_repo_urls =>
$role::deployment::salt_masters::common::deployment_repo_urls,
- deployment_repo_regex =>
$role::deployment::salt_masters::common::deployment_repo_regex,
- deployment_repo_checkout_module_calls =>
$role::deployment::salt_masters::common::deployment_repo_checkout_module_calls,
- deployment_repo_checkout_submodules =>
$role::deployment::salt_masters::common::deployment_repo_checkout_submodules,
- deployment_repo_locations =>
$role::deployment::salt_masters::common::deployment_repo_locations,
- deployment_repo_dependencies =>
$role::deployment::salt_masters::common::deployment_repo_dependencies,
- deployment_repo_grains =>
$role::deployment::salt_masters::common::deployment_repo_grains,
+ deployment_repo_urls => $role::deployment::config::deployment_repo_urls,
+ deployment_repo_regex => $role::deployment::config::deployment_repo_regex,
+ deployment_repo_checkout_module_calls =>
$role::deployment::config::deployment_repo_checkout_module_calls,
+ deployment_repo_checkout_submodules =>
$role::deployment::config::deployment_repo_checkout_submodules,
+ deployment_repo_locations =>
$role::deployment::config::deployment_repo_locations,
+ deployment_repo_dependencies =>
$role::deployment::config::deployment_repo_dependencies,
+ deployment_repo_grains =>
$role::deployment::config::deployment_repo_grains,
deployment_deploy_redis => {
"host" => "tin.eqiad.wmnet",
"port" => 6379,
@@ -160,18 +132,18 @@
# no eqiad zone, yet
"eqiad" => "i-00000390.pmtpa.wmflabs",
}
- class { "role::deployment::salt_masters::common":
+ class { "role::deployment::config":
deployment_servers => $deployment_servers,
}
class { "deployment::salt_master":
deployment_servers => $deployment_servers,
- deployment_repo_urls =>
$role::deployment::salt_masters::common::deployment_repo_urls,
- deployment_repo_regex =>
$role::deployment::salt_masters::common::deployment_repo_regex,
- deployment_repo_checkout_module_calls =>
$role::deployment::salt_masters::common::deployment_repo_checkout_module_calls,
- deployment_repo_checkout_submodules =>
$role::deployment::salt_masters::common::deployment_repo_checkout_submodules,
- deployment_repo_locations =>
$role::deployment::salt_masters::common::deployment_repo_locations,
- deployment_repo_dependencies =>
$role::deployment::salt_masters::common::deployment_repo_dependencies,
- deployment_repo_grains =>
$role::deployment::salt_masters::common::deployment_repo_grains,
+ deployment_repo_urls => $role::deployment::config::deployment_repo_urls,
+ deployment_repo_regex => $role::deployment::config::deployment_repo_regex,
+ deployment_repo_checkout_module_calls =>
$role::deployment::config::deployment_repo_checkout_module_calls,
+ deployment_repo_checkout_submodules =>
$role::deployment::config::deployment_repo_checkout_submodules,
+ deployment_repo_locations =>
$role::deployment::config::deployment_repo_locations,
+ deployment_repo_dependencies =>
$role::deployment::config::deployment_repo_dependencies,
+ deployment_repo_grains =>
$role::deployment::config::deployment_repo_grains,
deployment_deploy_redis => {
"host" => "i-00000390.pmtpa.wmflabs",
"port" => 6379,
diff --git a/modules/deployment/files/modules/deploy.py
b/modules/deployment/files/modules/deploy.py
index 8e9e6ca..61ff0e0 100644
--- a/modules/deployment/files/modules/deploy.py
+++ b/modules/deployment/files/modules/deploy.py
@@ -74,9 +74,15 @@
repolocs = __pillar__.get('repo_locations')
repoloc = repolocs[repo]
sed_lists = __pillar__.get('repo_regex')
- sed_list = sed_lists[repo]
+ try:
+ sed_list = sed_lists[repo]
+ except KeyError:
+ sed_list = []
checkout_submodules = __pillar__.get('repo_checkout_submodules')
- checkout_submodules = checkout_submodules[repo]
+ try:
+ checkout_submodules = checkout_submodules[repo]
+ except KeyError:
+ checkout_submodules = "False"
gitmodules = repoloc + '/.gitmodules'
# Fetch repos this repo depends on
@@ -168,11 +174,20 @@
repolocs = __pillar__.get('repo_locations')
repoloc = repolocs[repo]
sed_lists = __pillar__.get('repo_regex')
- sed_list = sed_lists[repo]
+ try:
+ sed_list = sed_lists[repo]
+ except KeyError:
+ sed_list = []
checkout_submodules = __pillar__.get('repo_checkout_submodules')
- checkout_submodules = checkout_submodules[repo]
+ try:
+ checkout_submodules = checkout_submodules[repo]
+ except KeyError:
+ checkout_submodules = "False"
module_calls = __pillar__.get('repo_checkout_module_calls')
- module_calls = module_calls[repo]
+ try:
+ module_calls = module_calls[repo]
+ except KeyError:
+ module_calls = []
gitmodules = repoloc + '/.gitmodules'
depstats = []
--
To view, visit https://gerrit.wikimedia.org/r/83046
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I718669497a1ad0760f38ad21ad7b4353b40b68d0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ryan Lane <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits