Muehlenhoff has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/372841 )
Change subject: Add new config options to debdeploy.conf to support pre-defined
library name mapping for the restart check
......................................................................
Add new config options to debdeploy.conf to support pre-defined
library name mapping for the restart check
Change-Id: I66c0117a19ce6e2bbd164f815039441bbb6947ae
---
M debian/changelog
M examples/debdeploy.conf
M server/debdeploy_conf.py
M server/generate-debdeploy-spec
4 files changed, 31 insertions(+), 26 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/debs/debdeploy
refs/changes/41/372841/1
diff --git a/debian/changelog b/debian/changelog
index 11799d0..28b20b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -27,6 +27,8 @@
a transition period)
* Create a new package debdeploy-server for the Cumin-based server
and a new package debdeploy-client for the local runtime scripts
+ * Add new config options to debdeploy.conf to support pre-defined
+ library name mapping for the restart check
-- Moritz Muehlenhoff <[email protected]> Fri, 07 Jul 2017 13:49:03
+0200
diff --git a/examples/debdeploy.conf b/examples/debdeploy.conf
index b6e7456..8c04104 100644
--- a/examples/debdeploy.conf
+++ b/examples/debdeploy.conf
@@ -1,22 +1,11 @@
-
[distros]
# Code names of supported distribution releases
-supported = trusty, jessie, precise
-
-[serverlists]
-# A list of servers, each defined by one or more Salt grains. If multiple
grains
-# are specified, they're processed sequentially
-testsystem = debdeploy:testsystem
-webserver_full = debdeploy:webserver, debdeploy:webservertest
-
-[rollout]
-# A list of update patterns, each performed in up to three steps, specified by
-# name = a% , x delay in minutes , b% , y delay in minutes , c%
-# The first a% are deployed immediately, then x minutes need to pass, then b%
-# of all updates are deployed and after waiting y minutes the final c% are
-# deployed
-immediately = 100 , 0, 0, 0, 0
+trusty = ubuntu, 14.04
+jessie = debian, 8
+stretch = debian, 9
[logging]
debug = false
+[libraries]
+openssl = libssl, libcrypto
diff --git a/server/debdeploy_conf.py b/server/debdeploy_conf.py
index c721bf3..6556970 100644
--- a/server/debdeploy_conf.py
+++ b/server/debdeploy_conf.py
@@ -11,6 +11,7 @@
'''
supported_distros = {}
debug = False
+ library_hints = {}
def __init__(self, configfile):
config = ConfigParser.ConfigParser()
@@ -31,6 +32,12 @@
print "You need to specify at least one supported distribution in
/etc/debdeploy.conf"
sys.exit(1)
+ if config.has_section("libraries"):
+ for library in config.options("libraries"):
+ self.library_hints[library] = []
+ for i in config.get("libraries", library).split(","):
+ self.library_hints[library].append(i.strip())
+
if config.has_section("logging") and config.has_option("logging",
"debug"):
if config.getboolean("logging", "debug"):
self.debug = True
diff --git a/server/generate-debdeploy-spec b/server/generate-debdeploy-spec
index 7867df6..8e9b750 100755
--- a/server/generate-debdeploy-spec
+++ b/server/generate-debdeploy-spec
@@ -10,6 +10,7 @@
comment = ""
updatetype = ""
fixes = {}
+libraries = []
while source == "":
source = raw_input("Please enter the name of source package (e.g.
openssl). Leave blank or type 'quit' to abort\n>").strip()
@@ -52,20 +53,26 @@
sys.exit(1)
if updatetype == 'library':
- print "You can specify an optional list of one or more library base names.
These"
- print "are used to detect necessary library restarts after an upgrade of a
library"
+ print conf.library_hints
+ print "You can specify an optional comma-separated list of one or more
library base names."
+ print "These are used to detect necessary library restarts after an
upgrade of a library"
print "E.g. for openssl, these would be 'libssl' and 'libcrypto'"
- print "Press ENTER to complete the list or not provide any"
- libraries = []
+ if conf.library_hints.get(source, None):
+ print "A pre-defined set has been configured: ",
conf.library_hints[source]
+ print "Press ENTER to use it or provide an alternative list"
+ libinput = raw_input("Please enter the name of a library. Leave blank
to quit \n>").strip()
+ if libinput == "":
+ libraries = conf.library_hints[source]
+ else:
+ for i in libinput.split(","):
+ libraries.append(i.strip())
+ else:
+ libinput = raw_input("Please enter the name of a library. Leave blank
to quit \n>").strip()
+ for i in libinput.split(","):
+ libraries.append(i.strip())
- lib = "undef"
- while lib != "":
- lib = raw_input("Please enter the name of a library. Leave blank to
quit \n>").strip()
- if lib != "undef" and lib != "":
- libraries.append(lib)
-
valid_name = False
suggested_name = datetime.datetime.now().strftime("%Y-%m-%d-") + source +
".yaml"
while not valid_name:
--
To view, visit https://gerrit.wikimedia.org/r/372841
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I66c0117a19ce6e2bbd164f815039441bbb6947ae
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/debdeploy
Gerrit-Branch: master
Gerrit-Owner: Muehlenhoff <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits