This patch removes the ``python-oneviewclient`` library from
``oneview`` hardware type since it was migrated to ``hponeview``
and ``python-ilorest-library``.
Change-Id: I3393189abdff6a0e56f54375877cc310d72ff5b1
Closes-Bug: #1693788
Adds basic CRUD on traits, including set and delete of individual
traits.
Bumps the API microversion to 1.37.
NOTE: This patch does not implement the advanced filtering outlined in
the OpenStack API working group's tags guidelines[1]. That will be
implemented in a separate microversion as a follow up patch.
[1] http://specs.openstack.org/openstack/api-wg/guidelines/tags.html
Change-Id: I313fa01fbf20bf0ff19f102ea63b02e72ac2b856
Partial-Bug: #1722194
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
Adds two new methods to the conductor RPC API, add_node_traits and
remove_node_traits, and provides implementations for them in the
conductor manager. add_node_traits can be used to add one or more traits
to a node, or to replace all the traits for a node. remove_node_traits
can be used to remove one or more traits from a node, or to remove all
traits from a node.
The conductor RPC API version is bumped to 1.44.
Change-Id: I0181df6a41e603874677246066d84bf4ac4f433c
Partial-Bug: #1722194
Seems that by default we now run cleaning
on all jobs. However, this is extremely wasteful
and time consuming. Also, if a cloud is IO resource
constrained, it can result in jobs failing erroneously
due to unpredictable IO performance, particularly with
the multinode jobs.
As such, slightly extend the wait timeout before we
fail for nodes not being ready, and flag multinode
jobs not to run cleaning.
Change-Id: I12011743fa197caef08a3d6d1297d662dfa7640a
In the node traits RPC object change [1], the _do_update_node method in
the sqlalchemy DB API was modified to use a select query joined with the
node_tags and node_traits tables in the node update DB operation. This
was done to ensure that the returned NodeModel had its tags and traits
attributes populated rather than lazy loaded. This was found not to work
on PostgreSQL, which presents the following error message [2]:
Exception during message handling: DBNotSupportedError:
(psycopg2.NotSupportedError) FOR UPDATE cannot be applied to the
nullable side of an outer join
This issue is resolved in this commit by reverting to the original query
without joins for the node update, and performing a joined query after
the update.
[1] https://review.openstack.org/#/c/532268/13
[2]
http://logs.openstack.org/69/532269/22/check/ironic-tempest-dsvm-pxe_ipmitool-postgres/562b2ea/logs/screen-ir-cond.txt.gz?level=ERROR#_Jan_23_23_59_05_062967
Change-Id: Ib0d49f7e781f1aa0c4496957b00f6c8e3da0ecc0
Related-Bug: #1722194
Note that the job names are not changed to reduce the diff of this
patch. They will be renamed in later changes.
For the direct deploy, copy Swift temporary URL configuration from
devstack-gate (it hardcoded agent_* there).
Also clean up no-op conditions on drivers left from the times when
the job definitions were parametrized.
Change-Id: Ib0297f8936bba9449a02fb1a878981ab55687ef9
Partial-Bug: #1690185
As part of the process to stop the use of ``python-oneviewclient``
in favor of ``python-hpOneView`` and ``python-ilorest-library``, the
validations of the ``python-oneviewclient`` have to be migrated to
the ``oneview`` hardware type.
Change-Id: I9031f6e9a59901d3241c6802938252bb63cfe6ca
Partial-Bug: #1693788
Adds a new traits object to expose traits DB operations to the API. It
also adds a new traits field into the node object, with the appropriate
version compatibility logic.
get_node_by_port_addresses is modified to ensure we correctly join in
the tags and traits in that DB call, this avoids a orphaned db object
lazy load style failure.
_set_from_db_object in the base object is modified such that the new
traits object doesn't have to include the dictionary style compatibility
mix-in.
Change-Id: I69403b9875a020fab7a7975810b57bf646417953
Partial-Bug: #1722194
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
These values have priority over ones defined in ironic.conf. Also modify
validation code to only used network UUID cached on task.network if:
1. the requested XXX_network is UUID, not name
2. the requested XXX_network is the same as the cached one.
Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Closes-Bug: #1614876
Change-Id: I4caec34d85304fe887bcc28b7528cceceb3acfe8
Migrate the code on ``oneview`` hardware type to stop using
``python-oneviewclient`` in order to use ``python-hpOneView``
and ``python-ilorest-library``. The library ``python-hpOneView``
is more recent and is being more actively developed and maintained.
Co-Authored-By: Hugo Nicodemos <nicodemos@lsd.ufcg.edu.br>
Co-Authored-By: Xavier <marcusrafael@lsd.ufcg.edu.br>
Change-Id: I2c5b1703603b1401be637b6172cc4297f705332f
Partial-Bug: #1693788
Ensure nodes don't get stuck in rescuewait forever when
a rescue ramdisk fails to boot and start heartbeating.
Change-Id: I15a92c0f619505e25768dc2fbc1b2a796f0b38fa
Related-bug: #1526449
Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Co-Authored-By: Mario Villaplana <mario.villaplana@gmail.com>
Co-Authored-By: Jesse J. Cook <jesse.j.cook@member.fsf.org>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
Adds methods `add_rescuing_network` and `remove_rescuing_network`
to add/remove rescuing network to `network` interface.
These methods are not added to `flat` network interface.
The 'flat' network uses same network for tenant and provisioning.
It makes sense to use the same for rescuing as well; as opposed
to a separate network like we have for cleaning.
Change-Id: I8f4123bfe7d293e8ff6f3bfc2f25445a39c94c73
Related-bug: #1526449
Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Co-Authored-By: Mario Villaplana <mario.villaplana@gmail.com>
Co-Authored-By: Jesse J. Cook <jesse.j.cook@member.fsf.org>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
This patch proposes to add new interfaces for management and power
for the Lenovo XClarity Driver.
Change-Id: Ic2743f9a4959a6165a7ec40f4772afb231205f36
Closes-Bug: #1702508
As the mutlinode job is failing and is failing
in ways that cannot currently be easily and cleanly
rectified, we should disable voting for the job until
we are able to fully identify the cause and proper
solution in order to allow the project contributors
to continue to land code and have it reviewed while
we work to resolve the multinode grenade job issues.
Change-Id: If204c7b979baa71b3b9bbb7e79d13741f580ba8b
Related-Bug: #1744139
rename included files to not have ".rst" extension,
otherwise they are being scanned for ref targets and found targets are
effectively counted twice (both in file that includes,
and in the file being included), producing a warning/error.
Change-Id: I2eec5b1b16d253998f45e6f0551a92c2ab6f5609
Closes-Bug: #1743780
This commit adds RPC calls for rescue interface.
It also adds transitions to/from the rescue-related states.
Change-Id: I12cc8c3b89588394ff10837f05dd6ad5e9b55ee7
Partial-bug: #1526449
Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Co-Authored-By: Josh Gachnang <josh@pcsforeducation.com>
Co-Authored-By: Jesse J. Cook <jesse.j.cook@member.fsf.org>
Co-Authored-By: Mario Villaplana <mario.villaplana@gmail.com>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
This seems to run quite reliably, and making it voting is required
for the openstack-wide python 3 goal.
Change-Id: If885612c4c07c06c9e7846536c55e8c92fca50eb
Write down our relatively unwritten context of what
expectations exist for contributions and timelines
related to contributions.
Also performed some minor updates and added a note for
future document revision in the Rocky cycle.
Co-Authored-By: Ruby Loo <ruby.loo@intel.com>
Change-Id: I2d80043f0556a28fe355034ca66883384c408710
To make tags consistent with traits, change db.api.node_tag_exists()
to raise a NodeNotFound exception if the node doesn't exist.
This is a follow up to bbff319f0226af11af3c2864ad8f678abef6dcdb.
Change-Id: Id0ddf448d97b5ac22ef5dc27154a1b229514a968
Partial-Bug:#1526266
- enable ansible deploy interface
- install Ansible version from driver-requirements.txt
- generate private SSH key to use by Ansible (if absent)
- add the public ssh key to the tinyipa image during (re)build
By default nodes are not enrolled with it, as they will be assigned this
driver/interface in standalone tests.
For local development, nodes can be enrolled by setting
IRONIC_DEFAULT_DEPLOY_INTERFACE=ansible
in local.conf and enabling 'ansible' deploy interface in the
IRONIC_ENABLED_DEPLOY_INTERFACES variable.
Change-Id: I12c1727c3ded13c381852334cb54e5e976154e98
Adds a NodeTrait model to the DB and DBAPI methods for the following:
* Set/unset node traits
* Get node traits
* Add/remove a single trait
* Check for existence of a node trait
All node traits are deleted when their owner node is deleted. Traits
cannot be specified on node creation currently.
Change-Id: I8b375a33dcb94d2cc73eaa93a5cc5aed86c27178
Partial-Bug: #1722194