upload-swift-artifacts/upload-puppet-modules failing with swift auth error

Bug #1691106 reported by Oliver Walsh
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Alex Schultz

Bug Description

I hit this when trying upload puppet modules on a master-ci quickstart deployment from yesterday (May 15th 2017).

(undercloud) [stack@undercloud ~]$ echo $OS_AUTH_URL
http://192.168.24.1:5000/
(undercloud) [stack@undercloud ~]$ upload-puppet-modules -d puppet-modules/
Creating tarball...
Tarball created.
Authorization Failure. Authorization failed: (http://192.168.24.1:5000/auth/tokens): The resource could not be found. (HTTP 404)

Works when I add a version to the auth url:

(undercloud) [stack@undercloud ~]$ OS_AUTH_URL=http://192.168.24.1:5000/v3/ upload-puppet-modules -d puppet-modules/
Creating tarball...
Tarball created.
Creating heat environment file: /home/stack/.tripleo/environments/puppet-modules-url.yaml
Uploading file to swift: /tmp/puppet-modules-mGfRWXa/puppet-modules.tar.gz
puppet-modules.tar.gz
Upload complete.

Looks like https://bugs.launchpad.net/python-swiftclient/+bug/1554885. May need a workaround until this is fixed in swiftclient.

Oliver Walsh (owalsh)
description: updated
description: updated
Oliver Walsh (owalsh)
tags: added: tripleo-common
Revision history for this message
John Fulton (jfulton-org) wrote :

I filed https://bugs.launchpad.net/tripleo/+bug/1693034, which I just marked as a duplicate of this bug. Though it points out a slight evolution in the issue that I'll drop in here.

Olilver reported the following about one week ago:

(undercloud) [stack@undercloud ~]$ echo $OS_AUTH_URL
http://192.168.24.1:5000/

In my case (yesterday) the new stackrc as generated by tripleo-quickstart is using secure keystone:

(undercloud) [stack@undercloud ~]$ grep OS_AUTH_URL stackrc
OS_AUTH_URL=https://192.168.24.2:13000/

Though upload-swift-artifacts is using the new port, it's using HTTP, not HTTPS:

(undercloud) [stack@undercloud ~]$ upload-puppet-modules -d puppet-modules
Creating tarball...
Tarball created.
Authorization Failure. Authorization failed: (http://192.168.24.2:13000/auth/tokens): The resource could not be found. (HTTP 404)
(undercloud) [stack@undercloud ~]$

Is the URL getting built incorrectly?

My version is: openstack-tripleo-common-7.0.1-0.20170512193241.bde811b.el7.centos.noarch

Revision history for this message
Alex Schultz (alex-schultz) wrote :

swift doesn't appear to be working correctly with v3. upload-swift-artifacts just uses the 'swift' command.

(undercloud) [centos@undercloud ~]$ swift list
Authorization Failure. Authorization failed: (http://192.168.24.1:5000/auth/tokens): The resource could not be found. (HTTP 404)

Changed in tripleo:
status: New → Triaged
importance: Undecided → High
milestone: none → pike-2
Revision history for this message
Alex Schultz (alex-schultz) wrote :

This seems to be related to the versionless auth url in the stackrc because if you add v3 on the end, the swiftclient works

Revision history for this message
John Fulton (jfulton-org) wrote :

+1

(undercloud) [stack@undercloud ~]$ upload-puppet-modules -d puppet-modules
Creating tarball...
Tarball created.
Creating new Swift Temp-URL-Key for container: overcloud-artifacts
Creating heat environment file: /home/stack/.tripleo/environments/puppet-modules-url.yaml
Uploading file to swift: /tmp/puppet-modules-CnlgQnO/puppet-modules.tar.gz
puppet-modules.tar.gz
Upload complete.
(undercloud) [stack@undercloud ~]$ grep OS_AUTH_URL stackrc
OS_AUTH_URL=https://192.168.24.2:13000/v3
export OS_AUTH_URL
(undercloud) [stack@undercloud ~]$

Revision history for this message
Oliver Walsh (owalsh) wrote :

Yup, swiftclient doesn't support unversioned urls aka https://bugs.launchpad.net/python-swiftclient/+bug/1554885.

This bug is more an FYI, and maybe to workaround it in the upload scripts.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-common (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/467800

Changed in tripleo:
status: Triaged → In Progress
assignee: nobody → Alex Schultz (alex-schultz)
Changed in tripleo:
milestone: pike-2 → pike-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-common (master)

Reviewed: https://review.openstack.org/467800
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=3763bda6fb6ae3eb7e42e8bc1992bb7bec33e00e
Submitter: Jenkins
Branch: master

commit 3763bda6fb6ae3eb7e42e8bc1992bb7bec33e00e
Author: Alex Schultz <email address hidden>
Date: Wed May 24 17:34:33 2017 -0600

    Replace swiftclient with openstackclient

    The swiftclient currently has an issue with the versionless auth url we
    use on the undercloud. One possible solution is to just replace the
    swift client with the appropriate openstackclient commands.

    Change-Id: I3660cfd4c7529a1ae700451720f034284cc77473
    Related-Bug: #1691106

Changed in tripleo:
milestone: pike-3 → pike-rc1
Oliver Walsh (owalsh)
Changed in tripleo:
status: In Progress → Fix Released
milestone: pike-rc1 → pike-3
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.