Vim creation fails if use_barbican is disabled

Bug #1873440 reported by Tushar Patil
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tacker
Fix Released
Undecided
Shubham Potale

Bug Description

If you disable use_barbican config option, then it fails to create a VIM with following error:-

This issue is observed only when you run tacker services using Py3.

Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 ERROR tacker.api.v1.resource [req-b41e5e5f-c861-4f0f-a800-265b5a4cfdf8 admin admin] create failed: No details.: TypeError: write() argument must be str, not bytes
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource Traceback (most recent call last):
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/resource.py", line 77, in resource
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource result = method(request=request, **args)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/base.py", line 394, in create
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource obj = obj_creator(request.context, **kwargs)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/log.py", line 35, in wrapper
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource return method(*args, **kwargs)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/nfvo_plugin.py", line 136, in create_vim
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource auth=vim_obj['auth_cred'])
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/usr/local/lib/python3.6/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource self.force_reraise()
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/usr/local/lib/python3.6/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource six.reraise(self.type_, self.value, self.tb)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/usr/local/lib/python3.6/dist-packages/six.py", line 703, in reraise
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource raise value
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/nfvo_plugin.py", line 129, in create_vim
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource vim_obj=vim_obj)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/driver_manager.py", line 71, in invoke
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource return getattr(driver, method_name)(**kwargs)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/log.py", line 35, in wrapper
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource return method(*args, **kwargs)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/drivers/vim/openstack_driver.py", line 181, in register_vim
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource self.encode_vim_auth(vim_obj['id'], vim_obj['auth_cred'])
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/log.py", line 35, in wrapper
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource return method(*args, **kwargs)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/drivers/vim/openstack_driver.py", line 259, in encode_vim_auth
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource f.write(fernet_key)
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource TypeError: write() argument must be str, not bytes
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.719 TRACE tacker.api.v1.resource
Apr 17 07:10:19 ostk tacker-server[104183]: 2020-04-17 07:10:19.723 INFO tacker.wsgi [req-b41e5e5f-c861-4f0f-a800-265b5a4cfdf8 admin admin] 172.16.151.134 - - [17/Apr/2020 07:10:19] "POST /v1.0/vims.json HTTP/1.1" 500 367 0.268703

Changed in tacker:
assignee: nobody → Shubham Potale (shubhamp)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tacker (master)

Fix proposed to branch: master
Review: https://review.opendev.org/723854

Changed in tacker:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tacker (master)

Reviewed: https://review.opendev.org/723854
Committed: https://git.openstack.org/cgit/openstack/tacker/commit/?id=95bce292f4990b9d3c320cdebc2c22fe0ac6948c
Submitter: Zuul
Branch: master

commit 95bce292f4990b9d3c320cdebc2c22fe0ac6948c
Author: Shubham <email address hidden>
Date: Tue Apr 21 14:43:58 2020 +0530

    Fix : Register vim if use_barbican is disabled

    If use_barbican is disabled and if the tacker services are running
    under Py3, the registration of vim fails with TypeError.

    This patch fixes this issue by writing fernet key in binary mode.

    Closes-Bug: #1873440

    Change-Id: I08423a7c29c7fd5eeabe64276f6e0d208ccec72b

Changed in tacker:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tacker (stable/ussuri)

Fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/727954

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tacker (stable/ussuri)

Reviewed: https://review.opendev.org/727954
Committed: https://git.openstack.org/cgit/openstack/tacker/commit/?id=5783b9fff46544e1d50f1d3eafc254095f9f9b99
Submitter: Zuul
Branch: stable/ussuri

commit 5783b9fff46544e1d50f1d3eafc254095f9f9b99
Author: Shubham <email address hidden>
Date: Tue Apr 21 14:43:58 2020 +0530

    Fix : Register vim if use_barbican is disabled

    If use_barbican is disabled and if the tacker services are running
    under Py3, the registration of vim fails with TypeError.

    This patch fixes this issue by writing fernet key in binary mode.

    Closes-Bug: #1873440

    Change-Id: I08423a7c29c7fd5eeabe64276f6e0d208ccec72b
    (cherry picked from commit 95bce292f4990b9d3c320cdebc2c22fe0ac6948c)

tags: added: in-stable-ussuri
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tacker 3.0.1

This issue was fixed in the openstack/tacker 3.0.1 release.

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.