[Bug 2012073] Re: [SRU] SwiftSignalHandle fails due to python2-3 decode error
Launchpad Bug Tracker
2012073 at bugs.launchpad.net
Thu May 11 13:28:16 UTC 2023
This bug was fixed in the package heat - 1:18.0.0-0ubuntu1.2
---------------
heat (1:18.0.0-0ubuntu1.2) jammy; urgency=medium
* d/p/lp2012073.patch: Decode UTF-8 body data in SwiftSignal (LP:
#2012073).
-- Rodrigo Barbieri <rodrigo.barbieri at canonical.com> Fri, 17 Mar 2023
12:46:43 -0300
** Changed in: heat (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to heat in Ubuntu.
https://bugs.launchpad.net/bugs/2012073
Title:
[SRU] SwiftSignalHandle fails due to python2-3 decode error
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive yoga series:
Fix Committed
Status in Ubuntu Cloud Archive zed series:
Fix Committed
Status in heat package in Ubuntu:
Fix Released
Status in heat source package in Jammy:
Fix Released
Status in heat source package in Kinetic:
Fix Released
Bug description:
Storyboard link: https://storyboard.openstack.org/#!/story/2010485
============
SRU TEMPLATE
============
[Impact]
The issue impact stack creation workflows where swift signals are
used. There is no workaround for the issue other than not using swift
signals. The fix is a conditional one-liner that performs a type-check
before running the code change.
[TestCase]
1. Setting up env
1a. Deploy an environment with ceph-rgw and heat
1b. Make sure rgw-swift-versioning-enabled=true
2. Reproducing the bug
2a. Create a stack using the following template:
---
heat_template_version: 2021-04-16
resources:
signal:
type: OS::Heat::SwiftSignal
properties:
handle: {get_resource: signal_handle}
timeout: 300
signal_handle:
type: OS::Heat::SwiftSignalHandle
instance_port:
type: OS::Neutron::Port
properties:
network: private
fixed_ips:
- subnet_id: private_subnet
the_server:
type: OS::Nova::Server
properties:
name: test
image: cirros2
flavor: m1.cirros
networks:
- port: { get_resource: instance_port }
user_data_format: RAW
user_data:
str_replace:
template: |
#!/bin/sh
# Simple success signal
wc_notify --data-binary '{"status": "SUCCESS"}'
params:
wc_notify: { get_attr: [signal_handle, curl_cli] }
2b. Use command "openstack stack create test -t template.yaml
2c. Wait for stack creation to fail using command "openstack stack
list"
2d. Once failed, display the details using command "openstack stack
show test"
2e. Confirm error with the message:
| stack_status_reason | Resource CREATE failed: Error:
resources.signal: Failed to parse JSON data: b'in progress'
3. Cleanup not really needed
4. Install package that contains the fixed code
5. Confirming fix: Repeat steps 2a-2e and confirm stack creation is
either successful or fails with a different message for another reason
[Regression Potential]
Since there is a type-check included in the fix, the regression
potential is minimal, as if the condition is not fulfilled, then the
original code is run.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2012073/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list