9705 Commits

Author SHA1 Message Date
Dmitry Tantsur
7a7e9689a3 Implement managed in-band inspection boot for redfish-virtual-media
The current vmedia job is switched to test inspection as well.

Change-Id: I077d9dd4b527fc090833587e62af352b20788458
Story: #1528920
Task: #37646
2019-12-13 00:32:38 +00:00
Dmitry Tantsur
2e33669b41 redfish-vmedia: correctly pass ipa-debug
The PXE/iPXE boot interfaces pass ipa-debug=1 when debugging is
enabled in ironic. The vmedia boot interface should do the same.

Change-Id: Ifd97eeebc95845a32c2d3ece513c25fdb52812d3
2019-12-13 00:32:11 +00:00
Ilya Etingof
200959b903 Add a CI job to UEFI boot over Redfish virtual media
Adds a job to boot a node over Redfish virtual media in UEFI boot
mode.

Turns similar BIOS boot mode job non-voting to avoid CI
failure on non-essential job failure.

Change-Id: Iaabd09a7acbbd692dd72adcf6867981bcc30877e
2019-12-13 00:31:58 +00:00
Zuul
e80b8ea530 Merge "Update nova os-server-external-events response logic" 2019-12-12 22:30:11 +00:00
Zuul
4b28072d4b Merge "Add owner to allocations and create relevant policies" 2019-12-12 19:53:55 +00:00
Zuul
746c988663 Merge "Add a CI job to legacy boot over Redfish virtual media" 2019-12-12 18:43:14 +00:00
Madhuri Kumari
b293eb1af0 Remove deprecated ironic-agent element
ironic-agent is deprecated. ironic-python-agent-ramdisk is the new
element to build a ramdisk with ironic-python-agent

Change-Id: Ib9feb0bb9ccc97f7eb3f0669db05b98d96fbe918
2019-12-12 12:10:16 +05:30
Tzu-Mainn Chen
3fbb560af1 Add owner to allocations and create relevant policies
Add an owner to allocations. Depending on policy, a non-admin
can then create an allocation and have the owner set to their
project. Allocation processing then respects the owner.

Change-Id: I2965a4a601b9fa2c0212097da37b104a3e5514df
Story: #2006506
Task: #37540
2019-12-10 19:00:33 +00:00
Dmitry Tantsur
570317e400 CI: do not enable rescue on indirect jobs
They get it enabled because of their parent.

Change-Id: I12083867fa5e0020410e87fb06bc64ef42bc4d38
2019-12-10 17:11:27 +01:00
Eric Fried
950acaaf17 Update nova os-server-external-events response logic
When the power update was written [1] to use nova's
os-server-external-events API, the internals of that method had a bug
(see the related bug). Fortunately, the code was written so it works
against the nova side with or without the fix. However, for the sake of
propriety, this commit refactors the code to reflect nova's behavior
more accurately.

Specifically: Previously, it was impossible for nova to respond 207 when
the client sent a single event (as ironic does). The code path
accounting for that 207 existed, but always returned True ("success")
rather than returning False ("failure") if the event code was >=400.
Fortunately, the return value is only ever used in unit test, not
production code, so it didn't matter.

With this commit, the 207 path is handled correctly, such that the
method "succeeds" if the event code is <400 (which would never happen in
real life) and "fails" if the event code is >=400.

[1] I6d105524e1645d9a40dfeae2850c33cf2d110826
Related-Bug: #1855752

Change-Id: I13744175127e9956fb785a9efc82193c333b2bdc
2019-12-10 09:28:23 -06:00
Dmitry Tantsur
8a0b1a39f2 docs: add a missing heading
Change-Id: Iee4a9f4f13a9bd944e193e2cf09debc8fd8c21bc
2019-12-05 16:23:37 +01:00
Zuul
a32ef7e76f Merge "Prevent localhost from being used as ironic-inspector callback URL" 2019-12-04 18:42:12 +00:00
Ilya Etingof
dcd701b4a0 Add a CI job to legacy boot over Redfish virtual media
Adds a job to boot a node over Redfish virtual media in legacy
BIOS boot mode. For sake of unification, similar PXE job has been
renamed.

Apparently, libvirt-based Redfish BMC emulation requires node
power-cycle for libvirt domain configuration changes to take
effect.

Change-Id: I2c7fc26b082db6eeae1abcd67362884a9c72c109
2019-12-04 14:59:08 +01:00
Zuul
6efcfd8c5f Merge "Fix UEFI NVRAM collision in devstack" 2019-12-04 00:11:29 +00:00
Zuul
388cace718 Merge "Add an ironic-inspector job with managed boot" 2019-12-03 20:25:11 +00:00
Zuul
1c28397614 Merge "Add indicator management to redfish hw type" 2019-12-02 15:50:52 +00:00
Ilya Etingof
10abf8834c Fix UEFI NVRAM collision in devstack
When configuring VMs in devstack booting in UEFI mode, make sure
that each libvirt domain has its own UEFI NVRAM store. Otherwise
funny things can happen ultimately leading to EFI shell popping
up crying for help.

Change-Id: I03eddde04211ceb6f0bd9438fafab34c515c4fa9
2019-12-02 14:06:32 +01:00
Ilya Etingof
3eb1ca6338 Make redfish CI jobs pulling sushy-tools from git
Otherwise Depends-On sushy-tools does not seem to work.

Depends-On: https://review.opendev.org/693561
Change-Id: Iea32b98a57713b70b535eb524b165cbeb141199f
2019-11-28 12:22:56 +01:00
Zuul
7ee6174b4d Merge "Add timeout when querying agent's command statuses" 2019-11-28 07:09:08 +00:00
Dmitry Tantsur
b6035d6137 Prevent localhost from being used as ironic-inspector callback URL
At least bifrost used to do it, so it's better to prevent users
from shooting their legs.

Change-Id: Idf25d9f434483f023ad7a40b6c242635ab89a804
Story: #1528920
2019-11-27 16:28:35 +01:00
Dmitry Tantsur
71c03410ae Add an ironic-inspector job with managed boot
Change-Id: Iacc26bcebb16b8baec5cf03cf53b5e7a22ea0ea7
Depends-On: https://review.opendev.org/#/c/688920/
2019-11-27 16:28:26 +01:00
Zuul
d1cfeb0a09 Merge "Drop python 2.7 support and testing" 2019-11-27 14:10:33 +00:00
Vladyslav Drok
33a84d94eb Add timeout when querying agent's command statuses
Otherwise the node can get locked up for a significant amount of time.
It conforms to the behaviour of all other (POST) HTTP requests done to
agent.

Story: 2006946
Task: 37626
Change-Id: I968606a300bc43675d7bd07f73de37967ef80c26
2019-11-26 12:16:32 +00:00
Zuul
7a8d740c68 Merge "Wire in in-band inspection for PXE boot and neutron-based networking" 2019-11-26 10:50:31 +00:00
Zuul
65133ae982 Merge "Foundation for boot/network management for in-band inspection" 2019-11-26 10:50:27 +00:00
Zuul
e49ccfbdc1 Merge "Add instance_info/kernel_append_params to redfish" 2019-11-25 23:39:30 +00:00
Zuul
b7dc809198 Merge "Mock out the correct greenthread sleep method" 2019-11-25 18:37:02 +00:00
Zuul
a0f64402cc Merge "docs: update the local development quickstart to use JSON RPC" 2019-11-25 14:58:22 +00:00
Dmitry Tantsur
daa26b85db docs: update the local development quickstart to use JSON RPC
No need to make everyone install rabbitmq just to play with ironic.
Also make it clearer that MySQL is not required.

Change-Id: Ib286f30f16579815ca05c8477f7fd446cad6e453
2019-11-25 12:52:26 +01:00
Iury Gregory Melo Ferreira
b869b46c63 Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

Ironic is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal - https://review.opendev.org/#/c/691178/

Change-Id: I3cc36d79ffabf31607d503dada9e7512c639647c
2019-11-22 14:06:45 +01:00
Kaifeng Wang
6ad4833b0e Remove unused migration tests
Follow up to https://review.opendev.org/694718, these was supposed to be
removed there.

Change-Id: I96fbbb7c1ae105abb1ba83f722f961abdc58bc1d
2019-11-22 11:05:29 +08:00
Zuul
516f04caf7 Merge "Don't install syslinux-nonlinux on rhel7" 2019-11-21 19:35:54 +00:00
Dmitry Tantsur
e9824d11d1 Wire in in-band inspection for PXE boot and neutron-based networking
This change implements in-band inspection support for PXE and iPXE
boot interfaces and all in-tree network interfaces.

Story: #1528920
Task: #23184
Change-Id: I470d55add73bae47a2755cde93d4b1e1f30e94a7
2019-11-21 13:33:58 +01:00
Dmitry Tantsur
c5dfa1bd9f Foundation for boot/network management for in-band inspection
This change the required base driver interface additions and inspector
interface changes to support in-band inspection driven by ironic.

Change-Id: Ibf9a80d0f72d5f128bf46ddca4cb9762c9a8191b
Story: #1528920
Task: #10404
2019-11-21 13:31:47 +01:00
Ilya Etingof
605f744570 Add instance_info/kernel_append_params to redfish
Adds `instance_info/kernel_append_params` property support to
`redfish` hardware type. If given, this property overrides
`[redfish]/kernel_append_params` ironic option.

The rationale for adding this property is to allow passing
node-specific kernel parameters to instance kernel.

One of the use-cases for this is to pass node static network
configuration to the kernel.

Change-Id: Ib1617f5a7ab34968d8bfe06fe49f3ba68e56f99f
Story: 2006691
Task: 36988
2019-11-21 12:39:53 +01:00
Ilya Etingof
e8f2120405 Add indicator management to redfish hw type
Implements necessary indicator management calls to redfish driver
to actually read/set system/chassis and drive LEDs through Redfish.

The spec: https://review.opendev.org/#/c/655685/7/specs/approved/expose-hardware-indicators.rst

Change-Id: Ib9ccdfa41974cd353af8a517dc2917f129e49e03
Story: 2005342
Task: 30471
2019-11-21 12:35:24 +01:00
Zuul
8990e7dcbc Merge "Backward compatibility for the ramdisk_params change" 2019-11-21 08:46:01 +00:00
Vladyslav Drok
68a5e31a54 Mock out the correct greenthread sleep method
It seems at some point oslo_service loopingcall started using
eventletutils from oslo_utils to sleep during the loopingcall
retries, and some untittests started taking up to 40 seconds
to complete. This change mocks out the correct method offering
significant speedup to unittests' run time.

The EventletEvent class is introduced to eventletutils in version
3.38.0 so lower constraints are bumped as well.

Change-Id: Id7e6ff2a4748b5301e2259acdc760ac7f56b96c3
2019-11-20 17:52:33 +01:00
michaeltchapman
2231a93444 Don't install syslinux-nonlinux on rhel7
the syslinux tools are in the syslinux package on
rhel7 and friends, but in rhel8 have moved to
syslinux-nonlinux

Change-Id: Iea74c2be6fbd738f35f178fa189384dd37579277
2019-11-21 01:22:37 +11:00
Zuul
306aaccca6 Merge "Ensure text-only console in devstack" 2019-11-20 13:22:37 +00:00
Zuul
631294442f Merge "Pass correct flags during PXE cleanup in iPXEBoot" 2019-11-20 11:26:46 +00:00
Zuul
5ed42147d7 Merge "Remove old online migration codes" 2019-11-20 09:33:06 +00:00
Zuul
389391fdb1 Merge "Drop [agent]heartbeat_timeout" 2019-11-20 08:01:18 +00:00
Zuul
0ee99def0b Merge "Ensure isolinux.bin is present and configured in devstack" 2019-11-20 05:06:40 +00:00
Ilya Etingof
c7a42bdbff Ensure text-only console in devstack
Apparently, now days system boot chain is tempted to display
fancy things on the console. While enjoyable, in non-text mode
libvirt guest console can't make it to the log file.

This change tries to ensure pure text mode kernel console in
PXE and Redfish booting by disabling any graphics in the VM
and in guest kernel.

Note that it's not only kernel that can control display mode,
but EFI boot loader as well.

For getting on VM's text console in devstack one could use
`virsh console --devname serial1 node-0` or just add `<graphics>`
section to `virsh edit node-0` XML.

Change-Id: I14f78bcef4173eeaf659ee589ca938e2698e3505
2019-11-19 16:36:21 +01:00
Vladyslav Drok
8e39fe9d44 Pass correct flags during PXE cleanup in iPXEBoot
They were not handled correctly and ipxe-related configs were left
after node tear down.

Story: 2006907
Task: 37549
Change-Id: I1ee6727d2fc52619544e327a10a62ae8a7e6f7fe
2019-11-19 12:39:54 +01:00
Zuul
6582471c05 Merge "Switch legacy jobs to Py3" 2019-11-18 16:52:23 +00:00
Zuul
eec5b2fd68 Merge "Stop supporting incompatible heartbeat interfaces" 2019-11-18 13:30:55 +00:00
Zuul
b6e72fbd1a Merge "Allow node owners to administer nodes" 2019-11-18 10:53:54 +00:00
Kaifeng Wang
6ec9677383 Drop [agent]heartbeat_timeout
The configuration option was deprecated before ocata (even earlier),
this patch drops the deprecated option.

Change-Id: I4cdff9a94aad580d22e93dcb5b9bd4aeef1412f8
2019-11-18 17:09:57 +08:00