This library was added by [1] to fix a problem with the mistral action
but we already removed Mistral from our software stack.
[1] 2e54cff0db
Related-Bug: #1826281
Change-Id: I610cbae7dabaedb1129202a178cf4f1ca5cadb1e
PyYAML is used by the actual code, not only by test code so should be
listed in the requirements, not in test requirements.
Change-Id: I9fb221f283d40b00b8a13e9635b204d0b60ef34e
- python-glanceclient and python-novaclinent are no longer used since
Glance and Nova were removed from Undercloud.
- python-keystoneclient and keystoneauth were used by Mistral actions
which were all replaced by tripleo-ansible.
- netifaces, netaddr and jsonschema were used by baremetal actions in
Mistral, which were replaced by tripleo-ansible.
Change-Id: Id85fbb39453f7d601258ed0b5ca60489bd264ec6
... because eventlet is no longer involved since Mistral was removed.
Depends-on: https://review.opendev.org/821784
Change-Id: I5312652b5229d66fa4a5981c590a2aecb79dd14c
The six library was used to bridge the py2 > py3
gap. This library is longer required on branches
that do not support Python2.
Change-Id: Ibebe1ac80342774d47f80f6f5855cd4d064742b6
paramiko is not approved for FIPS, but we only use it here to
generate ssh keys. We can do the same with OpenSSL and cryptography.
Doing this allows a FIPS enrollment on the undercloud to continue.
Change-Id: Iaee1b95f1537b937591e269f9bdb22a955a854be
These translation sections are not needed anymore, Babel can
generate translation files without them.
Remove babel.cfg as well, this is the default role and not needed
anymore.
also remove Babel from requirements[1]
[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014227.html
Change-Id: I3b80e94e22e64d5b7d98be7a3e3c0979785d04f4
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg
- Update classifiers
- Update requirements, no need for python_version anymore
- Use newer openstackdocstheme version
Change-Id: Ic7696a6ba0fc213b59edf87cf9ef2a804ebca94f
InstanceConfig was deprecated in favour of GenericConfig and CloudInitConfig
to make it clear which format is used. We use the latter.
Implements: blueprint nova-less-deploy
Change-Id: I8b6671d9b0813e04fbe5fb3c9a3009117b82064c
Via 31cfdbd407
oslo.rootwrap gained support eventlet when using subprocess. By moving
to oslo_rootwrap.subprocess we make sure that with python3 the
subprocess calls use eventlet.green.subprocess if eventlet is used.
This worked on python2 because (from above commit):
"""
On Python 2, it "works" to use directly subprocess: subprocess.Popen
calls os.pipe() and os.fdopen(fd) which are both monkey-patched. On
Python 3, it doesn't work because subprocess uses os.pipe() and
io.open(fd), and the io module is *not* monkey-patched at all.
"""
By applying this change what happens is that the heartbeat thread is
able to be scheduled every 15seconds by default. Without this patch
what we have been observing with python3 is that while running ansible
mistral would constantly log error messages like the following:
2019-05-02 19:14:36.702 8 WARNING oslo.messaging._drivers.impl_rabbit [-] Unexpected error during heartbeart thread processing, retrying...: amqp.exceptions.ConnectionForced: Too many heartbeats missed
With this change we could not reproduce this issue during a deployment
and no missed heartbeat messages were observed during the deploy.
Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>
Co-Authored-By: Hervé Beraud <hberaud@redhat.com>
Closes-Bug: #1826281
Change-Id: Id22b1465d6d2424d90781983b970aba4545feb8a
We have jsonschema capped at a fairly old version. Other than some
specific releases, it looks like keeping it below 3.0 was added in
I943fd68b9fab3bce1764305a5058df5339470757 without really any explanation
why.
In order to update to a 3.x release we need to:
1. Remove the cap from global-requirements.txt (see Depends-On), leaving
upper-constraints.txt at a 2.x release
2. Remove the cap from all consumers (this change)
3. Release a new version of consumers that are published to pypi
4. Update upper-constraints.txt with those new releases
5. Update jsonschema in upper-constraints.txt to a 3.X release
(See: https://review.openstack.org/649789)
6. Test consumers with the change from 5.
7. [Optional] fix issues in consumers that arise from 6.
8. Merge the change from 5.
Change-Id: Ic782c3085fb85634d2ae2b7d5538ae2948d2f9b8
Co-Authored-by: Sean McGinnis <sean.mcginnis@gmail.com>
Depends-On: https://review.openstack.org/649669
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.
Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.
Add openstack-tox-lower-constraints job to the zuul configuration.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
Also adjusted a warning check in the utils.config test due to python3
Also updated requests to 2.18.0 so that the python uploader can use
requests as a context manager which was not added until v2.18.0. See
4847f5b8cd
Change-Id: I78bffdf69113988192afc466d4ce04b3b97e796a
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
The mistral executor uses eventlet patching, but gitpython's subprocess
module is not being properly patched. Patching it manually fix the issues
Change-Id: I49d041b48d9939844bcc3a571819887772caf491
Closes-bug: #1818757
The docker based image uploader can no longer be used because the
docker service has been removed from the undercloud.
This change removes the DockerImageUploader class, relieving us of the
burden of maintaining unused code.
Change-Id: I7be5915a0aee561250c16487c1fee7afd28b9036
Blueprint: podman-support
* Replace image detection with the call from metalsmith
* Validate image parameters early to detect trivial errors
* Add support for specifying subnets in NICs
* Use more specific exceptions when checking for existing instances
* Drop compatibility code for nodes in < 0.9.0
Change-Id: I719082c0845b517172c309838e37a5e38a04c04c
Implements: blueprint nova-less-deploy
This change adds a workflow to provision bare metal machines using
Ironic API without Nova (through the metalsmith library for convenience).
A simple workflow to unprovision nodes is included as well.
This is the first step towards supporting deployment without Nova.
Change-Id: I7c7aeb83691865d37ebed4d6cad7524339fdb799
Implements: blueprint nova-less-deploy
This is needed to land I2c5b511df50f29c63aa613899c2bebb506360bf4,
see the reasoning on that patch.
This reverts commit 6fa7a0974a.
Partial-Bug: #1771627
Change-Id: Ia86842b0b1f42512f25390d6bdb695e0f8133c6d
This gets a TLS certificate for the overcloud when necessary:
* If no incoming cert/key is provided and we don't expect the
overcloud's certmonger instances to request the certificates,
we request one to the undercloud's certmonger local CA.
* If a certificate was provided, we verify if it's user-provided
or if it was autogenerated.
- If it was user-provided we pass through that certificate
- If it was autogenerated, we request or resubmit the request
if it's needed.
* We also accept the EnableTLS flag, which the deployer can
explicitly turn off if they decide not to use TLS.
Depends-On: Ic70dd323b33596eaa3fc18bdc69a7c011ccd7fa1
Change-Id: I3d3cad0eb1396e7bee146794b29badad302efdf3
Using process based concurrency doesn't work with mistral's threading
model. Switching to concurrent.futures allows the threading executor
to be used instead.
Change-Id: I2c7a1a7cb8d8e195e041b5b185c1ceba3a6d0e86
This change replaces the custom image pull/push retry loop with a
tenacity annotation.
The docker client uses requests, so this fixes an issue where requests
can raise a vendored urllib3 exception if the registry doesn't respond
at all. This will now be caught by tenacity and treated as a retry
condition.
Change-Id: Ifa08f21ccbc1bf04732462d28449546cf146c53a
Closes-Bug: #1749663
We were using deprecated arguments to create the client, which have
been removed in I9df8296ddc1b41cde22ff8b0f26d73c4408741ce.
Also make explicit the keystoneauth1 requirement - the library is
already used in other parts of the code but wasn't explicitly
referenced.
Change-Id: I2314020a6414f90d964f7be474668658913e61b9
Closes-Bug: #1747057
At some point on 2018-02-02, all tripleo-common tox python jobs started
failing with:
2018-02-02 15:05:50.952672 | ubuntu-xenial | ImportError: No module
named keystoneclient
We did't have python-keystoneclient in requirements.txt, though we
probably should. We must have been implicitly getting it from somewhere
else previously and something must have changed to where it's now
explicitly required.
Change-Id: I272292f2f411d1195e5986f0f6a24b379fbf2b6e
Closes-Bug: #1747160
Newer versions of gitdb are conflicting with the dependencies of newer
versions of GitPython, so they can not be properly coinstalled
This dep was introduced in If069ebb33ee4cb7f81308c68849ba9f969752d25
but not actually used back then. drop it.
Change-Id: Idc30b635dcba04aec47a3537cb9cc490eb255da9
In order to allow sending messages to zaqar queue we need to
provide Zaqar client in TripleOAction.
Change-Id: I2378e3626a415fd0cdf085735a4ed890e6aa61f4
New workflow discover_nodes works by trying to log into given IP addresses
with given set of credentials.
New workflow discover_and_enroll_nodes uses results of the previous workflow
to create new nodes and optionally move them to manageable.
Implements blueprint node-discovery-by-range
Change-Id: I158f0b8f5251d9d94e7e57b3fe24362316d26599