Skip to content

fetch.add_source fails for private ppa on jammy #770

Open
@verterok

Description

This is related to lp:2017014 (and maybe lp:1991553)

When adding a private ppa via install_sources from https://github.com/stub42/layer-apt, which ends up calling charmhelpers.fetch.add_source it fails with:

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 364, in <module>
    sys.exit(0 if addaptrepo.main() else 1)
  File "/usr/bin/add-apt-repository", line 357, in main
    shortcut.add()
  File "/usr/lib/python3/dist-packages/softwareproperties/shortcuthandler.py", line 222, in add
    self.add_key()
  File "/usr/lib/python3/dist-packages/softwareproperties/shortcuthandler.py", line 398, in add_key
    if not all((self.trustedparts_file, self.trustedparts_content)):
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 141, in trustedparts_content
    key = self.lpppa.getSigningKeyData()
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/resource.py", line 592, in __call__
    response, content = self.root._browser._request(
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 429, in _request
    raise error
lazr.restfulclient.errors.Unauthorized: HTTP Error 401: Unauthorized
Response headers:
---
-content-encoding: gzip
content-length: 78
content-security-policy: frame-ancestors 'self';
content-type: text/plain;charset=utf-8
date: Wed, 19 Apr 2023 13:36:06 GMT
server: gunicorn
status: 401
strict-transport-security: max-age=15552000
vary: Accept,Accept-Encoding
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-launchpad-revision: 473868c1cc6b58a9bc722c23840374c93a7a274b
x-lazr-notifications: []
x-powered-by: Zope (www.zope.org), Python (www.python.org)
x-request-id: 7744610e-481a-4489-ad5b-e9288c8b7588
x-vcs-revision: 473868c1cc6b58a9bc722c23840374c93a7a274b
x-xss-protection: 1; mode=block
---

This is because of changes to add-apt-repository, which now treats evething as a PPA and tries to get information from launchpad via API calls. if the ppa is private, such attemps will fail and here we are now :-)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions