Muehlenhoff has submitted this change and it was merged. Change subject: Implement list-server-groups command ......................................................................
Implement list-server-groups command Implement list-server-groups command to show which server groups still need an update. Also fixes restart of salt-master in postinst Change-Id: Ie403603b551af9dbda392954723474927e629e36 --- M debian/changelog M debian/debdeploy-master.postinst M docs/readme.txt M master/debdeploy 4 files changed, 59 insertions(+), 2 deletions(-) Approvals: Muehlenhoff: Verified; Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 7784bd1..0a9e091 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +debdeploy (0.0.4-1) jessie-wikimedia; urgency=medium + + * Implement list-server-groups command + * Fix restart of salt-master + + -- Moritz Muehlenhoff <mmuhlenh...@wikimedia.org> Fri, 04 Sep 2015 13:37:23 +0200 + debdeploy (0.0.3-1) jessie-wikimedia; urgency=medium * Remove some currently unused imports diff --git a/debian/debdeploy-master.postinst b/debian/debdeploy-master.postinst index fbebfc9..a8c6216 100644 --- a/debian/debdeploy-master.postinst +++ b/debian/debdeploy-master.postinst @@ -5,7 +5,7 @@ then systemctl restart salt-master.service else - service restart salt-master + service salt-master restart fi #DEBHELPER# diff --git a/docs/readme.txt b/docs/readme.txt index eec1418..6add055 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -127,6 +127,15 @@ debdeploy status-rollback -u elinks.yaml -s testsystem +If you have an updatespec which applies to more than one group of +servers (which will usually be the case for generic systems libs +etc), you can check which server groups haven't had the update +applied: + +debdeploy list-server-groups -u dpkg.yaml + + + Restart detection / handling diff --git a/master/debdeploy b/master/debdeploy index 0cd8ee6..5912645 100755 --- a/master/debdeploy +++ b/master/debdeploy @@ -274,6 +274,40 @@ print proc, "wasn't running on on", c_stopped[proc], "out of", c, "hosts." +def list_server_groups(update=None): + ''' + List all available server groups + + update : If an update is specified, it is displayed whether an update + has already been deployed for that group. + ''' + + if not update: + for servergroup in sorted(conf.server_groups): + print servergroup + else: + done_list = [] + missing_list = [] + + for servergroup in conf.server_groups: + job_ran = False + for grain in conf.server_groups[servergroup]: + if joblogdb.does_job_exist(update, grain): + job_ran = True + if job_ran: + done_list.append(servergroup) + else: + missing_list.append(servergroup) + + print update, "has been applied to these server groups:" + for i in sorted(done_list): + print i + + print + print update, "hasn't been applied to these server groups:" + for i in sorted(missing_list): + print i + def rollback(grains, update_file): ''' Trigger process restarts for a set of servers @@ -319,7 +353,8 @@ status-deploy : Query the status of a software deployment, requires --update and --servers\n \ rollback : Rollback a software deployment\n \ status-rollback : Query the status of a software deployment rollback\n \ - list-server-groups : Display a list of all defined server groups \n \ + list-server-groups : Display a list of all defined server groups. If an update file is listed \n \ + in addition, it shows whether an update has been applied for that group. \n \ check-missing : Display a list of all servers which don't have an update installed \n \ pkgdb-source : Re-read the package status of a given host into the package database") @@ -366,6 +401,12 @@ elif command == "rollback": rollback(conf.server_groups[opt.serverlist], opt.updatefile) +elif command == "list-server-groups": + if opt.updatefile: + list_server_groups(opt.updatefile) + else: + list_server_groups() + sys.exit(0) -- To view, visit https://gerrit.wikimedia.org/r/236009 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie403603b551af9dbda392954723474927e629e36 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/debdeploy Gerrit-Branch: master Gerrit-Owner: Muehlenhoff <mmuhlenh...@wikimedia.org> Gerrit-Reviewer: Muehlenhoff <mmuhlenh...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits