8989 Commits

Author SHA1 Message Date
Lars Kellogg-Stedman
f369fdd334 ensure that socat serial proxy keeps running
Socat as configured would exit on client disconnect. Since there was
no active process monitoring, the process would (a) become a zombie,
and (b) would not restart, which would disable console access.

This commits adds the fork,max-children=1 parametesr to the socat
call, which makes socat persistent until it is explicitly killed.

Change-Id: I612cd9bca403b7a77ad3e671c1fdadd55353d5f7
Story: 2005024
Task:  29503
2019-02-15 15:50:55 -08:00
Zuul
8978237388 Merge "Build ISO out of EFI system partition image" 2019-02-15 16:16:42 +00:00
Julia Kreger
dabb9a48e9 Add a requisite for metadata with BFV
We documented this in the spec, but not in the actual admin
documentation.

Adding a note to clarify the case and why.

Change-Id: I5c911d2f58d153b0554ace3f80920f8781ade1de
2019-02-14 07:16:27 -08:00
Zuul
e34941c327 Merge "Prioritize sloppy nodes for power sync" 2019-02-14 07:02:48 +00:00
Zuul
0d19732089 Merge "Remove duplicated jobs and refactor jobs" 2019-02-13 16:26:17 +00:00
Hamdy Khader
bcf5b37c73 [Follow Up] Expose is_smartnic in port API
fix release note
fix baremetal port creation documentation

Change-Id: I3c04c6318fcc70d95f2de3a2c2b16a9adf82ca18
2019-02-13 11:32:37 +02:00
Zuul
352e37a36d Merge "Expose is_smartnic in port API" 2019-02-12 23:20:49 +00:00
Ilya Etingof
0d798372e1 Prioritize sloppy nodes for power sync
When scheduling nodes for periodic power sync, first deal with
the nodes that used to fail power syncing in the near past.

The aim here is to fail non-responsive nodes fast.

Change-Id: Id7f654369843c28b5edc213046f82c7bf15fed85
2019-02-12 17:46:53 +01:00
Kaifeng Wang
d4233e52a9 Expose conductors: api-ref
This patch updates API reference to contain the changes made
by the feature of exposing conductors.

Story: 1724474
Task: 28064

Change-Id: I47dbea2cda1cc0ad73786fe3fe9b80850e1cf289
2019-02-12 07:02:09 -08:00
Iury Gregory Melo Ferreira
3e1a7b4642 Remove duplicated jobs and refactor jobs
This is a follow-up from I96a96a9d6f23f02f9f49c962f183e8c5ca78e048
Removing the duplicated jobs after we have the patches for other
repositories merged.

Also we have refactor the jobs so we can use ironic-base in other
repositories jobs to avoid unnecessary code duplication

Depends-On: https://review.openstack.org/#/c/629494/
Change-Id: Icd4a486f176c8d7dbd78426c39097c169f27c0ae
2019-02-11 12:53:04 +01:00
Dmitry Tantsur
9741aed7be Allocation API: fix a small inconsistency
Currently the POST API returns "null" values for unspecified traits
or candidate_nodes fields, while the subsequent GET API will return
empty lists. This patch fixes it to always return empty lists.

Change-Id: Ia3de56e97f63ef06a1115ae6328a626e327a64af
Story: #2004341
2019-02-11 11:16:32 +01:00
Hamdy Khader
6325b6c13c Expose is_smartnic in port API
Changes are made to support ironic handling is_smarting port attribute
that was added in this change Ic2ffbd6f1035907ea5a18bda6d2b21e617194195

This change expose is_smartnic port field in REST API, updated API
reference to include is_smartnic field and relevent documentations.

API version updated to 1.53.

Story: #2003346
Change-Id: I89ce54a0c034f2a5f82ff961ab06cfcc6d853bd4
2019-02-10 12:10:00 +02:00
Zuul
506cb12160 Merge "Make power sync unit test operational" 2019-02-09 17:18:38 +00:00
Zuul
edf2db2f2e Merge "Allow case-insensitivity when setting conductor_group via API" 2019-02-09 01:01:16 +00:00
Zuul
b3c00fb118 Merge "Add support for Smart NICs" 2019-02-08 23:21:25 +00:00
Zuul
ddf224577a Merge "[Trivial] Allocation API: correct syntax in API version history docs" 2019-02-08 23:21:22 +00:00
Zuul
1dac3b22c8 Merge "Allocation API: REST API implementation" 2019-02-08 23:21:19 +00:00
Zuul
dc98f4cc26 Merge "Log a warning for Gen8 Inspection" 2019-02-08 19:38:45 +00:00
Zuul
8ebd9802ef Merge "Add a voting CI job running unit tests with driver-requirements" 2019-02-08 19:38:44 +00:00
Dmitry Tantsur
e64510e75c [Trivial] Allocation API: correct syntax in API version history docs
Change-Id: I5e7f1b82fe75c7984bd9fa9fd9979d27703ce048
Story: #2004341
2019-02-08 18:53:12 +01:00
Dmitry Tantsur
390a1c9a74 Allocation API: REST API implementation
This change introduces the API endpoints for allocation API:
* GET/POST /v1/allocations
* GET/DELETE /v1/allocations/<ID or name>
* GET/DELETE /v1/nodes/<ID or name>/allocation

Change-Id: Idf1a30d1a90b8c626d3b912c92844297e920d68c
Story: #2004341
Task: #28739
2019-02-08 18:47:25 +01:00
Ilya Etingof
2dfb0650d0 Make power sync unit test operational
The ParallelPowerSyncTestCase did not inherit from unit test
therefore never actually run. This patch fixes this problem.

Change-Id: I8a6811485baa1219781b7083479af2d8811e4c67
2019-02-08 17:17:02 +01:00
Jim Rollenhagen
c803488af2 Allow case-insensitivity when setting conductor_group via API
Since we use the new conductor group to calculate which conductor an
update_node message should go to, we need to lowercase the new
conductor_group value at the API level, rather than just before saving
the node object.

Change-Id: I5530f8e1c2fdff9008e008cfa0c63edaa04e81d9
Story: 2004947
Task: 29362
2019-02-08 09:35:55 -05:00
Zuul
e56f94acf8 Merge "Add description field to node: api-ref" 2019-02-08 07:03:43 +00:00
Zuul
0afda95f2e Merge "Optionally preserve original system boot order upon instance deployment" 2019-02-08 05:16:55 +00:00
Arne Wiebalck
206134cf58 Optionally preserve original system boot order upon instance deployment
By default, Ironic makes persistent changes to the system boot order
at the end of an instance deployment. This may not be desired in
all cases, e.g. when DC policies require to leave the persistent
system boot order unchanged.
While keeping the persistent approach as the default, this patch
proposes to extent the existing 'force_persistent_boot_device'
field in the node's driver_info for (i)PXE in a way that allows
to have all boot device changes to be non-persistent.

Change-Id: If3a19f74fb0dfbcff2cde4cd5a8cc1edf5de3058
Story: #2004846
Task: #29058
2019-02-07 22:51:56 +01:00
Hamdy Khader
a41c7a9592 Add support for Smart NICs
Extend Ironic to enable use of Smart NICs to implement
generic networking services for baremetal servers.

Extending the ramdisk, direct, iscsi and ansible deployment Interfaces
to support the Smart NIC use-cases.

For Smart NIC use-case the baremetal node must be powered on and
booted into bios then wait for agent that runs on the Smart NIC to be
alive then do the network changes required.

Task: #26932
Story: #2003346
Change-Id: I00d6f13dd991074e4f45ada4d7cf4ccc0edbc7e1
2019-02-07 15:24:34 +02:00
Zuul
4404292276 Merge "[Refactor] Make caching BIOS settings explicit" 2019-02-07 11:20:09 +00:00
Zuul
b1aab0270c Merge "[docs] OOB RAID implementation for ilo5 based HPE Proliant servers" 2019-02-07 05:30:01 +00:00
Zuul
1e93a48ef6 Merge "Add description field to node" 2019-02-07 03:52:45 +00:00
Dmitry Tantsur
15fafe686c Add a voting CI job running unit tests with driver-requirements
This seems to get broken quite often (RDO runs something similar).

Change-Id: I53fd5f86dfcee5b14318d4324c43d5f02b86702c
2019-02-06 19:14:53 +01:00
Dmitry Tantsur
699bd410c7 [Refactor] Make caching BIOS settings explicit
Currently we cache BIOS setting after calling apply_configuration or
factory_reset implicitly via a wrapper added in BIOSInterface.__new__.
It's confusing, and we did forget about this aspect when writing
unit tests for the new iLO BIOS interface. This results in unsufficient
mocking that breaks unit tests with proliantutils installed.

This patch moves caching BIOS settings to an explicit decorator and
fixes the mocking problem.

Change-Id: I704eccea484b36cb5056fdb64d3702738c22c678
Story: #2004953
Task: #29375
2019-02-06 19:08:18 +01:00
paresh-sao
903f796c98 [docs] OOB RAID implementation for ilo5 based HPE Proliant servers
Adds documentation for OOB RAID implementation using new hardware
type ``ilo5``.

Change-Id: Iafda73900b9ebca34642e6340a114f1fa7aff86d
Story: 2003349
Task: 24391
2019-02-06 10:51:16 +00:00
Zuul
0a8c9a25ed Merge "Make iLO BIOS interface clean steps asynchronous" 2019-02-06 07:37:38 +00:00
vmud213
335f6b4fd1 Make iLO BIOS interface clean steps asynchronous
Make iLO BIOS interface clean steps asynchronous to ensure the
BIOS settings on the node are consistent with the settings stored
in the database. Node goes through the power cycle after the
settings are applied. Once the node reboots, ironic gets the current
settings from the node, caches the settings in the database,
checks for any errors from the status message and marks the clean
step as failed or success accordingly.

Change-Id: I00deaa2f2b68d2a34f8592ea20c36349a87d6c23
Story: #2004066
Task: #27074
2019-02-05 05:31:17 +00:00
Zuul
d9ed28b596 Merge "Provides mount point as cinder requires it to attach volume" 2019-02-04 16:39:36 +00:00
mvpnitesh
57037378be Provides mount point as cinder requires it to attach volume
This patch provides a mount point which is required by cinder to
attach the volume to the baremetal, when the volume targets are
created for any node.

Story: 2004864
Task: 29107

Change-Id: Id2a2e071026b86a6fd586a998bf865b1ddb960d7
2019-02-04 13:19:27 +00:00
Zuul
0516356ddb Merge "Parallelize periodic power sync calls follow up" 2019-02-02 12:08:28 +00:00
Zuul
c9aa36b78c Merge "Parallelize periodic power sync calls" 2019-02-02 11:57:17 +00:00
Zuul
69baaca23d Merge "Fix test for 'force_persistent_boot_device' (i)PXE driver_info option" 2019-02-01 12:09:21 +00:00
Zuul
5bb519c4af Merge "Fix iPXE boot interface with ipxe_enabled=False" 2019-02-01 05:29:29 +00:00
Kaifeng Wang
96bc6729cf Add description field to node: api-ref
Update api-ref to include the description field.

Also updated a few missing owner field.

Change-Id: I81c5bf1be18ac4109f0e5ef66193ff66f484d107
Story: 2003089
Task: 23178
2019-02-01 10:37:04 +08:00
Kaifeng Wang
d30d814956 Add description field to node
This patch implements the feature of storing informational free-form text
into ironic node, via the "description" field.

Operators can do simple queries on the context of description.

Change-Id: I787fb0df34566aff30dea4c4a3ba0e1ec820d044
Story: 2003089
Task: 23178
2019-02-01 10:25:58 +08:00
Arne Wiebalck
2aaa6744ca Fix test for 'force_persistent_boot_device' (i)PXE driver_info option
The string used for the 'force_persistent_boot_device' field in the
node's driver_info is split by an additional blank and hence doesn't
set the option to be tested. In addition, the test condition tests a
mostly independent call (which also explains why the test succeeds
despite the incorrect option).

This patch removes the incorrect test and introduces new ones to
test the signature of prepare_ramdisk() which is the function in
which 'force_persistent_boot_device' is actually used.

Change-Id: I0b6a298837306fb8c6a46c13612b003dc62a7850
2019-01-31 22:14:19 +01:00
Zuul
680e5b5687 Merge "Allocation API: conductor API (without HA and take over)" 2019-01-31 19:28:46 +00:00
Dmitry Tantsur
cede60388c Fix iPXE boot interface with ipxe_enabled=False
If ipxe_enabled=False, Ironic still tried to download images into
the TFTP location, which could fail. This patch fixes it.

Story: #2004905
Task: #29253
Change-Id: I5958eeb0d9de59a34145dd899354bf2a1a115dde
2019-01-31 14:33:11 +01:00
Zuul
8bb3b8752c Merge "Removing deprecated drac_host property" 2019-01-31 13:15:05 +00:00
Zuul
b77bb0d182 Merge "Make versioned notifications topics configurable" 2019-01-31 12:16:11 +00:00
Dmitry Tantsur
96b9d9de07 Allocation API: conductor API (without HA and take over)
This change introduces the two RPC calls required for the allocation
API: create_allocation and destroy_allocation.

The nodes RPC is updated to:
* Prevent instance_uuid deletion if a node has an allocation and is
  not in an updatable state.
* Delete allocation when instance_uuid is deleted and the node is
  in an updatable state.
* Delete allocation when a node is unprovisioned and instance_uuid
  is thus cleared.

Change-Id: I45815727f970c3d7fe51bb78d8e162a374d12e04
Story: #2004341
Task: #27987
2019-01-31 13:01:09 +01:00
Zuul
7794e29ed6 Merge "Add is_smartnic to Port data model" 2019-01-31 10:24:10 +00:00