- set/unset node tags
- get node tags
- add/delete single tag
- check whether node tag exists
- Delete all tags attached to the node when it's destroyed
This will not support creating node with tags, just ignore
the specified tags.
Change-Id: Ibe83a726d904fd33b8550c8bec134cf05644560e
Partial-bug: #1526266
In Ia575ba803a0fb70f39146bd75d381ed19414bd23, oslo.context
added roles support in the context itself. Once that change
is released in oslo.context and the global requirements has
been updated, we should switch to passing in the roles in
the __init__ parameter. Until then we should set
self.roles *after* the constructor since the constructor
sets the roles to None when the new library gets released.
Closes-Bug: 1549317
Change-Id: Ie28a4144ccac5d6894405ba7f801617376e35c51
This change switches the conductor to using Futurist library executor and
periodic tasks worker instead of oslo.service periodic tasks. This allows
running periodic tasks in parallel and relying on more standard interfaces
(futures, executors) when dealing with asynchronous execution.
A green thread executor is used instead of using an eventlet green pool
directly. The maximum number of workers is taken from the existing
workers_pool_size configuration option, and no tasks are allowed
to be enqueued to mimic the previous behaviour (might be lifted later).
The periodic tasks worker is using the same executor, and its main loop thread
is also running on it. For this reason minimum value for workers_pool_size
is now 3: periodic task main loop, keep alive thread and at least one thread for
other tasks. A special decorator for driver-periodic tasks is now deprecated,
as the generic decorator can be used there as well.
Closes-Bug: #1526277
Change-Id: I57bf7cebfb6db805b6c521bacfef2993b16ce1ee
Had five copies of the def _from_db_object() function in various
classes. Move this function into their common base class.
Change-Id: I543386a708d80f7c89455e556e2abc6d532661b0
It should be replaced by SERVICE_PROJECT_NAME and was removed
in the review I824b1121842eb5821034071874bf1bb2d7c3631e.
Change-Id: Icd03119788d17de221293bce4c0d628df42fdb9b
Automated cleaning fails for iLO driver if iLO is in System POST
state. iLO does not allow setting of boot device when it is in
System POST state. Node needs to be powered off before initiating
boot for cleaning.
Closes-Bug: 1536730
Change-Id: Icd0f39d718aabdcad56636e662dec788c4e1b427
This patch is adding support for deploying nodes with the pxe_ipmitool
driver and VMs.
The patch adds a dependency on the "virtualbmc" utility which is
responsible for creating a virtual/fake BMC that handles the IPMI
commands (using pyghmi.bmc) and convert it to calls to the
python-libvirt library.
The function "is_ironic_hardware" was converted into a variable called
"IRONIC_IS_HARDWARE" which can be set to True/False to indicate whether
DevStack is being setup for baremetal or VMs.
Partial-Bug: #1544642
Change-Id: I5edc51c7fc8b6f0bb7fe4ca129596709a32eb93e
Prior to this patch devstack only supported installing diskimage-builder
directly from pip. This patch adds support to also install it from git.
This is needed so we can run tests on the diskimage-builder gate to test
against Ironic.
Depends-On: I6cefac1eb4ebf0196a6b4d4bfc038c00921f0d70
Change-Id: I894b20fc41c195202d2545f6de2791cd6a1b1a30
Prior to this patch the standalone section of the configuration drive
documentation was talking about a specific format required to the
configuration data but there was no link to the said format, that was
confusing. This patch is adding a link a documentation with an example
of how the data should be organized.
Change-Id: I2fb006c79a20a4795465ce1d992ce8103e6a909b
We introduced nova compute restart to handle problems of it failure
to start when keystone is not available. However, now we get broken
again because stop_service fails when nova compute is not running.
This change makes it ignore failure to stop nova compute.
Also, if n-cpu failed to start the first time, the n-cpu.failure file
that
was created will fail the service_check function in the end
of the deployment, although n-cpu might be in fact up, running and
healthy.
Rename this file to `n-cpu.failure.before-restart-by-ironic` right after
stopping n-cpu so that it does not fail service_check later, but is
still
available for reference if needed.
Change-Id: Idfe7d68d6ebeb786fe9e6da6a001a0ee2e10a76b
Closes-Bug: #1546058
Related-Bug: #1537076
The commit 0a9c0e2151 moved the
http_url and http_root configuration options from the "pxe" group to the
"deploy" group. This patch is just updating DevStack to set these
options for the new group.
Change-Id: If34901ac9194139fb9a60260365cb09e14083cd7
During cleaning, we keep the list of clean steps in the node's
driver_internal_info['clean_steps']. node.clean_step is the current
clean step being performed and is a copy of a clean step in the list.
This change adds a driver_internal_info['clean_step_index'] that
is an index into the list; it corresponds to node.clean_step.
This addresses an issue in the code where a clean step that occurs
more than once in the list would cause cleaning to loop forever.
Change-Id: Ibbb3a0239bb288eb3d2d3c60fc8ddd1a16e2927a
Closes-Bug: #1536276
It provides cleaner per-tests config objects, with more options to
configure the fixture.
Also, allow overriding config fixture in particular test cases if
needed.
Change-Id: I288c5d661a4918feac15a169eaaa521fd2e69284
get_node_by_instance() only support for 'instance uuid', remove
'instance name' to avoid confusion.
Change-Id: Icaebf43c5daeba055b6d6054b1a51f4a51468620
The error messages from InstanceDeploy did not have the node.uuid
Update the unit test to ensure the node.uuid is present in the error
message.
Change-Id: Iaafd00a6b86655a99efa63e7163966abc946c6f5
The `default` parameter to Column() doesn't have any effect on existing
rows, therefore when this migration runs it is set to NULL. After adding
the column, update existing ports in the database to have
pxe_enabled=True, which maintains behavior before this column was added.
Closes-Bug: #1545068
Change-Id: Ibee65fbe26d89d27925a2202795d38461ec60f1f
It was only 'sha1' algorithm being used till now in ``hash_file``
method to create hash of the file contents. Need to add 'md5'
to keep the consistency with that of IPA code base. Also, this
method now supports all the algorithms hashlib does. As this
method wasn't being used at all, therefore making the default
algorithm to 'md5'. Will be used in oob firmware update (manual
clean step) to verify the checksum of the images.
Change-Id: I8159fd64d1c074bd539817a40900e34f8fae30d4