7933 Commits

Author SHA1 Message Date
Hugo Nicodemos
f8bf0ad51b Remove python-oneviewclient from oneview hardware type.
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
2018-01-25 01:30:27 +00:00
Zuul
22711ba98b Merge "Migrate python-oneviewclient validations to oneview hardware type" 2018-01-25 01:14:11 +00:00
John Garbutt
864331a94b API: Node Traits API
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>
2018-01-25 00:11:44 +00:00
Mark Goddard
c1cce7eb45 Add RPC API and conductor manager for traits
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
2018-01-24 21:23:05 +00:00
Julia Kreger
904f44522b Be more sane about cleaning
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
2018-01-24 12:57:05 -08:00
Mark Goddard
d8a291a1e1 Fix node update with PostgreSQL
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
2018-01-24 20:11:59 +00:00
Dmitry Tantsur
fa850c80cb Switch the CI to hardware types
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
2018-01-24 15:56:36 +01:00
Zuul
6a1a8efb5f Merge "Migrate oneview hardware type to use python-hpOneView" 2018-01-24 14:29:13 +00:00
Hugo Nicodemos
b1aa04481f Migrate python-oneviewclient validations to oneview hardware type
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
2018-01-24 11:32:04 +00:00
OpenStack Proposal Bot
c2b6611ddf Updated from global requirements
Change-Id: I9c7368b19c3774746c9562d52876021baac2e880
2018-01-24 00:55:27 +00:00
John Garbutt
2cd7232f14 Add RPC object for traits
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>
2018-01-23 22:58:59 +00:00
Zuul
248296a4f5 Merge "remeber spelling error" 2018-01-23 19:50:59 +00:00
Zuul
2c630d9337 Merge "Add rescuewait timeout periodic task" 2018-01-23 16:25:40 +00:00
M V P Nitesh
95d7e602e5 Allow setting {provisioning,cleaning,rescuing}_network in driver_info
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
2018-01-23 17:11:56 +01:00
Zuul
6ee297f7a5 Merge "Add rescue related methods to network interface" 2018-01-23 16:00:50 +00:00
Fellype Cavalcante
c6b615cc5b Migrate oneview hardware type to use python-hpOneView
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
2018-01-23 09:16:01 -03:00
chenjiao
3734277105 remeber spelling error
remeber should be changed to remember

Change-Id: Id5e182e410f48454027defc11ef68925789df4a8
2018-01-23 19:35:00 +08:00
Zuul
83e3afbdee Merge "Add XClarity Driver" 2018-01-22 23:30:28 +00:00
Jay Faulkner
a9bc2e6ddf Add rescuewait timeout periodic task
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>
2018-01-22 11:38:36 -05:00
Shivanand Tendulker
fbee0981ad Add rescue related methods to network interface
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>
2018-01-22 11:37:32 -05:00
Rushil Chugh
346a9a3bfc Add XClarity Driver
This patch proposes to add new interfaces for management and power
for the Lenovo XClarity Driver.

Change-Id: Ic2743f9a4959a6165a7ec40f4772afb231205f36
Closes-Bug: #1702508
2018-01-22 08:39:09 -05:00
Pavlo Shchelokovskyy
b327f70b8e [docs] mention new nova scheduler option
also add some notes for mixed hypervisor case.

Change-Id: I77d13e8180f7cae0a1eb370329cebc6bb2768fe0
2018-01-22 15:07:04 +02:00
Mark Goddard
c3ed7dfb9e Add a version argument to traits DB API
We need to save the Trait object version to the DB when creating traits.

Change-Id: I2c43c27455de6e7017477b0f12b18873c66455ad
Partial-Bug: #1722194
2018-01-19 19:28:27 +00:00
Zuul
58ebae91ba Merge "Updated from global requirements" 2018-01-19 19:27:27 +00:00
Zuul
40f32cd4da Merge "Adds RPC calls for rescue interface" 2018-01-19 18:02:00 +00:00
Julia Kreger
e4925352a4 Mark multinode job as non-voting
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
2018-01-18 20:02:19 -08:00
OpenStack Proposal Bot
0aae151a30 Updated from global requirements
Change-Id: I150316afff013a6c114992daf67cdc612f85251b
2018-01-17 20:35:20 +00:00
Zuul
b29a205e02 Merge "fix a typo in ilo.rst: s/fimware/firmware/" 2018-01-17 18:45:38 +00:00
Pavlo Shchelokovskyy
0970e3d031 Fix docs for Sphinx 1.6.6
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
2018-01-17 16:13:09 +02:00
liumk
529e249453 fix a typo in ilo.rst: s/fimware/firmware/
Change-Id: Id8f39631d615d86ab9afc4a68baedf855fd78e73
2018-01-17 04:05:45 -05:00
Zuul
f46fc34160 Merge "Add additional context to contribution guide" 2018-01-17 04:37:19 +00:00
Zuul
7c4b6dd03f Merge "Introduce hpOneView and ilorest to OneView" 2018-01-16 17:53:14 +00:00
Zuul
e7d850adbb Merge "Join nodes with traits" 2018-01-16 16:43:59 +00:00
Zuul
76945299a8 Merge "Make the Python 3 job voting" 2018-01-16 06:48:31 +00:00
Shivanand Tendulker
084da02a32 Adds RPC calls for rescue interface
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>
2018-01-15 23:50:39 -05:00
Zuul
67d225268e Merge "Add documentation covering storage multi-attach" 2018-01-15 22:47:38 +00:00
Zuul
c5abf0b9d1 Merge "Add release 10.0 to release mappings" 2018-01-15 22:47:36 +00:00
Dmitry Tantsur
5e373e6c42 Make the Python 3 job voting
This seems to run quite reliably, and making it voting is required
for the openstack-wide python 3 goal.

Change-Id: If885612c4c07c06c9e7846536c55e8c92fca50eb
2018-01-15 17:49:25 +00:00
Zuul
3dce1aa5c1 Merge "Setup ansible interface in devstack" 2018-01-15 16:13:02 +00:00
Julia Kreger
b868f674d2 Add additional context to contribution guide
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
2018-01-15 15:40:30 +00:00
Ruby Loo
afc432af4d node_tag_exists(): raise exception if bad node
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
2018-01-15 10:11:50 -05:00
Zuul
e9425da77e Merge "Do not validate root partition size for whole disk images in iscsi deploy" 2018-01-15 13:51:24 +00:00
Zuul
3759bc19da Merge "Remove ironic_tempest_plugin/ directory" 2018-01-15 13:48:03 +00:00
Zuul
e6349841e5 Merge "Update links" 2018-01-15 11:40:54 +00:00
Pavlo Shchelokovskyy
fbcc4df961 Setup ansible interface in devstack
- 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
2018-01-15 11:34:24 +00:00
Mark Goddard
88a6761503 Join nodes with traits
Join the node_traits table with the nodes table in some
DB operations.

Change-Id: Ic959b5c5b1d431edc55d9abe1c6c2d7b41d76fbd
Partial-Bug: #1722194
2018-01-12 14:31:44 +00:00
Zuul
4a74c34061 Merge "Node traits: Add DB API & model" 2018-01-12 13:31:34 +00:00
brandonzhao
eb4a47c808 Update links
Use https instead of http for links

Change-Id: I1dd41b455f042aa921787090421da571f4d6ec8e
2018-01-12 19:29:10 +08:00
Mark Goddard
bbff319f02 Node traits: Add DB API & model
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
2018-01-11 15:20:43 +00:00
Ruby Loo
fb47f179a9 Add release 10.0 to release mappings
This adds a '10.0' entry to the release mappings -- used for
rolling upgrades.

This is part of the process for preparing for the 10.0 release
(https://docs.openstack.org/ironic/latest/contributor/releasing.html#things-to-do-before-releasing)

Change-Id: I157d77a231022d9c67d076163fb4aff91e830421
2018-01-11 10:07:04 -05:00