| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
oslo.concurrency-0.3.0 has moved its path to oslo_concurrency,
the old path oslo.concurrency can still work but is deprecated now.
Change-Id: I2b2b362f766bb82058af6f9ed92189165aa9a629
Closes-Bug: #1398656
|
|
|
|
|
|
|
|
|
|
|
| |
Nova has removed nova/openstack/common/lockutils.py and switched to
oslo.concurrency so we can no longer import lockutils from the nova
tree.
Make the same switch in the ironic tree.
Closes-Bug: #1386631
Change-Id: I8db99d61dbe6c50c9edae37077242e2696bc5671
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the Ironic compute driver and scheduler manager so that they
subclass the now in-Nova-tree driver classes. This should de-duplicate
code maintenance across Nova and Ironic and also provide end users
an easier upgrade path (with Deprecation log messages).
This patch also removes the old Ironic compute driver tests and classes
since those now live in Nova.
This patch also removes a line from tox.ini which was copying the second
set of unit test outputs; those no longer exist, since we are no longer
running unit tests on nova code in this tree.
Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Devananda van der Veen <devananda.vdv@gmail.com>
Change-Id: Ic194f779eca470e4a4dd8a3fbd31ca5a6f6b4f7e
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This review contain fixes that addresses the review comments raised in
https://review.openstack.org/#/c/111425 revision 19 and 22.
Once these changes are merged here in Ironic, they will be
proposed as updates to the patch series over in Nova.
Change-Id: Idf4ea36670e5832600c5ff5f814e06aa096e156e
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In review https://review.openstack.org/#/c/111425/14 it has been
raised that if the cpu_arch is not set, we should be using Nova
helper functions instead of 'NotFound'. Also we should be
canonicalizing the user provided config value.
Once this is approved and merged, it will be proposed back into
the Nova tree.
Change-Id: Idfe0730daa22c6550a1a15b45f481635d2eb5195
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_plug_vifs() and _unplug_vifs() in driver.py both log network_info
However network_info is not a simple structure, its a reference to
a wrapper class that wraps a green thread for async network
allocation. Accessing network_info forces a wait on the wrapped
thread (if the network allocation has not completed), which can lead
to a deadlock as follows:
Thread 1 (periodic task in Nova) has grabbed the COMPUTE_RESOURCE_SEMAPHORE
in update_available_resource, and is waiting for the IO thread lock in the
logging handle routine
Thread 2 (in the ironic driver) has grabbed the IO thread lock in the logging
handle routine and is waiting for the async network object to be ready so
_str_ can be called to finish formatting the log message
Thread 3 (which is doing the async network object allocation) wants to call
update_usage in the resource tracker, but that needs the
COMPUTE_RESOURCE_SEMAPHORE which is held by the first thread
The problem is similar to https://review.openstack.org/#/c/71409
and the fix is simply to covert network info to a string before the call
to LOG()
Closes-Bug: 1364059
Co-authored-by: Michey Mehta michey.mehta@hp.com
Change-Id: I3b750ac386588d9235ff10a972b3ab1d8f45cf38
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The nova driver's power_off() function received two new parameters
in commit c07ed15415c0ec3c5862f437f440632eff1e94df (nova). The
in-tree drivers were all updated. This updates the Ironic driver
and avoids a traceback during power off.
Change-Id: I0cbe7d954f0bcc16f7249304321a08d457eaba52
Closes-bug: #1359943
|
|/
|
|
|
|
|
|
|
| |
In https://review.openstack.org/#/c/111425/7/nova/tests/virt/...
...ironic/test_driver.py it was requested to change the way API
testing was conducted. In doing this, some slight alterations
have been needed to ensure conformity.
Change-Id: Ia2905e4a8a27ff196198e35d04d0570065d2779d
|
|
|
|
|
|
|
|
| |
This should make start-up times much better.
Closes-Bug: 1357027
Change-Id: I98ce118667dd9b8bf93ad781bfa8dc5077f34b45
|
|
|
|
|
|
|
|
|
|
| |
Re-use this information to reduce a massive amount of queries to ironic
api to get info about individual nodes on the periodic task that syncs
resource usage.
Partial-Bug: 1357027
Change-Id: Ie6b6898297a6f2346745c04a37d34dbb647ff6e7
|
|
|
|
|
|
|
|
|
| |
Updates the docstring for the macs_for_instance method
to match the documented Nova driver.
Also updates the method to return values per the docs.
Change-Id: I87f36ab675f57137f46416fa810eda5662d92ee0
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This review contain fixes that addresses the review comments
raised in https://review.openstack.org/#/c/111425 revisions 2 & 3.
Once these changes are merged here in Ironic, they will be
proposed as updates to the patch series over in Nova.
Change-Id: Ie7bc50a9804373c9c4f8850f4e2b201c1d01effb
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently when using username/password auth from configs with
ironic client, it's not possible to specify the ironic URL in
a config file. This commit makes that possible.
Change-Id: Ib99c48c2f80abaf42b08f36af942535d7c9ac5d1
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Import fixes from the Nova driver review, based upon revision 4
of https://review.openstack.org/#/c/111423/
- Add unittests for patcher.create()
- Convert some of the tests for the PXEDriverFields to GenericDriverFields
and make sure that the delta from the PXE class is covered
Change-Id: Iec8d1d379458b89a2140dc473ad691dc5dd6d3dc
|
| |
| |
| |
| |
| |
| |
| |
| | |
Per nova baremetal commit d3854f2c05502c7407d716da7d1bd7f1ca3e0a15
we should now return True from the deallocate_networks_on_reschedule
Nova compute Ironic driver.
Change-Id: I54a3252ab15e2d8b596ccc90eb4755405021f1da
|
| |
| |
| |
| |
| |
| |
| |
| | |
Backport comments on the Nova driver review in
https://review.openstack.org/#/c/111423/
to Ironic's tree.
Change-Id: If5939e3dcc3686046e0fc7989114d25270f034e8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The instance_info parameters are common across all drivers and not
just for PXE drivers.
This patch corrects an issue in nova/virt/ironic/patcher.py by moving
the generation of the instance_info patch to the common base class.
It also adds notes stating the intent to remove the PXE-specific
patching in Kilo.
Closes-Bug: #1353631
Change-Id: I80d2208d41d21821f0da662637418ecd76b5db2b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a deploy driver for the ironic-python-agent
project. Caveats:
* Only basic functionality (deploy and tear_down) is implemented.
* Only whole disk images are supported.
Implements: blueprint agent-driver
Change-Id: Iebf8d8f756770549d6fcd1bb2fe94d2585d576b1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Import fixes from the Nova driver review, based upon revision 7
of https://review.openstack.org/#/c/103167/
- better use of _L* helpers
- dynamically import python-ironicclient when the driver is initialized,
so that Nova does not need to add it to requirements.txt
- remove unused CONF options pxe_bootfile_name
and instance_type_extra_specs
Co-authored-by: Devananda van der Veen <devananda.vdv@gmail.com>
Change-Id: Iee1481632e9927766776c7d35264e8cf4c469c8a
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some very trivial pep8 fixes need to go back into the ironic tree
in case of future round-trip revisions. This patch just backports
then so they won't be forgotten.
Change-Id: I6142c5fa9d06462c1cda863b0d32ced6f06ac66a
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need to ensure nodes get unprovisioned and disassociated from instances upon
all failure cases, not only the specific exceptions being caught now. This
removes the catching of those specific exceptions during instance spawn and
performs required cleanup and re-raising.
Change-Id: I9461139400d7aa0a339550cf89f3d49e3a8cb2c0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Import fixes from the Nova scheduler driver review, based upon
revision 4 of https://review.openstack.org/#/c/103165
- create BaseBaremetalHostManager class
- import and refactor the BaremetalHostManager
- refactor IronicHostManager
- minor updates to ExactMatch filters
Note that this change also adds back in copyright notices from
baremetal_host_manager to the ironic_host_manager to reflect
the common heritage of the code.
Change-Id: Iab0d0f1c05474bf341828a2e5aba95715bf71d82
|
| |
| |
| |
| |
| |
| |
| | |
Import a few fixes based on comments on rev 4 of
https://review.openstack.org/#/c/103167/
Change-Id: Ic7f6b54e9b4b94b4cb3108dd7d4ea808a99fa382
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is not currently possible to selectively associate a Nova flavor
with certain nodes in Ironic, beyond variances in the cpu/ram/disk.
The ComputeCapabilitiesFilter exists in Nova for just this purpose,
but the nova.virt.ironic driver is not propagating the correct
data up to the scheduler.
This patch parses the node.properties['capabilities'] as a series of
comma-separated k:v pairs and passes them up to Nova so that it can
be matched against flavor.extra_specs['capabilities'] by the
scheduler filter.
Co-Author: Matthew Gilliard <matthew.gilliard@hp.com>
DocImpact: adds the ability to specify multiple capabilities
to a node for scheduling purposes
Closes-bug: 1339816
Change-Id: Ide39f4a2796b169025bf0083e021166ae35f30f8
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
Some minor cleanup of the nova.virt.ironic driver test code.
Change-Id: If9e21cc9dc521b65561fdc96c5c5591abc03f72e
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
oslo provides a 'default_log_levels' conf variable for overriding
logging levels for certain modules. This could be used to override
ironicclient's default logging level, however it requires re-setting
all of the log levels for oslo's defaults. This is rather inconvenient.
I think it makes sense to allow the ironic virt driver to have an easy
config option for this. When in debug mode, ironicclient logs every
single API call and response. In an environment with a lot of nodes,
it clutters the logs.
This adds a 'client_log_level' config option to the 'ironic' config
section in nova. If it's unset (default), there's no change in behavior.
If it's set, it takes precedence over the 'default_log_levels',
'verbose', and 'debug' settings that one may have in nova.conf
Example usage:
[ironic]
client_log_level=INFO
DocImpact
Closes-bug: 1325663
Change-Id: Id16d5017e1d9ae5d2b15ff3daca177ab36a32869
|
| |
| |
| |
| |
| |
| | |
This code block is needlessly complex.
Change-Id: I41375458d21e38267cd0a1d21b0b14ab498fc172
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update the Nova driver's rebuild() to account for changes in the instance image
during rebuild. Currently, rebuild ignores user requests to rebuild with a
new image, making it impossible to do image-based upgrades. This adds logic
to the patcher to account for the preserve_ephemeral flag and updates rebuild()
to use the patcher to re-patch all driver_info during rebuild.
This also adds missing test coverage of the rebuild code.
Change-Id: I6c8aacd36e0095d0590a1dc552730f2d52036225
Closes-bug: #1334905.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- remove unused classmethod "instance" from nova.virt.ironic driver
- two more pep8 fixes in unit tests
Change-Id: I0ba4b4717abe8bb8fdb9092c8e07332c3c011a22
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This updates ClusteredComputeManager to override terminate_instance() with
a call to update_available_resource(). The goal here is to limit the lag
between when an Ironic node has been freed and when it will become available
again to the Nova. This avoids scheduling errors against Ironic node
inventories with high utilization and/or limited node resources.
Change-Id: I767cb97d9b182f1f9528d078b07a85ffbad313ba
Closes-bug: #1334027
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add and update the docstrings in the Nova Ironic Driver. The 'node'
parameter from the power_on and power_off method was removed because
it's not part of the interface and wasn't being used.
To maintain the function signature consistent with the base class the
'node' parameter from the get_available_resource() method was renamed to
'nodename'.
Also, the method manage_image_cache() was removed from the driver because
it was simply calling "pass", just like the base class.
Change-Id: I0d2fe07992bde7bf09df934282b0551a35e99c1c
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Add DocString
* Add a missing parameter 'destroy_disks', although not used by Ironic
we should keep the function signature consistent with the base class.
* When calling destroy() passing an non-existent instance log a warning
message instead of debug. As suggested on the base class:
"If the instance is not found (for example if networking failed), this
function should still succeed. It's probably a good idea to log a
warning in that case."
Change-Id: I0e7d9a9e5522606bafd5ef6d9dbe525ad39026d2
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
According to the base class 'max_mem' and 'mem' should be returned in
KBytes, other drivers are also converting those values to KBytes so
Ironic should as well.
This patch also add the missing docstring for the get_info() method.
Change-Id: Ia7063b994d506b511271920678868d336a776ec9
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch also pep8-fy the imports in the test_client_wrapper.py.
Closes-Bug: #1316549
Change-Id: Iaf154886c5c05f94ac045fbc99f93915bb91c878
|