swift delete_after metadata should be type str not int

Bug #2073355 reported by Jake Yip
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstacksdk
In Progress
Undecided
Jake Yip

Bug Description

When deleting using the `delete_after` method [1], an error is thrown

 requests.exceptions.InvalidHeader: Header part (60) from {'x-delete-after': 60} must be of type str or bytes, not <class 'int'>

This can be replicated by doing the following:

1. Assume you have a `temp` container with a `trash` object

 $ openstack object list temp
 +-----------+
 | Name |
 +-----------+
 | trash |
 +-----------+

2. Delete using the following code

 import openstack
 conn = openstack.connect(cloud='testing')
 sess = conn.session

 obj = conn.object_store.get_object_metadata(container='temp', obj='trash')
 obj.delete_after = 60
 obj = conn.object_store.set_object_metadata(obj)

3. This throws an error with the following stacktrace

Traceback (most recent call last):
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/keystoneauth1/session.py", line 1022, in _send_request
    resp = self.session.request(method, url, **kwargs)
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/requests/sessions.py", line 573, in request
    prep = self.prepare_request(req)
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/requests/sessions.py", line 484, in prepare_request
    p.prepare(
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/requests/models.py", line 369, in prepare
    self.prepare_headers(headers)
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/requests/models.py", line 491, in prepare_headers
    check_header_validity(header)
  File "/home/jake/.virtualenvs/osc/lib/python3.10/site-packages/requests/utils.py", line 1037, in check_header_validity
    raise InvalidHeader(
requests.exceptions.InvalidHeader: Header part (60) from {'x-delete-after': 60} must be of type str or bytes, not <class 'int'>

[1] https://docs.openstack.org/openstacksdk/latest/user/resources/object_store/v1/obj.html#openstack.object_store.v1.obj.Object.delete_after

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstacksdk (master)
Changed in openstacksdk:
status: New → In Progress
Jake Yip (waipengyip)
Changed in openstacksdk:
assignee: nobody → Jake Yip (waipengyip)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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