diff options
author | Jake Hunsaker <jhunsake@redhat.com> | 2020-01-15 15:43:05 -0500 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2020-02-14 19:27:53 +0000 |
commit | 7ac19ad4e700ef69f0cd770e435ec365367057d4 (patch) | |
tree | ef5e60d0aa62e0bc129d5e918e2526b1f0a0032f | |
parent | 91e706af8346db8247679ea07df78b05b56226f2 (diff) | |
download | sos-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.py | 24 |
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 : |