Thcipriani has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/252362

Change subject: Move scap-specific items out of mediawiki class
......................................................................

Move scap-specific items out of mediawiki class

Remove scap-python dependencies from the mediawiki module. Create a main
scap class containing all python dependencies and scap package
installation. Add a scap::target class that includes a ferm rule that
allows for scap deployments.

Bug: T116606
Change-Id: I3ffe759730cc934a9282be91383d9dbd19a6b275
---
M manifests/role/mediawiki.pp
M modules/mediawiki/manifests/scap.pp
A modules/scap/manifests/init.pp
A modules/scap/manifests/target.pp
4 files changed, 35 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/62/252362/1

diff --git a/manifests/role/mediawiki.pp b/manifests/role/mediawiki.pp
index 36c2aae..aa44267 100644
--- a/manifests/role/mediawiki.pp
+++ b/manifests/role/mediawiki.pp
@@ -82,12 +82,6 @@
         port    => 'http',
     }
 
-    # allow ssh from deployment hosts
-    ferm::rule { 'deployment-ssh':
-        ensure => present,
-        rule   => 'proto tcp dport ssh saddr $DEPLOYMENT_HOSTS ACCEPT;',
-    }
-
     # If a service check happens to run while we are performing a
     # graceful restart of Apache, we want to try again before declaring
     # defeat. See T103008.
diff --git a/modules/mediawiki/manifests/scap.pp 
b/modules/mediawiki/manifests/scap.pp
index 7a90e8c..99f09a4 100644
--- a/modules/mediawiki/manifests/scap.pp
+++ b/modules/mediawiki/manifests/scap.pp
@@ -7,24 +7,14 @@
 # contains a copy of MediaWiki.
 #
 class mediawiki::scap {
+    include ::scap
+    include ::scap::target
     include ::mediawiki::users
 
     $mediawiki_deployment_dir = '/srv/mediawiki'
     $mediawiki_staging_dir    = '/srv/mediawiki-staging'
     $scap_bin_dir             = '/srv/deployment/scap/scap/bin'
     $mediawiki_web_user       = $::mediawiki::users::web
-
-    require_package('python-psutil')
-    require_package('python-netifaces')
-
-    # 'scap' is the command-line tool we use to push MediaWiki changes
-    # to the webapp servers. The name stands for 'sync-common-all-php'.
-
-    package { 'scap':
-        ensure   => latest,
-        provider => 'trebuchet',
-    }
-
 
     # /srv/mediawiki is the root path of the MediaWiki deployment tree.
 
diff --git a/modules/scap/manifests/init.pp b/modules/scap/manifests/init.pp
new file mode 100644
index 0000000..8ce9d61
--- /dev/null
+++ b/modules/scap/manifests/init.pp
@@ -0,0 +1,22 @@
+# == Class scap
+#
+# Common role for scap masters and targets
+
+class scap {
+    # Using trebuchet provider while scap service deployment is under
+    # developmentā€”chicken and egg things
+    #
+    # This should be removed once scap3 is in a final state (i.e. packaged
+    # or deployed via another method)
+    package { 'scap':
+        provider => 'trebuchet',
+    }
+
+    require_package([
+        'python-psutil',
+        'python-netifaces',
+        'python-yaml',
+        'python-requests',
+        'python-jinja2',
+    ])
+}
diff --git a/modules/scap/manifests/target.pp b/modules/scap/manifests/target.pp
new file mode 100644
index 0000000..241bfe5
--- /dev/null
+++ b/modules/scap/manifests/target.pp
@@ -0,0 +1,11 @@
+# = class: scap::master
+#
+# Sets up a scap target, i.e. any host to which scap will deploy
+
+class scap::target {
+    # allow ssh from deployment hosts
+    ferm::rule { 'deployment-ssh':
+        ensure => present,
+        rule   => 'proto tcp dport ssh saddr $DEPLOYMENT_HOSTS ACCEPT;',
+    }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/252362
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ffe759730cc934a9282be91383d9dbd19a6b275
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Thcipriani <tcipri...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to