diff -pruN 3.9.1-1/debian/changelog 3.9.1-1ubuntu3/debian/changelog
--- 3.9.1-1/debian/changelog	2020-06-16 12:18:58.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/changelog	2020-07-21 16:43:20.000000000 +0000
@@ -1,4 +1,30 @@
-sosreport (3.9.1-1) unstable; urgency=medium
+sosreport (3.9.1-1ubuntu3) groovy; urgency=medium
+
+  * Various plugin updates (LP: #1888403)
+    - d/p/0005-maas-use-maas-region-instead-of-deprecated-cmd.patch
+    - d/p/0006-systemd-update-trigger.patch
+    - d/p/0007-drbd-add-new-plugin.patch
+    - d/p/0008-networking-produce-numbered-ufw-rule.patch
+    - d/p/0009-ubuntu-support-status-command-update.patch
+    - d/p/0010-pacemaker-fix-password-with-equal-sign.patch
+    - d/p/0011-k8s-add-support-for-alternate-ubuntu-deployments.patch
+    - d/p/0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch
+
+  * Rename existing quilt patch to follow standard:
+    - From "0001-lshw-command.patch" to "0001-hardware-lshw-command.patch"
+
+ -- Eric Desrochers <eric.desrochers@canonical.com>  Tue, 21 Jul 2020 16:43:20 +0000
+
+sosreport (3.9.1-1ubuntu2) groovy; urgency=medium
+
+  * d/p/0004-maas-add-snap-support.patch (LP: #1886494)
+    From 2.7.0 onwards, MAAS is using snaps for it's
+    releases, and this changes the location of files
+    and logs.
+
+ -- Eric Desrochers <eric.desrochers@canonical.com>  Mon, 06 Jul 2020 16:20:29 +0000
+
+sosreport (3.9.1-1ubuntu1) groovy; urgency=medium
 
   * New 3.9.1 upstream release.
     This maintenance release includes:
@@ -22,19 +48,44 @@ sosreport (3.9.1-1) unstable; urgency=me
 
   * Former patches now fixed upstream:
     - d/p/0001-unittest-py3-fix.patch
+    - d/p/0002-lxd-drop-db-collection-and-introduce-lxd-buginfo.patch
 
   * Other specific modifications:
-    - Include simple.sh, an upstream port of the travis test to bash,
-      as part of the package autopkgtest.
+    - d/p/0001-lshw-command.patch
+    - d/p/0002-lds-substitute-oidc-conf.patch
+    - d/p/0003-kvm-change-trigger-to-dev-kvm.patch
 
  -- Eric Desrochers <slashd@ubuntu.com>  Tue, 16 Jun 2020 12:18:58 +0000
 
-sosreport (3.9-2) unstable; urgency=medium
+sosreport (3.9-1ubuntu3) groovy; urgency=low
+
+  * d/p/0003-lshw-command.patch: (LP: #1871494)
+    - Add `lshw` command to hardware plugin
+
+  [Eric Desrochers]
+  * d/p/0004-lds-substitute-oidc-conf.patch:
+    - landscape substitute oidc conf
+      in service file (LP: #1874526)
+
+ -- Heather Lemon <heather.lemon@canonical.com>  Mon, 27 Apr 2020 09:33:16 -0600
+
+sosreport (3.9-1ubuntu2) focal; urgency=medium
+
+  * d/p/0002-lxd-drop-db-collection-and-introduce-lxd-buginfo.patch:
+    - Drop db collection and introduce lxd.buginfo (LP: #1868215)
+
+  * d/tests/{control,simple.sh}: (LP: #1865212)
+    - Add testsuite "simple.sh". A port of the travis tests to bash
+      provided by upstream.
+
+ -- Seyeong Kim <seyeong.kim@canonical.com>  Fri, 20 Mar 2020 06:48:01 +0000
+
+sosreport (3.9-1ubuntu1) focal; urgency=medium
 
   * debian/control:
     Drop accidentally re-introduces py2 runtime dependency
 
- -- Eric Desrochers <slashd@ubuntu.com>  Mon, 17 Feb 2020 12:50:37 +0000
+ -- Eric Desrochers <eric.desrochers@canonical.com>  Mon, 17 Feb 2020 07:28:29 -0500
 
 sosreport (3.9-1) unstable; urgency=medium
 
diff -pruN 3.9.1-1/debian/patches/0001-hardware-lshw-command.patch 3.9.1-1ubuntu3/debian/patches/0001-hardware-lshw-command.patch
--- 3.9.1-1/debian/patches/0001-hardware-lshw-command.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0001-hardware-lshw-command.patch	2020-06-16 12:18:58.000000000 +0000
@@ -0,0 +1,25 @@
+From 2dd5cd45a8381fa36ea99c85b526f9d79e526d91 Mon Sep 17 00:00:00 2001
+From: Jose Castillo <jcastillo@redhat.com>
+Date: Wed, 1 Apr 2020 18:50:57 +0200
+Subject: [hardware] Add output of lshw
+ This plugin adds the output of the command
+ lshw, and its output complements what we
+ already collect with dmidecode.
+
+Signed-off-by: Jose Castillo <jcastillo@redhat.com>
+Origin: upstream, https://github.com/sosreport/sos/commit/2dd5cd45a8381fa36ea99c85b526f9d79e526d91
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1871494
+---
+ sos/plugins/hardware.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sos/plugins/hardware.py
++++ b/sos/plugins/hardware.py
+@@ -29,6 +29,7 @@
+         ])
+ 
+         self.add_cmd_output("dmidecode", root_symlink="dmidecode")
++        self.add_cmd_output("lshw")
+ 
+ 
+ # vim: set et ts=4 sw=4 :
diff -pruN 3.9.1-1/debian/patches/0002-lds-substitute-oidc-conf.patch 3.9.1-1ubuntu3/debian/patches/0002-lds-substitute-oidc-conf.patch
--- 3.9.1-1/debian/patches/0002-lds-substitute-oidc-conf.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0002-lds-substitute-oidc-conf.patch	2020-06-16 12:18:58.000000000 +0000
@@ -0,0 +1,55 @@
+Description: [landscape] Substitute oidc conf in service file
+ Substitute sensitive information about oidc
+ found in landscape service configuration file.
+
+ From release 19.10, Landscape can use OpenID-Connect
+ (OIDC) to authenticate users. To enable OpenID-Connect
+ support, please add oidc-issuer, oidc-client-id and
+ oidc-client-secret to /etc/landscape/service.conf in
+ the [landscape] section.
+
+ Reference:
+ https://docs.ubuntu.com/landscape/en/onprem-auth#openid-connect-support
+
+ Resolves: #2023
+Author: Eric Desrochers <eric.desrochers@canonical.com>
+Origin: upstream, https://github.com/sosreport/sos/pull/2025/commits/0c4d821e26e1206a0b99f427b572931ba2fd9bb5
+Bug: https://github.com/sosreport/sos/issues/2023
+Bug-Ubuntu: https://launchpad.net/bugs/1874526
+Index: sosreport-3.9/sos/plugins/landscape.py
+===================================================================
+--- sosreport-3.9.orig/sos/plugins/landscape.py
++++ sosreport-3.9/sos/plugins/landscape.py
+@@ -57,6 +57,16 @@ class Landscape(Plugin, UbuntuPlugin):
+             r"secret-token = [********]"
+         )
+         self.do_file_sub(
++            "/etc/landscape/service.conf",
++            r"oidc-client-secret = (.*)",
++            r"oidc-client-secret = [********]"
++        )
++        self.do_file_sub(
++            "/etc/landscape/service.conf",
++            r"oidc-client-id = (.*)",
++            r"oidc-client-id = [********]"
++        )
++        self.do_file_sub(
+             "/etc/landscape/service.conf.old",
+             r"password = (.*)",
+             r"password = [********]"
+@@ -71,5 +81,15 @@ class Landscape(Plugin, UbuntuPlugin):
+             r"secret-token = (.*)",
+             r"secret-token = [********]"
+         )
++        self.do_file_sub(
++            "/etc/landscape/service.conf.old",
++            r"oidc-client-secret = (.*)",
++            r"oidc-client-secret = [********]"
++        )
++        self.do_file_sub(
++            "/etc/landscape/service.conf.old",
++            r"oidc-client-id = (.*)",
++            r"oidc-client-id = [********]"
++        )
+ 
+ # vim: set et ts=4 sw=4 :
diff -pruN 3.9.1-1/debian/patches/0003-kvm-change-trigger-to-dev-kvm.patch 3.9.1-1ubuntu3/debian/patches/0003-kvm-change-trigger-to-dev-kvm.patch
--- 3.9.1-1/debian/patches/0003-kvm-change-trigger-to-dev-kvm.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0003-kvm-change-trigger-to-dev-kvm.patch	2020-06-16 12:18:58.000000000 +0000
@@ -0,0 +1,38 @@
+Description: [kvm] change check_enabled to /dev/kvm
+ The KVM plugin get triggered in a container
+ (e.g lxd) because of "/sys/module/kvm"
+ inheritance from the kernel host.
+
+ Not only it's a waste of sosreport time,
+ but running it inside a container may
+ unintentionnaly reveal details from its
+ host. Which is a undesired behaviour.
+
+ Switching to /dev/kvm, is more appropriate
+ and follow current standard as used by tool
+ such as cpu-checker (kvm-ok) for instance.
+
+ And taking benefit of this change to get rid
+ of the check_enabled() overwrite in favor of
+ using "files=" trigger.
+
+ Closes: #2062
+
+Author: Eric Desrochers <eric.desrochers@canonical.com>
+Origin: upstream, https://github.com/sosreport/sos/pull/2063/commits/dc58a038c18ff3e838d883d4b31aad5dac7ea9e1
+Bug: https://github.com/sosreport/sos/issues/2062
+Index: sosreport-3.9.1/sos/plugins/kvm.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/kvm.py
++++ sosreport-3.9.1/sos/plugins/kvm.py
+@@ -19,9 +19,7 @@ class Kvm(Plugin, RedHatPlugin, DebianPl
+ 
+     plugin_name = 'kvm'
+     profiles = ('system', 'virt')
+-
+-    def check_enabled(self):
+-        return os.access("/sys/module/kvm", os.R_OK)
++    files = ('/dev/kvm',)
+ 
+     def setup(self):
+         self.add_copy_spec([
diff -pruN 3.9.1-1/debian/patches/0004-maas-add-snap-support.patch 3.9.1-1ubuntu3/debian/patches/0004-maas-add-snap-support.patch
--- 3.9.1-1/debian/patches/0004-maas-add-snap-support.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0004-maas-add-snap-support.patch	2020-07-06 16:18:53.000000000 +0000
@@ -0,0 +1,113 @@
+From 1417827a9efd84860cb9e30a449faff7d55bb4fb Mon Sep 17 00:00:00 2001
+From: Adam Collard <adam.collard@canonical.com>
+Date: Fri, 21 Feb 2020 14:09:19 +0000
+Subject: [PATCH] [maas] Add snap support to maas plugin
+
+From 2.7.0 onwards, MAAS is using snaps for it's releases, and this
+changes the location of files and logs.
+
+Resolves: #1964
+
+Signed-off-by: Adam Collard <adam.collard@canonical.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+ sos/plugins/maas.py | 65 ++++++++++++++++++++++++++++++--------
+ 1 file changed, 51 insertions(+), 14 deletions(-)
+
+Index: sosreport-3.9.1/sos/plugins/maas.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/maas.py
++++ sosreport-3.9.1/sos/plugins/maas.py
+@@ -20,13 +20,16 @@ class Maas(Plugin, UbuntuPlugin):
+     packages = ('maas', 'maas-common')
+ 
+     services = (
++        # For the deb:
+         'maas-dhcpd',
+         'maas-dhcpd6',
+         'maas-http',
+         'maas-proxy',
+         'maas-rackd',
+         'maas-regiond',
+-        'maas-syslog'
++        'maas-syslog',
++        # For the snap:
++        'snap.maas.supervisor',
+     )
+ 
+     option_list = [
+@@ -52,19 +55,49 @@ class Maas(Plugin, UbuntuPlugin):
+ 
+         return ret['status'] == 0
+ 
++    def _is_snap_installed(self):
++        return self.exec_cmd('snap list maas')["status"] == 0
++
++    def check_enabled(self):
++        if super().check_enabled():
++            # deb-based MAAS and existing triggers
++            return True
++        # Do we have the snap installed?
++        return self._is_snap_installed()
++
+     def setup(self):
+-        self.add_copy_spec([
+-            "/etc/squid-deb-proxy",
+-            "/etc/maas",
+-            "/var/lib/maas/dhcp*",
+-            "/var/log/apache2*",
+-            "/var/log/maas*",
+-            "/var/log/upstart/maas-*",
+-        ])
+-        self.add_cmd_output([
+-            "apt-cache policy maas-*",
+-            "apt-cache policy python-django-*",
+-        ])
++        self._is_snap = self._is_snap_installed()
++        if self._is_snap:
++            self.add_cmd_output([
++                'snap info maas',
++                'maas status'
++            ])
++            # Don't send secrets
++            self.add_forbidden_path("/var/snap/maas/current/bind/session.key")
++            self.add_copy_spec([
++                "/var/snap/maas/common/log",
++                "/var/snap/maas/common/snap_mode",
++                "/var/snap/maas/current/*.conf",
++                "/var/snap/maas/current/bind",
++                "/var/snap/maas/current/http",
++                "/var/snap/maas/current/supervisord",
++                "/var/snap/maas/current/preseeds",
++                "/var/snap/maas/current/proxy",
++                "/var/snap/maas/current/rsyslog",
++            ])
++        else:
++            self.add_copy_spec([
++                "/etc/squid-deb-proxy",
++                "/etc/maas",
++                "/var/lib/maas/dhcp*",
++                "/var/log/apache2*",
++                "/var/log/maas*",
++                "/var/log/upstart/maas-*",
++            ])
++            self.add_cmd_output([
++                "apt-cache policy maas-*",
++                "apt-cache policy python-django-*",
++            ])
+ 
+         for service in self.services:
+             self.add_journal(units=service)
+@@ -83,7 +116,11 @@ class Maas(Plugin, UbuntuPlugin):
+                     "Cannot login into MAAS remote API with provided creds.")
+ 
+     def postproc(self):
+-        self.do_file_sub("/etc/maas/regiond.conf",
++        if self._is_snap:
++            regiond_path = "/var/snap/maas/current/maas/regiond.conf"
++        else:
++            regiond_path = "/etc/maas/regiond.conf"
++        self.do_file_sub(regiond_path,
+                          r"(database_pass\s*:\s*)(.*)",
+                          r"\1********")
+ 
diff -pruN 3.9.1-1/debian/patches/0005-maas-use-maas-region-instead-of-deprecated-cmd.patch 3.9.1-1ubuntu3/debian/patches/0005-maas-use-maas-region-instead-of-deprecated-cmd.patch
--- 3.9.1-1/debian/patches/0005-maas-use-maas-region-instead-of-deprecated-cmd.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0005-maas-use-maas-region-instead-of-deprecated-cmd.patch	2020-07-21 16:20:57.000000000 +0000
@@ -0,0 +1,23 @@
+From 43b4a9ab8f3b9ff9666f377ffce08e64688855e5 Mon Sep 17 00:00:00 2001
+From: Alberto Donato <alberto.donato@canonical.com>
+Date: Fri, 10 Jul 2020 20:32:43 +0200
+Subject: [PATCH] [maas] use maas-region instead of deprecated
+ maas-region-admin
+
+Signed-off-by: Alberto Donato <alberto.donato@canonical.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+
+Index: sosreport-3.9.1/sos/plugins/maas.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/maas.py
++++ sosreport-3.9.1/sos/plugins/maas.py
+@@ -104,7 +104,7 @@ class Maas(Plugin, UbuntuPlugin):
+ 
+         if self.is_installed("maas-region-controller"):
+             self.add_cmd_output([
+-                "maas-region-admin dumpdata",
++                "maas-region dumpdata",
+             ])
+ 
+         if self._has_login_options():
diff -pruN 3.9.1-1/debian/patches/0006-systemd-update-trigger.patch 3.9.1-1ubuntu3/debian/patches/0006-systemd-update-trigger.patch
--- 3.9.1-1/debian/patches/0006-systemd-update-trigger.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0006-systemd-update-trigger.patch	2020-07-21 16:21:26.000000000 +0000
@@ -0,0 +1,36 @@
+From e8b38048c68ed55f315561c7416a08bb87e24708 Mon Sep 17 00:00:00 2001
+From: Heather Lemon <heather.lemon@canonical.com>
+Date: Thu, 16 Apr 2020 09:08:31 -0600
+Subject: [PATCH] [systemd] update trigger with better generic file check
+
+Currently it checks for the existance of systemd using two
+different directories depending on the distro used. Updating
+systemd trigger to handle the detection of checking for
+systemd more reliably and generically.
+
+Reference:
+https://github.com/systemd/systemd/blob/master/src/libsystemd/sd-daemon/sd-daemon.c#L598-L604
+
+Closes: #2013
+Resolves: #2029
+
+Signed-off-by: Heather Lemon <heather.lemon@canonical.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+
+Index: sosreport-3.9.1/sos/plugins/systemd.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/systemd.py
++++ sosreport-3.9.1/sos/plugins/systemd.py
+@@ -19,10 +19,7 @@ class Systemd(Plugin, RedHatPlugin, Debi
+     profiles = ('system', 'services', 'boot')
+ 
+     packages = ('systemd',)
+-    files = (
+-        '/usr/lib/systemd/systemd',
+-        '/lib/systemd/systemd'
+-    )
++    files = ('/run/systemd/system',)
+ 
+     def setup(self):
+         self.add_cmd_output([
diff -pruN 3.9.1-1/debian/patches/0007-drbd-add-new-plugin.patch 3.9.1-1ubuntu3/debian/patches/0007-drbd-add-new-plugin.patch
--- 3.9.1-1/debian/patches/0007-drbd-add-new-plugin.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0007-drbd-add-new-plugin.patch	2020-07-21 16:28:16.000000000 +0000
@@ -0,0 +1,57 @@
+From 4be4e4eae3ae070e25e69611fed3e5ee8493ad73 Mon Sep 17 00:00:00 2001
+From: Jose Castillo <jcastillo@redhat.com>
+Date: Thu, 18 Jun 2020 10:32:10 +0100
+Subject: [PATCH] [drbd] Add new plugin for DRBD
+
+This patch implements a new plugin
+to capture information about Distributed
+Replicated Block Device (DRBD) setups.
+
+Closes: #2102
+Resolves: #2120
+
+Signed-off-by: Jose Castillo <jcastillo@redhat.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+ sos/plugins/drbd.py | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+ create mode 100644 sos/plugins/drbd.py
+
+Index: sosreport-3.9.1/sos/plugins/drbd.py
+===================================================================
+--- /dev/null
++++ sosreport-3.9.1/sos/plugins/drbd.py
+@@ -0,0 +1,33 @@
++# This file is part of the sos project: https://github.com/sosreport/sos
++#
++# This copyrighted material is made available to anyone wishing to use,
++# modify, copy, or redistribute it subject to the terms and conditions of
++# version 2 of the GNU General Public License.
++#
++# See the LICENSE file in the source distribution for further information.
++
++from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin
++
++
++class drbd(Plugin, RedHatPlugin, UbuntuPlugin):
++
++    short_desc = 'Distributed Replicated Block Device (DRBD)'
++
++    plugin_name = 'drbd'
++    profiles = ('storage')
++    packages = ('drbd.*-utils',)
++
++    def setup(self):
++        self.add_cmd_output([
++            "drbd-overview",
++            "drbdadm dump-xml",
++            "drbdsetup status",
++            "drbdsetup show"
++        ])
++        self.add_copy_spec([
++            "/etc/drbd.conf",
++            "/etc/drbd.d/*",
++            "/proc/drbd"
++        ])
++
++# vim: set et ts=4 sw=4 :
diff -pruN 3.9.1-1/debian/patches/0008-networking-produce-numbered-ufw-rule.patch 3.9.1-1ubuntu3/debian/patches/0008-networking-produce-numbered-ufw-rule.patch
--- 3.9.1-1/debian/patches/0008-networking-produce-numbered-ufw-rule.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0008-networking-produce-numbered-ufw-rule.patch	2020-07-21 16:32:25.000000000 +0000
@@ -0,0 +1,34 @@
+From 591cd4cf0c148500cf5287dc51580822c1551c37 Mon Sep 17 00:00:00 2001
+From: "David A. Desrosiers" <setuid@gmail.com>
+Date: Wed, 13 May 2020 11:24:33 -0400
+Subject: [PATCH] [networking] Small change to produce more-useful, numbered
+ ufw rule status
+
+This allows inspection of the rule order, as well as insert/edit/delete of
+the rules by that numbered id (ufw delete 23).
+
+More details can be found here: https://help.ubuntu.com/community/UFW
+
+Resolves: #2065
+
+Signed-off-by: David A. Desrosiers <setuid@gmail.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+ sos/plugins/networking.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: sosreport-3.9.1/sos/plugins/networking.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/networking.py
++++ sosreport-3.9.1/sos/plugins/networking.py
+@@ -313,8 +313,8 @@ class UbuntuNetworking(Networking, Ubunt
+             "/run/systemd/network"
+         ])
+         self.add_cmd_output([
+-            "/usr/sbin/ufw status",
+-            "/usr/sbin/ufw app list"
++            "ufw status numbered",
++            "ufw app list"
+         ])
+         if self.get_option("traceroute"):
+             self.add_cmd_output("/usr/sbin/traceroute -n %s" % self.trace_host)
diff -pruN 3.9.1-1/debian/patches/0009-ubuntu-support-status-command-update.patch 3.9.1-1ubuntu3/debian/patches/0009-ubuntu-support-status-command-update.patch
--- 3.9.1-1/debian/patches/0009-ubuntu-support-status-command-update.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0009-ubuntu-support-status-command-update.patch	2020-07-21 16:33:31.000000000 +0000
@@ -0,0 +1,36 @@
+From e9d71c7899607cd8107c1c0f443c945bd8328700 Mon Sep 17 00:00:00 2001
+From: Eric Desrochers <eric.desrochers@canonical.com>
+Date: Sun, 5 Jul 2020 14:31:23 -0400
+Subject: [PATCH] [ubuntu] support status command update
+
+Dropping 'ubuntu-support-status' as
+is it confusing and not very useful
+in favor of 'ubuntu-security-status'
+which, for now, is only available
+starting with Focal/20.04LTS.
+
+Ubuntu bug report:
+https://launchpad.net/bugs/1873362
+
+Closes: #2139
+Resolves: #2140
+
+Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+ sos/plugins/ubuntu.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: sosreport-3.9.1/sos/plugins/ubuntu.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/ubuntu.py
++++ sosreport-3.9.1/sos/plugins/ubuntu.py
+@@ -18,7 +18,7 @@ class Ubuntu(Plugin, UbuntuPlugin):
+ 
+     def setup(self):
+         self.add_cmd_output([
+-            "ubuntu-support-status --show-all",
++            "ubuntu-security-status --thirdparty --unavailable",
+             "hwe-support-status --verbose",
+             "ubuntu-advantage status"
+         ])
diff -pruN 3.9.1-1/debian/patches/0010-pacemaker-fix-password-with-equal-sign.patch 3.9.1-1ubuntu3/debian/patches/0010-pacemaker-fix-password-with-equal-sign.patch
--- 3.9.1-1/debian/patches/0010-pacemaker-fix-password-with-equal-sign.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0010-pacemaker-fix-password-with-equal-sign.patch	2020-07-21 16:34:35.000000000 +0000
@@ -0,0 +1,43 @@
+From b34edec39189d5501b9943f73ec2afa7c7b98d58 Mon Sep 17 00:00:00 2001
+From: Reid wahl <nrwahl@protonmail.com>
+Date: Mon, 8 Jun 2020 22:50:00 -0700
+Subject: [PATCH] [pacemaker] Fix scrubbing when password contains an equal
+ sign
+
+If the password contains one or more equal signs ('='), only the substring
+after the final equal sign is scrubbed. The rest of the password appears in
+plain text.
+
+This patch modifies the scrub regex to scrub all characters after the first
+equal sign.
+
+Related to RHBZ#1845386.
+Resolves: #2109
+
+Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
+Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+---
+ sos/plugins/pacemaker.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: sosreport-3.9.1/sos/plugins/pacemaker.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/pacemaker.py
++++ sosreport-3.9.1/sos/plugins/pacemaker.py
+@@ -55,14 +55,14 @@ class Pacemaker(Plugin):
+     def postproc_crm_shell(self):
+         self.do_cmd_output_sub(
+             "crm configure show",
+-            r"passw(\S*)=\S+",
++            r"passw([^\s=]*)=\S+",
+             r"passw\1=********"
+         )
+ 
+     def postproc_pcs(self):
+         self.do_cmd_output_sub(
+             "pcs config",
+-            r"passw(\S*)=\S+",
++            r"passw([^\s=]*)=\S+",
+             r"passw\1=********"
+         )
+ 
diff -pruN 3.9.1-1/debian/patches/0011-k8s-add-support-for-alternate-ubuntu-deployments.patch 3.9.1-1ubuntu3/debian/patches/0011-k8s-add-support-for-alternate-ubuntu-deployments.patch
--- 3.9.1-1/debian/patches/0011-k8s-add-support-for-alternate-ubuntu-deployments.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0011-k8s-add-support-for-alternate-ubuntu-deployments.patch	2020-07-21 16:39:15.000000000 +0000
@@ -0,0 +1,49 @@
+Author: Nick Niehoff <nick.niehoff@canonical.com>
+Date:   Thu Jun 4 14:56:20 2020 -0600
+
+    [kubernetes] Adding support for alternate Ubuntu deployments
+    
+    This plugin is only executed if Kubernetes is deployed using
+    Canonical's Charmed Distribution of Kubernetes.  The plugin
+    should also be run if other deployment methods are used.
+    
+    Also adding service names if the Ubuntu Snaps are used for
+    the kubernetes control plane.
+    
+    Closes: #2103
+    
+    Signed-off-by: Nick Niehoff <nick.niehoff@canonical.com>
+    Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
+Index: sosreport-3.9.1/sos/plugins/kubernetes.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/kubernetes.py
++++ sosreport-3.9.1/sos/plugins/kubernetes.py
+@@ -53,7 +53,12 @@ class Kubernetes(Plugin):
+             'kube-apiserver',
+             'kube-proxy',
+             'kube-scheduler',
+-            'kube-controller-manager'
++            'kube-controller-manager',
++            'snap.kubelet.daemon',
++            'snap.kube-apiserver.daemon',
++            'snap.kube-proxy.daemon',
++            'snap.kube-scheduler.daemon',
++            'snap.kube-controller-manager.daemon'
+         ]
+ 
+         for svc in svcs:
+@@ -200,9 +205,10 @@ class UbuntuKubernetes(Kubernetes, Ubunt
+     """
+ 
+     packages = ('kubernetes',)
+-
+-    files = ('/root/cdk/kubeproxyconfig',)
+-
+-    kube_cmd = "kubectl --kubeconfig=/root/cdk/kubeproxyconfig"
++    files = ('/root/cdk/kubeproxyconfig', '/etc/kubernetes')
++    if path.exists('/root/cdk/kubeproxyconfig'):
++        kube_cmd = "kubectl --kubeconfig=/root/cdk/kubeproxyconfig"
++    elif path.exists('/etc/kubernetes/admin.conf'):
++        kube_cmd = "kubectl --kubeconfig=/etc/kubernetes/admin.conf"
+ 
+ # vim: et ts=5 sw=4
diff -pruN 3.9.1-1/debian/patches/0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch 3.9.1-1ubuntu3/debian/patches/0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch
--- 3.9.1-1/debian/patches/0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch	2020-07-21 16:40:39.000000000 +0000
@@ -0,0 +1,75 @@
+From 31e0467885ef3986b476ea070941a786b426f298 Mon Sep 17 00:00:00 2001
+From: Pavel Moravec <pmoravec@redhat.com>
+Date: Fri, 8 May 2020 14:06:41 +0200
+Subject: [PATCH] [networking] collect iptables when proper kernel modules
+ loaded
+
+Since kernel-4, iptables / ip6tables is newly provided by nf_tables
+kernel module. Therefore, collecting ip[,6]tables commands should
+be gated by presence of also this kernel module.
+
+Resolves: #2054
+
+Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
+Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
+---
+ sos/plugins/networking.py | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+Index: sosreport-3.9.1/sos/plugins/networking.py
+===================================================================
+--- sosreport-3.9.1.orig/sos/plugins/networking.py
++++ sosreport-3.9.1/sos/plugins/networking.py
+@@ -34,22 +34,24 @@ class Networking(Plugin):
+     ns_wide = "-W"
+ 
+     def collect_iptable(self, tablename):
+-        """ When running the iptables command, it unfortunately auto-loads
+-        the modules before trying to get output.  Some people explicitly
+-        don't want this, so check if the modules are loaded before running
+-        the command.  If they aren't loaded, there can't possibly be any
+-        relevant rules in that table """
++        """ Collecting iptables rules for a table loads either kernel module
++        of the table name (for kernel <= 3), or nf_tables (for kernel >= 4).
++        If neither module is present, the rules must be empty."""
+ 
+         modname = "iptable_" + tablename
+         cmd = "iptables -t " + tablename + " -nvL"
+-        self.add_cmd_output(cmd, pred=SoSPredicate(self, kmods=[modname]))
++        self.add_cmd_output(
++            cmd,
++            pred=SoSPredicate(self, kmods=[modname, 'nf_tables']))
+ 
+     def collect_ip6table(self, tablename):
+         """ Same as function above, but for ipv6 """
+ 
+         modname = "ip6table_" + tablename
+         cmd = "ip6tables -t " + tablename + " -nvL"
+-        self.add_cmd_output(cmd, pred=SoSPredicate(self, kmods=[modname]))
++        self.add_cmd_output(
++            cmd,
++            pred=SoSPredicate(self, kmods=[modname, 'nf_tables']))
+ 
+     def collect_nftables(self):
+         """ Collects nftables rulesets with 'nft' commands if the modules
+@@ -150,16 +152,17 @@ class Networking(Plugin):
+         self.add_cmd_output(ss_cmd, pred=ss_pred, changes=True)
+ 
+         # When iptables is called it will load the modules
+-        # iptables and iptables_filter if they are not loaded.
++        # iptables_filter (for kernel <= 3) or
++        # nf_tables (for kernel >= 4) if they are not loaded.
+         # The same goes for ipv6.
+         self.add_cmd_output(
+             "iptables -vnxL",
+-            pred=SoSPredicate(self, kmods=['iptable_filter'])
++            pred=SoSPredicate(self, kmods=['iptable_filter', 'nf_tables'])
+         )
+ 
+         self.add_cmd_output(
+             "ip6tables -vnxL",
+-            pred=SoSPredicate(self, kmods=['ip6table_filter'])
++            pred=SoSPredicate(self, kmods=['ip6table_filter', 'nf_tables'])
+         )
+ 
+         # Get ethtool output for every device that does not exist in a
diff -pruN 3.9.1-1/debian/patches/series 3.9.1-1ubuntu3/debian/patches/series
--- 3.9.1-1/debian/patches/series	2020-06-16 12:18:58.000000000 +0000
+++ 3.9.1-1ubuntu3/debian/patches/series	2020-07-21 16:43:20.000000000 +0000
@@ -0,0 +1,12 @@
+0001-hardware-lshw-command.patch
+0002-lds-substitute-oidc-conf.patch
+0003-kvm-change-trigger-to-dev-kvm.patch
+0004-maas-add-snap-support.patch
+0005-maas-use-maas-region-instead-of-deprecated-cmd.patch
+0006-systemd-update-trigger.patch
+0007-drbd-add-new-plugin.patch
+0008-networking-produce-numbered-ufw-rule.patch
+0009-ubuntu-support-status-command-update.patch
+0010-pacemaker-fix-password-with-equal-sign.patch
+0011-k8s-add-support-for-alternate-ubuntu-deployments.patch
+0012-networking-collect-iptables-when-proper-kernel-modules-loaded.patch
