* Update oslo.db from branch 'master'
to 8e1f869910e2fee3d567565b28b9cd520b07bacf
- exc_filters: Handle OperationalError for MariaDB/Galera
Currently InternalError is being handled for detecting MariaDB/Galera
deadlocks but recently we have seen a variant that raises
OperationalError instead. Because it's not being detected, usage of the
@retry_on_deadlock decorator is not performing retries in those cases.
This adds handling of OperationalError for detecting this deadlock.
Closes-Bug: #2057987
Change-Id: I6ff3667b35ea38a2d3c258f810a55eda9abe465e
* Update oslo.db from branch 'master'
to 3a94baa0e207a5f85c0f2143d5e3f1dceaf8d994
- Merge "reno: Update master for unmaintained/xena"
- reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.
Change-Id: I1009da8cc0784d9a6834760ca7e5e454915ef7b5
* Update oslo.db from branch 'master'
to a555bae981e378a0c91a315093920f7e28f83f5c
- Merge "reno: Update master for unmaintained/wallaby"
- reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.
Change-Id: I622a1a0523fc5143505807ca7fe14c41fefdc8a5
* Update oslo.db from branch 'master'
to 07fd65099d857c97aa2284ab8db15eab56d18cea
- Merge "reno: Update master for unmaintained/victoria"
- reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.
Change-Id: I96da4f7b629ce62726b53cff686f7e5d319db6ba
* Update oslo.db from branch 'master'
to 3e2dab780c94ea304a8543937d53411d508de93f
- Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: I66efd50c02dc7aa582a6398f23e8230221baa912
* Update oslo.db from branch 'master'
to 3e1618fb992c3449ae85a2193e8aa3cf93c29ace
- Merge "Display coverage report"
- Display coverage report
... for easy reference. Also make sure old data is purged.
Change-Id: I4de110655db80f111fa88bdcdbc0665ebbc40cfc
* Update oslo.db from branch 'master'
to 41fcc9681240ed656c396bce992195f1a16b490a
- reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.
Change-Id: I1ec6eec49561f235091236aa46c5fc01a8d54f9b
* Update oslo.db from branch 'master'
to 05d8f82c80692b92f5e1312c3887145b36fc8046
- Bump hacking (again)
The previous attempt did not update the version in pre commit config
so the old version is still used by pep8 target.
Change-Id: Ib4b2ee82bab8410b0b1f3a1e8a4e53cfb165e1d5
* Update oslo.db from branch 'master'
to 23769247602013f27532389bbbd0d5e000fc57de
- Merge "options: Remove deprecated option aliases"
- options: Remove deprecated option aliases
These have been deprecated for some time. Time to remove them.
Change-Id: Ie019c9cae96e7065ff2e1203c40f464e61e55d40
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 78116877690f1a5e783753c69096f243eb239506
- Update python classifier in setup.cfg
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: I303a0fbe36a1ca7ae7b9b6e82972da3107f58d0c
* Update oslo.db from branch 'master'
to 45dd78c812245352b23d6beb8d0aab0f39542eb8
- Fix zuul config warning
This change resolves the following warning detected by zuul.
All regular expressions must conform to RE2 syntax, but an
expression using the deprecated Perl-style syntax has been detected.
Adjust the configuration to conform to RE2 syntax.
The RE2 syntax error is: invalid perl operator: (?!
Change-Id: Iddb5224b6e2f32a0c26f348ae3acc884b8d9b53b
* Update oslo.db from branch 'master'
to 48ff2a0e43f02dd7f0251391949ca257b96184af
- Merge "Add link to bug"
- Add link to bug
So we know if we can remove this in the future, or at least have context
around why it's there.
Change-Id: I4e4bdcd6a01e8c1071045bbe1310cbdf4195ec27
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 5854e6b0bb3ab47ace8467c2c6da659c5f31af07
- bindep: Use new mysql-* package names
Debian Bookworm switched from MySQL to MariaDB.
Change-Id: Id5f64a5cedd45769188be12fb5df8e43b2abcb1d
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 1ae346824c3583f5ab701e3d0bc073542c3ed91a
- Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: Icbb93217de7bb305596077eaee3c4f862b0894e6
* Update oslo.db from branch 'master'
to 5363ca11c9d4d9a5a9cf5a2be2fc40c52659f258
- Remove MySQL NDB Cluster Support
This has been deprecated for some time now.
Change-Id: Ia8b4ed8cd755d283bb773e55293457190b34c482
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to f2ebe65c2f6743c45539cfa764586df870b0bc1c
- Merge "exc_filters: Do not reraise"
- exc_filters: Do not reraise
We're seeing a weird condition whereby the exceptions raised by our
exception handler and being "rehandled", resulting in 'DBError' being
raised instead of e.g. 'DBReferenceError'. This is hard to reproduce and
thus far has only be spotted in Barbican unit tests. Prevent the issue
by checking if the exception being handled is one of our own and skip
handling it if so.
Change-Id: Ibd3f665a3ed3aedf9d1f33edcab35a46c27ea3dc
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 64389d35375cb375eaf8619d9cb2271ec0db37e5
- tests: Use column_property
Resolve the following SAWarning warning:
SAWarning: Attribute '_expr_to_appease_mox' on class <class
'oslo_db.tests.sqlalchemy.test_utils.FakeTable'> appears to be a
non-schema SQLAlchemy expression object; this won't be part of the
declarative mapping. To map arbitrary expressions, use
``column_property()`` or a similar function such as ``deferred()``,
``query_expression()`` etc.
Change-Id: I7baac158e5987d95f6272d9849c5ec6a2071a25f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 6285f2b4e2ec9129b898ab2d5ad2117bc8ff3c73
- Merge "Ignore unset opts when deprecated"
- Ignore unset opts when deprecated
If an option is deprecated, there's a good chance we want to ignore it
unless explicitly requested by the user. Start ignoring options that are
deprecated and unset.
Change-Id: I3008562db52a5625504b262d7148528a832246dd
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-Bug: #2008720
* Update oslo.db from branch 'master'
to 9ef739e5057ce13383768d217b9d922957fb4e3a
- Merge "Imported Translations from Zanata"
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Icf53e13a93d4fc2a610cc57ef4fefd62ab5de711
* Update oslo.db from branch 'master'
to c69e5e5f89b5f2123065f9cbba0b649ca47ca5ae
- Handle server default quoting
Alembic was previously modifying the metadata server default when
comparing it in the autogenerate process. This was removed in Alembic
1.11. As noted in the commit message [1], we implement our own
'compare_server_default' which means we now need to handle this.
[1] https://github.com/sqlalchemy/alembic/commit/230a2932f6
Change-Id: Ib5f8f78b917d79c4c234cc689c13acff011c2403
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to a7c03ba9de6f9a98aa5c36a67e1ecfab77acde9a
- Merge "Add release note for base test class removal"
- Add release note for base test class removal
In change I1e71150ba6daeba464b6ed8d46163f1f34959db3 we removed the
legacy base test classes, first deprecated in 2015. We forgot to include
a release note, however. Address this now.
Change-Id: I4d66f0308b89a187143ef6c8495383fe60043c14
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to b557c6a30cfcdbb4673dbfdb29f40c68d9d190b0
- Merge "Remove logic for SQLAlchemy < 1.4"
- Remove logic for SQLAlchemy < 1.4
Change I8629225eeb51d95264d8a3e4b719268bb1597f4f bumped the minimum
version for SQLAlchemy to 1.4, meaning this logic is now dead. Remove
it.
Change-Id: I4d4a58e15e840ecfa63e15c709617a65642c8323
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to f67df4a1663521a423d1054a24ebc7e634b52ed6
- Merge "Match exceptions with multiple lines"
- Match exceptions with multiple lines
We were creating regexes without the DOTALL flag, which meant '.' wasn't
matching newlines. This meant exceptions that contained multiple lines
would not be caught. For example, in my environment where Kerberos is
used, I see the following otherwise harmless message:
(psycopg2.OperationalError) connection to server at "localhost" (::1),
port 5432 failed: could not initiate GSSAPI security context: No
credentials were supplied, or the credentials were unavailable or
inaccessible: Configuration file does not specify default realm
connection to server at "localhost" (::1), port 5432 failed: FATAL:
database "non_existent_database" does not exist
The presence of that newline causes our matchers to fail and the
exception is not wrapped. Correct this.
In the meanwhile, we reformat the function that does the wrapping to
make it a little flatter. This was difficult to modify (for debugging
purposes) due to the level of indentation.
Change-Id: I5396a5a3272e6984954d819cfc71507283c775db
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 50a1d90e540a942b5ebfeb11a304c78beeadda71
- Merge "Remove dead code"
- Remove dead code
This should have been removed in change
Ic3d6bd318038d723b0d50d39e45f8e26289e9a57 but was missed.
Change-Id: I4e1faa2c617ac19e7c9766e99ee9012ad9298d31
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 60dc68ef41fc3800ffa1eb96d8464c9a060960d7
- Merge "Don't sleep in tests"
- Don't sleep in tests
Mock it out, reducing test run of ~3 and ~15 seconds to milliseconds.
Change-Id: Ice3a0c0d0a5b8c2920c7f775ff8ce974b572c66e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to c3305cb282de8a7686a648a24a9fe3b6cd5d999c
- Merge "Remove legacy base test classes"
- Remove legacy base test classes
The fixtures have been available for a very long time now. We can drop
these.
Change-Id: I1e71150ba6daeba464b6ed8d46163f1f34959db3
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 481936a822425c6a8c806409c8c877eed6661a2c
- Moves supported python runtimes from version 3.8 to 3.10
Within 2023.2 python version 3.9 and 3.10 are the
supported python runtimes [1].
[1] https: //review.opendev.org/c/openstack/governance/+/872232
Change-Id: I0cb0d4e03858a4f394aed484508b305683ce7863
* Update oslo.db from branch 'master'
to 99cba2dd7df0bba00244120b832ac82ca51eb513
- Run unit tests against main branch of sqlalchemy, alembic
Add two new jobs to verify the main branches of these two projects. This
should keep us on top of things.
Change-Id: Iaa955e6d5563c97ab5cc64fe9133db63d6489a0e
Depends-on: https://review.opendev.org/c/openstack/project-config/+/879549
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 64e50494f219b5c06ed79f947c91cdb7f37cb0d6
- Use SQLAlchemy native pre-ping
This functionality has been available upstream since SQLALchemy 1.2 [1].
However, for oslo.db to use this feature while maintaining full
behavior, we need at least SQLAlchemy 2.0.5 to provide complete event
support. In particular, oslo.db adds several new "is disconnect"
conditions including those specific to Galera.
Behavior of the handle_error event is modified to expect the "pre-ping"
calling form, which may not have an "engine" present (only a dialect),
and additionally takes advantage of the new is_pre_ping attribute which
informs on the correct way to affect the disconnection status within the
ping handler.
Change-Id: I50d862d3cbb126987a63209795352c6e801ed919
* Update oslo.db from branch 'master'
to 1f003bcb0b74cecbfe24f52402328b76a07c9983
- Get test suite to full pass with SQLAlchemy 2.0
Remaining issues encountered when running with SQLAlchemy 2.0 for real:
* Never call str() on a URL and expect it to be meaningful anymore.
The password is aggressively obfuscated now (users absolultely
wouldn't let us leave it as is)
* More utilities and fixtures that were calling begin() within a
block that would have already begun
* isnot is now called is_not; mocking "isnot" leads into too many
weird compat layers
* ORM InstrumentedAttribute and internals use __slots__ now, mock
seems to not be able to patch methods. Ideally these tests would use
a comparator subclass or something
* Connection.connection.connection is now called driver_connection,
SQLAlchemy keeps the old name available however oslo.db test suite
does not appear to tolerate the deprecation warning emitted,
so add a compat layer
* mapper() is fully removed from 2.0, not sure if there is another
not-yet-committed gerrit that removes mapper()
[1] https://docs.sqlalchemy.org/en/20/core/engines.html#sqlalchemy.create_engine.params.pool_pre_ping
[2] https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2fe37eaf2295cebd3bb4ee8e5b8c575c
[3] https://github.com/sqlalchemy/sqlalchemy/issues/5648
Change-Id: Ifaca67c07f008d8bc0febeecd3e200cc7ee7a4b0
* Update oslo.db from branch 'master'
to da4f13e7345653eba8aab5b8aceeaeff7367989e
- Do not convert to string ``url.URL`` objects
The SQLAlchemy method ``url.make_url`` accepts strings and ``url.URL``
object types. By default, oslo.db was converting any object to string
before calling ``url.make_url``, that parses this string. Since
SQLAlchemy 2.0, the ``url.URL.__str__`` method is removed and the
``url.URL.__repr__`` method returns a string with the password hidden.
The new utility method checks what type of object is passed and only
if the object is not a string nor a ``url.URL`` object, is converted
to a string.
Closes-Bug: #2012928
Change-Id: I84f13f378f83e2a55078370ae2b4787f00982c23
* Update oslo.db from branch 'master'
to 94d6e24ca19b0116eed00d5ccdb8a538918c6dcf
- Remove sqlalchemy-migrate
sqlalchemy-migrate does not support SQLAlchemy 2.x and we're not going
to invest the time in changing this. Remove integration of
sqlalchemy-migrate in oslo.db, allowing us to support SQLAlchemy 2.x
fully.
Note that we do not remove the 'migration_cli' module entirely yet.
While this is deprecated, it is possible to use this with alembic.
New users shouldn't be switching to it, but any existing users can
continue to use this module for some time yet.
Change-Id: Ic3d6bd318038d723b0d50d39e45f8e26289e9a57
Sem-Ver: api-break
* Update oslo.db from branch 'master'
to 877bcfc6a6ed16ba6885f47824df6b1f5ac60b4e
- Rollback the connection after server ping method
In the method ``engines._connect_ping_listener``, the connection should
be rolled back after the ping execution. The rollback will revert the
transaction and delete it.
Closes-Bug: #2008209
Change-Id: Iba29ded227634e02795052acfd89b572bf21f54c
* Update oslo.db from branch 'master'
to 5cd7962a2d35902703aac3b68b85e50e26ff4981
- Update master for stable/2023.1
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I564d0adb2b6bd7df059ebe40d34715ecd0e2197e
* Update oslo.db from branch 'master'
to 7d619ae3eb2a64dadeaa9fbaeb1b9424b83414a6
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Ib2362e15f0b610412ed992d63da63ad2d2b39883
* Update oslo.db from branch 'master'
to b689b6320cdb7dbbb366bf35f23083814f5e79ec
- Fix default value for wsrep_sync_wait option
The default value for wsrep_sync_wait option should be `None`.
However, since 0 is set incorrectly, an unintended process is executed.
This patch fixes default value for wsrep_sync_wait option to `None`
instead of `0`.
Change-Id: Ifb1dc7ddcb127a69ea01234922caa7ca5ab111ce
* Update oslo.db from branch 'master'
to 32b042e7069f90c61548d73e3460ab8e0f6990c7
- Merge "skip bandit on oslo_db/tests"
- skip bandit on oslo_db/tests
the bandit command excludes the folder named "tests" but does not
seem to exclude where the tests actually are here, which is
oslo_db/tests. add this folder, as we have "assert" statements
as well as pickle use in our test suite, which bandit disapproves of.
Change-Id: I63ad4fbbd7fa72e7a4d8ebd458d323516f997424
* Update oslo.db from branch 'master'
to 009d23df45969036c70e4cf59eb4019aaace9a55
- Add option for wsrep_sync_wait
When using Galera, the wsrep_sync_wait option [1]
can change the behavior of a variety of Galera DQL/DML statements
such that a particular operation will pause until outstanding
write-sets are fully persisted to the local node. The setting
supersedes the previous boolean parameter wsrep_causal_reads
which only affected SELECT, with an updated approach that allows
for fine-grained control of so-called "causality checks"
on individual statement types. The legacy-compatible setting
of '1' indicates that READ/SELECT/BEGIN operations should
proceed only after any pending writesets are fully available.
The use case for this setting is for an application that
is running operations on multiple Galera nodes simultaenously.
An application that commits data on one node, and then immediately
uses a different connection (on a potentially different node)
to SELECT that data, may fail to see those changes if
"causality checks" for SELECT are not enabled. While
a COMMIT operation in Galera will block locally until all other
nodes approve of the writeset, the operation does not block
for the subsequent period of time when other nodes are actually
persisting that writeset. Setting up "causal reads"
in this case indicates that a SELECT operation will wait until
any writesets in progress are available, thus maintaining
serialization between the COMMIT and subsequent SELECT.
As the name implies, wsrep_sync_wait adds...waiting! to the
operation, and thus directly impacts performance by adding
latency to SELECT operations or to the operations that have
been selected for causality checks, to the degree that
concurrent writesets are expected to be present.
Since it's not expected that most if any Openstack applications
actually need this setting in order to be effective with
Galera multi-master operation, and as the setting is available
within client session scope and also impacts performance,
making it available on a per-application basis means that
specific applications which may see issues under load can
choose to enable this setting, much in the way any other
"transaction isolation" settings might be made, without having
to add a cluster-wide performance penalty by setting it at the
Galera server level.
[1] https://mariadb.com/docs/ent/ref/mdb/system-variables/wsrep_sync_wait/
Change-Id: Iee7afcac8ba952a2d67a9ad9dd0e4eae3f42518e
* Update oslo.db from branch 'master'
to a191d2e629f55c999b37a7a795ad6fbee2807b98
- Merge "tests: Define a primary key"
- tests: Define a primary key
Avoids the following warning:
SAWarning: Could not assemble any primary keys for locally mapped
table 'fake_table_inh' - no rows will be persisted in this Table.
class FakeTableJoinedInh(FakeTable):
Change-Id: Ia7795be05e6364d8b2d70be70f5154094a55161a
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to 35133ce7bbfd3502be1089d780fe0d30c8d2db3e
- Merge "Add Python3 antelope unit tests"
- Add Python3 antelope unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: If49ecb73f63339772f56dc96545d922330ae7620
* Update oslo.db from branch 'master'
to 8c7ecfd93eb0e4f821fb48b85c75ec89a52185fd
- Merge "tests: Fix compatibility with PostgreSQL 14+"
- tests: Fix compatibility with PostgreSQL 14+
It seems postgres-client has changed the format of error messages.
Previously we saw messages like:
fatal: database "non_existent_database" does not exist
These are now prefixed. For example:
connection to server at "localhost" (::1), port 5432 failed: fatal:
database "non_existent_database" does not exist
You can see this in the docs. Compare the "Client Connection Problems"
section for Postgres 13 [1] to Postgres 14 [2].
[1] https://www.postgresql.org/docs/13/server-start.html
[2] https://www.postgresql.org/docs/14/server-start.html
Change-Id: Id2c8eec202d128d142b8a8a8f904fcc14b6f52d7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-bug: #1989208
* Update oslo.db from branch 'master'
to ea9a9d8736ee8cfa714b37f327b924e8df7a8676
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Iae58f095c34f7118a4a2683b6d283e8cf81836b8
* Update oslo.db from branch 'master'
to 995a81d305e0e3819bb768666399b662d2bbc724
- Fix misuse of assert_has_calls
The 'assert_has_calls' is a method, not a variable.
Change-Id: I6aea978b8fc9adf4a062c149c84d6562f5adec04
Closes-Bug: 1989280
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
* Update oslo.db from branch 'master'
to 4d3a391467d5fef83f55b10a7879d23dfeb2fec9
- Merge "Deprecate MySQL NDB Cluster Support"
- Deprecate MySQL NDB Cluster Support
Traditionally, the MySQL support in oslo.db has assumed use of the
InnoDB storage engine. However, this isn't the only storage engine
available and a few years ago an effort was made to add support for
another storage engine, MySQL Cluster (NDB). The oslo.db aspects of this
effort were tracked via bug 1564110 [1] and from reading this bug and
looking at other patches related to this effort [2], it becomes obvious
that this was never seen through to the completion and the
OpenStack-wide effort never took off [3]. As a result, much of what is
here is in-effect dead code now.
Given no one is using this engine, there's no reason to keep it around.
Deprecate it with an eye on removing it sooner rather than later.
[1] https://bugs.launchpad.net/oslo.db/+bug/1564110
[2] https://review.opendev.org/q/owner:octave.orgeron%2540oracle.com
[3] https://review.opendev.org/c/openstack/openstack-specs/+/429940
Change-Id: Id5ddf1d6f47b8a572001f58ad8b9b8a7dbe4e8ac
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Update oslo.db from branch 'master'
to b766a69f4a0709ed245f68afe3fca7564ba8c8a4
- Merge "types: Set 'cache_ok' (redux)"
- types: Set 'cache_ok' (redux)
In change Idf6fd858fad9521c7c5ba82c31b6d3077756abd9, we defined the
'cache_ok' key on a number of custom types. However, we relied on this
attribute being inheritable which is not the case due to how that
attribute is checked for [1]. As a result, we must set this attribute on
every one of our custom types.
[1] https://github.com/sqlalchemy/sqlalchemy/blob/rel_1_4_41/lib/sqlalchemy/sql/type_api.py#L984
Change-Id: I005af8c7afe3b5104068ca153aecbfe54e163ca3
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>