aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Hunsaker <jhunsake@redhat.com>2020-01-15 15:43:05 -0500
committerBryn M. Reeves <bmr@redhat.com>2020-02-14 19:27:53 +0000
commit7ac19ad4e700ef69f0cd770e435ec365367057d4 (patch)
treeef5e60d0aa62e0bc129d5e918e2526b1f0a0032f
parent91e706af8346db8247679ea07df78b05b56226f2 (diff)
downloadsos-7ac19ad4e700ef69f0cd770e435ec365367057d4.tar.gz
[ubuntu] Add Canonical Support file upload functionality
This commit adds the needed bits to allow sos users on Ubuntu systems to upload to the Canonical Support File Server as part of PR #1911. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
-rw-r--r--sos/policies/ubuntu.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/sos/policies/ubuntu.py b/sos/policies/ubuntu.py
index ebf40ea7..e14d76ca 100644
--- a/sos/policies/ubuntu.py
+++ b/sos/policies/ubuntu.py
@@ -3,6 +3,8 @@ from __future__ import with_statement
from sos.plugins import UbuntuPlugin, DebianPlugin
from sos.policies.debian import DebianPolicy
+import os
+
class UbuntuPolicy(DebianPolicy):
distro = "Ubuntu"
@@ -10,6 +12,10 @@ class UbuntuPolicy(DebianPolicy):
vendor_url = "https://www.ubuntu.com/"
PATH = "/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" \
+ ":/usr/local/sbin:/usr/local/bin:/snap/bin"
+ _upload_url = "https://files.support.canonical.com/uploads/"
+ _upload_user = "ubuntu"
+ _upload_password = "ubuntu"
+ _use_https_streaming = True
def __init__(self, sysroot=None):
super(UbuntuPolicy, self).__init__(sysroot=sysroot)
@@ -38,4 +44,22 @@ class UbuntuPolicy(DebianPolicy):
except IOError:
return False
+ def get_upload_https_auth(self):
+ if self.upload_url.startswith(self._upload_url):
+ return (self._upload_user, self._upload_password)
+ else:
+ return super(UbuntuPolicy, self).get_upload_https_auth()
+
+ def get_upload_url_string(self):
+ if self.upload_url.startswith(self._upload_url):
+ return "Canonical Support File Server"
+ else:
+ return self.get_upload_url()
+
+ def get_upload_url(self):
+ if not self.upload_url or self.upload_url.startswith(self._upload_url):
+ fname = os.path.basename(self.upload_archive)
+ return self._upload_url + fname
+ super(UbuntuPolicy, self).get_upload_url()
+
# vim: set et ts=4 sw=4 :