Patch for Vivid

** Description changed:

+ [Impact]
+ 
+ This bug prevents from using simplestreams bucket creation, so new deployments
+ that want to benefit from the glance-simplestreams-sync charm to keep
+ up-to-date images in their private repos is broken.
+ 
+ [Test Case]
+ 
+ 1) Deploy an OpenStack cloud
+    bzr branch lp:~freyes/+junk/lp1346935
+    cd lp1346935
+    juju deployer -c default-radosgw.yaml -d -v -s 10 SERIES-kilo  # SERIES -> 
trusty or kilo depending on which package you're verifying
+ 2) Once everything has settled down, run glance-simplestreams-sync.py
+    juju ssh glance-simplestreams-sync/0 sudo 
/var/lib/juju/agents/unit-glance-simplestreams-sync-0/charm/scripts/glance-simplestreams-sync.py
+ 3) Check /var/log/glance-simplestreams-sync.log
+    tail -n 16 /var/log/glance-simplestreams-sync.log
+ 
+ 4) Log before applying the fix:
+ 
+ ERROR     * 09-15 19:15:15 [PID:10596] * root * Exception during do_sync
+ Traceback (most recent call last):
+   File "./glance-simplestreams-sync.py", line 286, in <module>
+     do_sync(charm_conf)
+   File "./glance-simplestreams-sync.py", line 140, in do_sync
+     store = SwiftObjectStore(SWIFT_DATA_DIR)
+   File 
"/usr/lib/python2.7/dist-packages/simplestreams/objectstores/swift.py", line 
69, in __init__
+     '.r:*,.rlistings'})
+   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1319, 
in put_container
+     response_dict=response_dict)
+   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1243, 
in _retry
+     rv = func(self.url, self.token, *args, **kwargs)
+   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 731, in 
put_container
+     http_response_content=body)
+ ClientException: Container PUT failed: 
http://10.5.150.54:80/swift/simplestreams 405 Method Not Allowed   
{"Code":"MethodNotAllowed"}
+ INFO      * 09-15 19:15:15 [PID:10596] * root * sync done.
+ 
+ 5) Install the patched package
+ 6) Re-run glance-simplestreams-sync.py (step 2)
+ 7) Check glance-simplestreams-sync.log, log should look like:
+ 
+ DEBUG     * 09-15 19:38:22 [PID:10789] * urllib3.connectionpool * "PUT 
/swift/v1/simplestreams HTTP/1.1" 201 0
+ DEBUG     * 09-15 19:38:22 [PID:10789] * swiftclient * REQ: curl -i 
http://10.5.150.54:80/swift/v1/simplestreams -X PUT -H "Content-Length: 0" -H 
"X-Auth-Token: d2bb7d174eb84a4aa09fb27a0d06092f" -H "X-Container-Read: 
.r:*,.rlistings"
+ DEBUG     * 09-15 19:38:22 [PID:10789] * swiftclient * RESP STATUS: 201 
Created
+ DEBUG     * 09-15 19:38:22 [PID:10789] * swiftclient * RESP HEADERS: 
[('content-length', '0'), ('accept-ranges', 'bytes'), ('keep-alive', 
'timeout=5, max=100'), ('server', 'Apache/2.4.10 (Ubuntu)'), ('connection', 
'Keep-Alive'), ('date', 'Tue, 15 Sep 2015 19:38:21 GMT'), ('content-type', 
'text/plain; charset=utf-8')]
+ 
+ [Regression Potential]
+ 
+ - Minor, this patch is already integrated in Wily[0] and the change only gets 
rid
+   of the logic that removes the version from the endpoint.
+ - I tested this patch using a real swift endpoint and there is no regression
+   detected
+ 
+ [Other Info]
+ 
  If ceph-radosgw (which provides a Swift API for Ceph) is used instead of
  Swift, simplestreams sync fail to create the simplestreams bucket.
  
  I tried using the glance-simplestreams-sync charm, and got the following
  error:
  
  INFO      * 07-22 14:05:30 [PID:3620] * swiftclient * REQ: curl -i 
http://10.96.
  2.27:80/swift/simplestreams -X PUT -H "Content-Length: 0" -H "X-Auth-Token: 
a7f0
  37d3245a4005834709b99e3e08f3" -H "X-Container-Read: .r:*,.rlistings"
  INFO      * 07-22 14:05:30 [PID:3620] * swiftclient * RESP STATUS: 405 Method 
No
  t Allowed
  INFO      * 07-22 14:05:30 [PID:3620] * swiftclient * RESP HEADERS: [('date', 
'T
  ue, 22 Jul 2014 14:05:30 GMT'), ('accept-ranges', 'bytes'), ('content-type', 
'ap
  plication/json; charset=utf-8'), ('content-length', '27'), ('server', 
'Apache/2.
  4.7 (Ubuntu)')]
  INFO      * 07-22 14:05:30 [PID:3620] * swiftclient * RESP BODY: 
{"Code":"Method
  NotAllowed"}
  ERROR     * 07-22 14:05:30 [PID:3620] * swiftclient * Container PUT failed: 
http
  ://10.96.2.27:80:80/swift/simplestreams 405 Method Not Allowed   
{"Code":"Method
  NotAllowed"}
  Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1189, 
in _
  retry
      rv = func(self.url, self.token, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 674, in 
pu
  t_container
      http_response_content=body)
  ClientException: Container PUT failed: 
http://10.96.2.27:80:80/swift/simplestrea
  ms 405 Method Not Allowed   {"Code":"MethodNotAllowed"}
  ERROR     * 07-22 14:05:30 [PID:3620] * root * Exception during do_sync
  Traceback (most recent call last):
    File "/etc/cron.daily/glance-simplestreams-sync.py", line 286, in <module>
      do_sync(charm_conf)
    File "/etc/cron.daily/glance-simplestreams-sync.py", line 140, in do_sync
      store = SwiftObjectStore(SWIFT_DATA_DIR)
    File 
"/usr/lib/python2.7/dist-packages/simplestreams/objectstores/swift.py", l
  ine 70, in __init__
      '.r:*,.rlistings'})
    File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1265, 
in p
  ut_container
      response_dict=response_dict)
    File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1189, 
in _
  retry
      rv = func(self.url, self.token, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 674, in 
pu
  t_container
      http_response_content=body)
  ClientException: Container PUT failed: 
http://10.96.2.27:80:80/swift/simplestrea
- ms 405 Method Not Allowed   {"Code":"MethodNotAllowed"} 
+ ms 405 Method Not Allowed   {"Code":"MethodNotAllowed"}
  
  Note that it tries to PUT to http://10.96.2.27:80:80/swift/simplestreams, 
where
  it should PUT to http://10.96.2.27:80:80/swift/v1/simplestreams. There seems
  to be code in simplestreams that strip the version from the endpoint URL, but
  even after I remove that I get a 409 error.
+ 
+ 
+ [0] 
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/wily/simplestreams/wily/revision/18

** Summary changed:

- Failing to create simplestreams bucket on ceph-radosgw
+ [SRU] Failing to create simplestreams bucket on ceph-radosgw

** Patch added: "lp1346935_vivid.debdiff"
   
https://bugs.launchpad.net/simplestreams/+bug/1346935/+attachment/4465535/+files/lp1346935_vivid.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1346935

Title:
  [SRU] Failing to create simplestreams bucket on ceph-radosgw

To manage notifications about this bug go to:
https://bugs.launchpad.net/simplestreams/+bug/1346935/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to