ERROR at teardown of test_create_instance_from_volume_demo
that causing
FAIL of test_volumes_pagination_demo
because there is still existing volume in state Reserved
Change-Id: Ibfd7f16ae428287fb2865c727dbc519a822e375f
Some of the UI tests fails because of elements
in dropdown menu in left panel are not interactable
Change-Id: Ibcdf82f8106de9f4fd6783514dc82dddc0b930e4
This addresses the situation where all volumes are in another project
and details can't be fetched. Before this patch, horizon would return
an internal server error but with this patch, an error will be returned
instead .
Change-Id: Id0522c884700dc2d005a4a665256a8c5e63da741
Closes-bug: #1971143
Add file to the reno documentation build to show release notes for
stable/2025.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2025.1.
Sem-Ver: feature
Change-Id: I387b60e38880bc8f824c98d997c7dc03a5f0acde
Enabling back Provider Network Tab with network details
(Network Type, Physical Network, and Segmentation ID) which was missing
since 2024.1 version.
Change-Id: Ib3e288a0c2f0baa80db5bdcfe9bcd342de4e8657
Closes-Bug: #2102267
User Credentials panel is added to Identity dashboard.
Credentials table has Create, Update and Delete credential actions.
Credentials tab is added to the user details for
Identity -> Users table.
Credentials panel is added to user settings.
Change-Id: Icaabed327604d39b0bf6ac3e3cacf9c62f9e5d5d
Without this change, Project -> Network -> Security Groups -> Create Security Group - form without cancel button
Change-Id: Ied841539d2b5af4e53dcc558756c27b61dfec55c
Attribute accesses in SDK pass through a type-conversion utility method
that is responsible for ensuring the following behavior:
>>> class Demo(resource.Resource):
... foo = resource.Body('foo', type=str)
...
>>> demo = Demo(foo=123)
>>> demo.foo
'123' # result is cast to a string
Unfortunately, because of how this is implemented, attribute accesses
can result result in a copy of the attribute being returned, rather than
the attribute itself. This means attempts to modify mutable attributes
in-place can end up modifying a copy of the attributes, rather than the
attribute itself.
>>> class Demo(resource.Resource):
... foo = resource.Body('foo', type=list, list_type=str)
...
>>> demo = Demo(foo=[123])
>>> demo.foo
['123'] # items are cast to strings
>>> demo.foo.append(456)
>>> demo.foo
['123'] # 456 is missing!
This was not previously an issue for horizon as we were not hitting any
of these cases, however, in in openstacksdk 4.3.0, a bug was addressed
where conversion would not happen if using 'type=list', if 'list_type'
was unset, and if the item was a set or tuple (i.e. not a list).
>>> class Demo(resource.Resource):
... foo = resource.Body('foo', type=list)
...
>>> demo = Demo(foo={'123'})
>>> demo.foo
{'123'} # should be a list!
This has now been fixed, however, the bugfix has exposed a case where we
were in fact modifying a mutable list in-place.
The long-term fix lies in changing how openstacksdk works, so that it
always return the original attribute rather potentially returning a
copy. However, this fix is likely going to be rather involved and not
something we want to cram into the end of the Epoxy release. Instead,
modify Horizon so that it updates the entire attribute rather than
modifying it in place.
Change-Id: I6e7814ea16ca84689b363a53f22de62800c1f0d8
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Related-bug: #2100605
After the change in glance:
https://review.opendev.org/c/openstack/glance/+/930492
All the other formats than raw are inspected if the content
does match and potentially rejected.
Change-Id: I29ed795c4c5a451d7978ad7b80c26be70deee41e
The column's verbose_name was forced to a string from a lazy translation
at the object's creation time, which happens when the table definitions
are imported, and when the user language preference is not set yet.
Instead force it to a string at the very last moment, when it is used in
a template.
Fixes-bug: 2093276
Change-Id: I9cd3bc2535915a858aa380287fccd89d0f19cf7d