6302 Commits

Author SHA1 Message Date
Vasyl Saienko
56570b1f41 Validate port info before assume we may use it
Ironic 'neutron' network driver requires local_link_connection to be
present on ironic port to be able to work with it (plug to specific
network).
This patch ignores ironic ports without local_link_connection when
attaching VIF to node with 'neutron' network driver.
Also make sure that we do not pick such port for provisioning and
cleaning.

Closes-Bug: #1653249

Change-Id: Icb8298b9be0d8ba62192580263feafa0e1708129
2017-01-27 12:52:21 +02:00
Jenkins
c1c86e81af Merge "Add VIFs attach/detach to api-ref" 2017-01-18 23:09:28 +00:00
Vasyl Saienko
77d1537d40 Add VIFs attach/detach to api-ref
This patch updates api-ref documentation with VIF attach/detach
changes that were added in API microversion 1.28.

Closes-Bug: #1582188
Change-Id: I2950a1a356ccb3feb7a4c6335eb95a7a52b3266a
2017-01-18 18:47:38 +00:00
Jenkins
f5735999c6 Merge "Expose default interface calculation from driver_factory" 2017-01-18 13:15:47 +00:00
Jenkins
ac3a411dfe Merge "Add default column to ConductorHardwareInterfaces" 2017-01-18 13:11:56 +00:00
Jenkins
949a42b470 Merge "make sure OVS_PHYSICAL_BRIDGE is up before bring up vlan interface" 2017-01-18 13:00:34 +00:00
Jenkins
18a1f97d24 Merge "Do not fail in Inspector.__init__ if [inspector]enabled is False" 2017-01-17 20:44:27 +00:00
Jenkins
be7079127e Merge "Update troubleshooting docs on no valid host found error" 2017-01-17 19:39:49 +00:00
Noam Angel
70504de1e3 make sure OVS_PHYSICAL_BRIDGE is up before bring up vlan interface
we need to make sure before we bring up vlan interface on
"configure_ironic_provision_network:723" that OVS_PHYSICAL_BRIDGE is up.
otherwise we can fail (RTNETLINK answers: Network is down)

This issue discover on a unique configurations I run different biridges
for external network (PUBLIC_BRIDGE) and internal bridge
(OVS_PHYSICAL_BRIDGE) so devstack don't seem to bring up ovs bridge.

Change-Id: I80f29075cff47c96ac70c13717dcf13475065f83
2017-01-17 19:05:31 +00:00
Dmitry Tantsur
98aa3bbf47 Update troubleshooting docs on no valid host found error
* Add examples of correct data
* Regroup bullet points into more logical flow
* Use OSC-based commands for Nova
* Add short information on using nova scheduler logs

Based on real world debugging experience.

Change-Id: I0f2441764a1b434fca6a1589c72ec95b083d19ab
2017-01-17 19:18:20 +01:00
Jim Rollenhagen
472abf43b0 Expose default interface calculation from driver_factory
The API for this feature will need to be able to calculate the default
interfaces for a given hardware interface. The code was already there to
do it, but just needed a bit of refactoring and a public method. Move
things around as we need them, and add a few tests to test the
default_interface method directly.

Change-Id: I993b76b7a2e6219cacc86558a612ecf0ba10e685
Partial-Bug: #1524745
2017-01-17 17:37:06 +00:00
Jim Rollenhagen
ac90e7372c Add default column to ConductorHardwareInterfaces
This will mark the default interface for each hardware type in use.
This is the only piece of information about hardware interfaces that is
not in the database, and so this will allow the API to fetch this
information without an RPC call.

Change-Id: I5b05853a64ebb2744f9dc87855fb31fbe5cefce6
Partial-Bug: #1524745
2017-01-17 17:37:06 +00:00
Dmitry Tantsur
56604b9d68 Do not fail in Inspector.__init__ if [inspector]enabled is False
We already have a check in Inspector.create_if_enabled. This additional
check prevents normal use of Inspector with hardware types, as it's not
enough to add "inspector" to "enabled_inspect_interfaces" to use it.

Change-Id: Iff29785002cd978702317d50ce52bdcebe06d0e3
Partial-Bug: #1524745
2017-01-17 14:10:08 +01:00
Vasyl Saienko
e72e68eb38 Use TENANT_VIF_KEY constant everywhere
This patch replaces hardcoded key 'tenant_vif_port_id' by using constant
TENANT_VIF_KEY from ironic.drivers.modules.network.common module.

Change-Id: I0394adad20b89530f314e3bc6a03b295edb53ac6
2017-01-17 10:16:39 +02:00
OpenStack Proposal Bot
713a440884 Updated from global requirements
Change-Id: I33b892e4cd6805f07e1c5678b6ab9a711e954b01
2017-01-17 00:55:39 +00:00
Jenkins
10b2951c08 Merge "Ensures that OneView nodes are free for use by Ironic" 2017-01-16 22:32:16 +00:00
Jenkins
0fa21ef54b Merge "Allow to attach/detach VIF to portgroup" 2017-01-16 21:18:35 +00:00
Jenkins
b0a96a8f7f Merge "Refactor DRAC driver boot-device tests" 2017-01-16 19:23:27 +00:00
Jenkins
32828e6f8c Merge "Remove check for UEFI + Whole disk images" 2017-01-16 16:21:18 +00:00
Vasyl Saienko
b83af0d65a Allow to attach/detach VIF to portgroup
With this patch port groups are activated in Ironic.
When attaching a VIF to a node, it is attached to the first
free port group. If there are no free port groups, the first
available port (pxe_enabled has higher priority) is used
instead.

Related-Bug: #1618754
Related-Bug: #1582188
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Change-Id: I0dca2c2d98184e370c08c3e05aa3edadead869af
2017-01-16 16:25:00 +02:00
Miles Gould
bf8870653b Refactor DRAC driver boot-device tests
This reduces the amount of copy-and-pasting in the tests, making it more
obvious what changes between tests and what each test method is testing.
It also makes it easier to extend the tests to handle UEFI-mode boot
devices (in a followup patch).

Change-Id: Iddb69520ad8f1f1561fd351ad055c12b338c8fb0
2017-01-16 13:41:59 +00:00
Jenkins
b71f9a9cdf Merge "Move baremetal tempest config setting from devstack" 2017-01-16 13:24:35 +00:00
Jenkins
7f3cf28500 Merge "Ipmitool power driver for soft reboot and soft power off" 2017-01-16 12:41:06 +00:00
OpenStack Proposal Bot
9012f52e13 Updated from global requirements
Change-Id: I2e0528385d8cda29834e4aee0cf2d493f953d559
2017-01-15 09:21:12 +00:00
Jenkins
98bdf8791b Merge "Fix take over of ACTIVE nodes in AgentDeploy" 2017-01-13 14:06:11 +00:00
Jenkins
773198f1fe Merge "Update validate_ports from BaremetalBasicOps" 2017-01-13 12:21:58 +00:00
Lucas Alvares Gomes
e63cd0834b Remove check for UEFI + Whole disk images
This patch is removing a conditional preventing whole disk images from
being deployed in UEFI mode without local boot.

This conditional is an inconsistency because whole disk images being
deployed in non-UEFI mode don't need to explicitly set the boot_option
from "local", also, in Ironic when deploying a whole disk image we
already assume local boot by default.

Change-Id: I678e3547397eac3199d8ff670fe281e20b2cd2c0
Closes-Bug: #1627022
2017-01-13 10:17:14 +00:00
OpenStack Proposal Bot
f88f8dc49d Updated from global requirements
Change-Id: I9fdd36a400ecb05b556f8bd57cae28059306c8c2
2017-01-13 09:33:24 +00:00
Vasyl Saienko
3a5e334de6 Update validate_ports from BaremetalBasicOps
Get node attached vifs via v1/nodes/<node>/vifs when max supported
Ironic API microversion is higher or equal 1.28. Fallback to
 port-show otherwise.

Change-Id: I20e889d255c070897ee1cd4bece347cbf44a94d5
2017-01-13 10:57:38 +02:00
Naohiro Tamura
ed6c599083 Ipmitool power driver for soft reboot and soft power off
This patch enhances ipmitool power driver to support SOFT_REBOOT
and SOFT_POWER_OFF.

Partial-Bug: #1526226
Change-Id: If01721625c22a578b4311b82104cd895139e3a01
2017-01-13 11:40:20 +09:00
Jenkins
90b34a34ea Merge "Allow to set min,max API microversion in tempest" 2017-01-12 23:50:24 +00:00
Jenkins
0588db3415 Merge "Fix logging if power interface does not support timeout" 2017-01-12 20:01:59 +00:00
Jenkins
683f7c004d Merge "Fix take over for ACTIVE nodes in PXEBoot" 2017-01-12 18:44:36 +00:00
Jenkins
3817c8eb12 Merge "Skip VIF api tests for old api versions" 2017-01-12 18:11:41 +00:00
Vasyl Saienko
76b91709ae Allow to set min,max API microversion in tempest
This patch introduce new devstack variables to set min and max Ironic
API version to allow skip tempest tests.

 TEMPEST_BAREMETAL_MIN_MICROVERSION
 TEMPEST_BAREMETAL_MAX_MICROVERSION

Update release documentation.

Related-Bug: #1655888
Change-Id: Id6d36280f622549a2877aab99c11e4008af67fe7
2017-01-12 09:12:04 -08:00
Jenkins
b0ca1b9ed0 Merge "Fix assertEqual parmeters position in unittests" 2017-01-12 16:15:34 +00:00
Jenkins
ceb9817de2 Merge "Don't translate exceptions w/ no message" 2017-01-12 16:10:29 +00:00
Vasyl Saienko
6d489ef03d Skip VIF api tests for old api versions
This patch ensures that VIF api tests are not launched on installations
with unsupported Ironic API version < 1.28.

Change-Id: I6f562aed6307915fb5ff158b91bdb595d62f1f6f
Related-Bug: #1655888
2017-01-12 14:38:30 +00:00
Vasyl Saienko
daa17e0600 Fix assertEqual parmeters position in unittests
This patch updates drivers/modules/network/common tests to use
assertEqual(expected, actual). Fix docstring formatting.

Change-Id: Ia9b75f4db07c1ac264255dddd2371a4353407ae1
2017-01-12 12:36:58 +00:00
Charlle Daniel
2505cb58f7 Ensures that OneView nodes are free for use by Ironic
Following the requirement. The validation is used within
"OneViewPower.validate". As a result it enforces that a machine
is owned by OneView, thus it cannot be powered on or off by the
Ironic driver. Raising an exception when the node is owned by
Oneview.

Change-Id: Ibf500577b7a3b5976fd49fd217c1be3d3e9c0f46
Closes-Bug: 1627034
Co-Authored-By: Stenio Araujo <steniaraujo@lsd.ufcg.edu.br>
2017-01-12 12:22:07 +00:00
Jenkins
469e4cae31 Merge "Move default image logic from DevStack to Ironic" 2017-01-12 11:51:40 +00:00
Jenkins
1e49c7b07b Merge "Add Virtual Network Interface REST APIs" 2017-01-11 22:10:08 +00:00
Jenkins
18e3d4797b Merge "Add lsblk to ironic-lib filters" 2017-01-11 20:55:44 +00:00
Lucas Alvares Gomes
39fe7c7a2f Move default image logic from DevStack to Ironic
This patch is moving the logic setting the default images from DevStack
into the Ironic tree. A TODO was left inline pointing out we can
refactor the logic there after we get this merged and the devstack code
removed.

Change-Id: Id828b41dc44113ce1cd094ce5fc245989699d4ff
2017-01-11 17:41:37 +00:00
Lucas Alvares Gomes
df711eaea0 Document HCTL for root device hints
This patch is documenting the new root device hint: HCTL and adding a
release note for it.

Closes-Bug: #1648036
Change-Id: Ie7ef0e25aed50ea5372d7cfe80778575f8560271
2017-01-11 16:15:25 +00:00
Jenkins
c7781fccd5 Merge "Fix bashate warning in devstack plugin" 2017-01-11 16:04:34 +00:00
Jenkins
c795322fc4 Merge "Updated from global requirements" 2017-01-11 13:53:27 +00:00
Sam Betts
4789d3b41a Add Virtual Network Interface REST APIs
This patch adds the REST APIs for the virtual network interface API in
order to abstract the task of assigning logical network interfaces to
physical network interfaces.

Since Newton Ironic provides an interface for pluggable network
implementations. Different network implementations may want to handle
how logical to physical network interface assignment happens. To do this
the new API calls into new functions on the network implementation
loaded for the specified node.

This is part 3 of 3, and adds the node vif subcontroller to expose the
/nodes/<ident>/vifs REST API endpoint. API version is bumped to 1.28.

Co-Authored-By: Vasyl Saienko (vsaienko@mirantis.com)
Change-Id: I70f1166a15a26f392734e21d6bc30a03da4e5486
Partial-Bug: #1582188
2017-01-11 15:08:26 +02:00
Jenkins
c9427a010a Merge "Correct logging of loaded drivers/hardware types/interfaces" 2017-01-11 12:30:49 +00:00
Vladyslav Drok
1bc5bbcc46 Fix logging if power interface does not support timeout
Change-Id: I84d7f0dd97d2ee6ec08f2443ad8a1bca2222f2d5
2017-01-11 11:32:27 +00:00