We mock out driver libraries in unit tests if they are not installed,
which leads to a periodic break in unit tests when they are actually
installed in the environment. This is sometimes a real break and
sometimes just a bad test, but at any rate it slows down packagers
and actual users.
Add a new tox target that runs unit tests with these installed,
so that we can put something in CI and stop breaking this.
Partial-Bug: #1626106
Change-Id: I81ce147c8958bb89b316c3c28fc9bce172f93873
We set global variables in Ironic devstack plugin like
DEFAULT_IMAGE_NAME. Ensure that grenade uses them by
sourcing lib/ironic from upgrade/settings.
Set IRONIC_DEPLOY_DRIVER by default to pxe_ipmitool. As we no longer
add IRONIC_DEPLOY_DRIVER to IRONIC_ENABLED_DRIVERS and defaults are
conflicting.
Closes-Bug: #1663371
Change-Id: I462ac792ad7920beff64c15a7c005406fcfa5cce
Updates reference for drivers API as well as nodes API to match the
merged driver composition reform work.
Change-Id: I89a7b1998a858d5c39f21c6653893aa8d7ad15bd
Partial-Bug: 1524745
In accordance with ironic CI policies, this patch removesi some drivers
that are not tested on upstream or third-party CI
and for which maintainers have not communicated any plans
to have such testing.
This includes:
- virtualbox drivers
- seamicro drivers
- msftocs drivers
Change-Id: Ia3a7d798c877f4628946ee6c56d850b9847e6c3e
Closes-Bug: #1663018
This patch allows to get the disk size by OOB Inspection
using snmpv3 if RIBCL/RIS is unable to get it.
Closes-bug: 1609622
Change-Id: Ib315dabc50b1f0b627b69781ef1c14de0d5d972c
Classic drivers have their interfaces (except for
network and storage) pre-determined. Unlike dynamic
drivers, it is not possible to change these interfaces
for nodes with a classic driver. If that is attempted
(when creating or updating a node), an exception
MustBeNone is raised (and HTTP status 400 is returned).
So that we don't break existing ironic clusters that
have nodes with classic drivers and interfaces specified,
a warning is logged (instead of raising an exception)
when a TaskManager is created.
Change-Id: I290b10f735d0da9710d1ee3b50c3252f73956428
Partial-Bug: #1524745
Currently, during rebuild, tenant ports are bound to tenant network
when we call add_provisioning_network. We need to unbind them first.
Closes-Bug: #1657083
Change-Id: I475a089ee646872f7874c3d257c1dc571ea94f4d
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. So we can drop py34 environment from tox.
Change-Id: I5e4ed5b4e8e90266813c047d6502d2e7f9b7eb59
When we try to save() object after its refresh(), it leads to a
TypeError. Let's not keep track of changed fields in refresh(),
all fields are reloaded from database.
Closes-Bug: #1612666
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Change-Id: I0f47552c424973af3704903a52f98db819b18c3f
since v3.2.0 swiftclient supports instantiating the API client from
keystonauth session, and we already require this version as minimal in
ironic.
This patch removes existing workarounds in SwiftAPI code which were there
only to accomodate for absence of session handling in swiftclient,
and now the keystoneauth session built from the [swift] config section
is used directly to instantiate the swift API client.
Change-Id: I52f1386df45ebe0a43b11fe1583e012dfa3af532
Related-Bug: #1518938
This patch adds missed space in the log.warning message from
ironic/common/neutron
follow-up to: Icb8298b9be0d8ba62192580263feafa0e1708129
Change-Id: I5ab976d734c538d4027c0cdf53cf5861e62ab04d
In addition to validating the power interface before cleaning
is started, the conductor will also validate the network
interface.
Change-Id: Id8938c4e426243de721ce781f28fd1dbeff6b8ab
Fixes-Bug: #1662372
Commit cde11611d93946a1c79e406dc429aa5e742da729 added a TODO (in
Ocata) to raise DriverLoadError if using 'flat' network interface
and cleaning_network config option is not set.
After discussions, we decided to keep the logging behaviour,
because one could use a flat network and not do any cleaning.
The logging message is updated to reflect this.
Change-Id: Ida3f3a349655bffc3ed0a307a3c18fbd69b42271
Fixes-Bug: 1661082
This changes driver_factory.default_interface() so that instead
of returning None if there is no calculated default interface,
it raises exception.NoValidDefaultForInterface.
This is a follow up to 6206c47720eb16719088540a48b53fb22a4eb999.
Change-Id: I0c3d5d75b5a37af02f3660968cf3f2c669e52019
Partial-Bug: #1524745
Currently only the default interfaces are supported.
Also fail devstack if the deploy driver is neither in enabled_drivers
not in enabled_hardware_types, as we no longer can easily detect which
list to append it to automagically.
Change-Id: I055497963f05833bf065ab396fff9b628357fc08
Partial-Bug: #1524745
When service endpoint url has trailing slash, tempest plugin constructs
wrong url with two slashes.
Added rstrip('/') for base_url for ensure trailing slash is absent.
Change-Id: Id9455779156147e9d3001985d8ab9a367095bcce
This adds additional constraints to the help messages for the
enabled_*_interfaces config options. It also checks if they are
empty at conductor startup, and if any are empty, errors out
with a better error message than previously provided.
Change-Id: I97fc318ce00291d5e43b70423930981c2f5a2de0
Partial-Bug: #1524745
Add simple script to setup mysql and postgresql databases, this script
can be run by users during testing and will be run by CI systems for
specific setup before running unit tests. This is exactly what is
currently done by OpenStack CI in project-config.
This allows to change in project-config the python-db jobs to
python-jobs since python-jobs will call this script initially.
See also
http://lists.openstack.org/pipermail/openstack-dev/2016-November/107784.html
Update devref for this.
Needed-By: I58c1d37d620ca058a4c2127e329d8d21b391965f
Change-Id: Id21d3481f7b4929c40c7351e6321d9ba5ad078b8
For multinode setup we enroll IRONIC_VM_COUNT VMs on each of nodes.
As result on subnode we expecting to have 2 * IRONIC_VM_COUNT resources.
Change-Id: I5f939b0e4a8169e27c3b338ed2857efbe7263ecd
It's hard to switch one's configuration to new options without knowing
what exactly goes wrong.
Change-Id: I302c596c9e27265b77b6ea41aaee4b4f9e884cfd
Related-Bug: #1661250
Some iRMC unit tests were mocking the wrong sleep() method, resulting
in the tests each taking over 2 seconds to complete. This fixes it by
mocking eventlet.greenthread.sleep instead, which is what is actually
being called. With these changes, the unit tests take under 0.5
seconds (your mileage may vary).
Change-Id: Ia1227751f6c3ecf906ec078d1dd07a3adba1d044