11362 Commits

Author SHA1 Message Date
Dmitry Tantsur
414f0ca24e Switch multinode jobs to 512M RAM
384M no longer works reliably with newer tinyIPA.

Change-Id: I7e48b2e682dc0d5e6109e17b0e73ee9763a29d23
2021-02-15 16:20:24 +01:00
Zuul
ec61274e5f Merge "Move the IPv6 job to the experimental pipeline" 2021-02-15 12:13:46 +00:00
Zuul
a2cc1baa86 Merge "Address some rbac review feedback in merged patches" 2021-02-15 07:03:59 +00:00
Julia Kreger
bb30f9945c Add some tuning documentation
Change-Id: I56e3c45bf7ae89b3f96ee826565bf153908d1bf7
2021-02-13 14:28:07 +00:00
Zuul
d65c486592 Merge "Set default to prevent out of memory conditions" 16.2.0 2021-02-12 22:46:46 +00:00
Zuul
1adee0cf5d Merge "Introduce common personas for secure RBAC" 2021-02-12 18:20:34 +00:00
Zuul
4b6a18f24c Merge "Trivial: update version for deploy steps" 2021-02-12 18:12:30 +00:00
Zuul
52ff615c98 Merge "Guard conductor from consuming all of the ram" 2021-02-12 18:11:57 +00:00
Dmitry Tantsur
7c8d1e1e7f Move the IPv6 job to the experimental pipeline
It's broken for months and no effort is under way to fix it.

Change-Id: I88fb5733b3054c2ffa4660f3cb5bff3c852faa75
2021-02-12 17:08:47 +01:00
Dmitry Tantsur
7eadc52403 Trivial: update version for deploy steps
Change-Id: I4aac0a9f2e9bd1ae40f41722ab75e92f2a09cfef
2021-02-12 17:04:06 +01:00
Zuul
766d8f11b4 Merge "Add 'deploy steps' parameter for provisioning API" 2021-02-12 16:01:33 +00:00
Julia Kreger
e3ccb9ec22 Address some rbac review feedback in merged patches
Some of the early test changes for the RBAC work have merged
which is awesome, but a couple minor follow-up items should be
addressed. They are so minor it doesn't really make sense to merge
in with one of the patches in the chain.

Change-Id: I85de4d953237f240c3c220f6a57169c633fb295f
2021-02-12 06:56:31 -08:00
Lance Bragstad
e77d1b553a Introduce common personas for secure RBAC
This commit lays down some common personas we're trying to introduce
across OpenStack services. Later commits will use these personas in
ironic's existing policies.

This will help use improve the security posture of OpenStack as a whole
and provide a more consistent experience operators and end users.

Change-Id: I2960d0f808949582dc964f4f5688a462d397de9e
2021-02-12 06:42:08 -08:00
Zuul
497f349275 Merge "Duplicate testing for system scoped ACL testing" 2021-02-12 13:20:43 +00:00
Zuul
b22429fa8b Merge "Populate existing policy tests" 2021-02-12 13:20:10 +00:00
Zuul
71a875facc Merge "Prepare 16.2 and clean up release note" 2021-02-11 21:04:41 +00:00
Julia Kreger
d4ddc213e9 Duplicate testing for system scoped ACL testing
In order for us to understand if we're starting to break
compatability with scope changes, we need to at least have
some testing, someway, some place to provide insight.

Hopefully, this should provide that insight by running
the same API testing we run with by default.

Once we have fully defined the scoped authenticaiton
use requirements, we can begin to build the new test
matrix, but this gives us a start.

Change-Id: Ie12e2665c97326142b564b23603647ec9d97052c
2021-02-11 10:35:16 -08:00
Steve Baker
606549c1c9 Populate existing policy tests
Testing every combination of role, endpoint and policy rule would
result in a huge test count, so to make testing the existing policy
rules complete and practical, the following guidelines are suggested:

- Only the default policy is tested, so inactive rules such as
  is_node_owner, is_node_lessee are ignored.
- Each rule is tested completely on one endpoint which uses it.
- A rule (such as baremetal:node:list) which inherits a parent rule
  (baremetal:node:get) is considered covered by the parent test.
- All endpoints need at least one test, but other endpoints which share
  a fully tested rule only need one denied test which shows that they
  are covered by some policy.

Also adds the initial pass of contributor documentation on how the
rbac testing works to try and express the mechanics and what to
expect to aid in reviewing/updating/editing the rules.

Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Change-Id: I1cd88210e40e42f86464e6a817354620f5ab1d9c
2021-02-11 10:34:52 -08:00
Zuul
4e5c034187 Merge "Make boot_mode more consistent with other capabilities" 2021-02-11 14:24:31 +00:00
Dmitry Tantsur
189b5e40cd devstack: support installing ironic-lib from source in DIB IPA
Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/775153
Change-Id: I8734776bf59b5a34327624184c1c2360ccda330a
2021-02-11 14:46:49 +01:00
Dmitry Tantsur
af4a7b0d9c Prepare 16.2 and clean up release note
Change-Id: I6e5f0e560f3f125a83e0514c10bee664c17663f2
2021-02-11 13:12:04 +01:00
Dmitry Tantsur
e36d7af097 Report the slowest tests after a test run
Change-Id: Id9cf476f56f2f78b9e8adf6e736148e91916777d
2021-02-11 12:44:32 +01:00
Jacob Anders
05df3d7aa4 Use OOB inspection to fetch MACs for IB inspection
This change adds get_mac_addresses call to the ManagementInterface which will
be used by both out-of-band inspection and in-band inspection with
ironic-inspector. This will remove the necessity of manually defining MAC
addresses for nodes and/or enabling IPMI functionality on Redfish-based
systems.

Change-Id: I3debcd1f32a2627dafd8456ec73a71fc7c402ebb
Story: 2008038
Task: 40699
2021-02-11 17:03:18 +10:00
Steve Baker
235115099a Generate policy.yaml.sample
Generating a yaml file called policy.json.sample is a bit misleading
because the file is not valid json, this change fixes that, with the
intention that the user can copy policy.yaml.sample to
/etc/ironic/policy.yaml and make customizations.

Change-Id: Ie6d5c8c38d785005d2bf2dc8f9f7ac42c2e8f7fb
2021-02-11 11:52:51 +13:00
vmud213
7d4c1214ff Add support to manage certificates in iLO
Adds methods to export and clear certificates on the node during node
provisioning. Also enables to implement clean/deploy steps for certificate
management through these APIs.

Change-Id: Idc86d7b78854e0618f62c7e4c1a88670dc4561b0
Story: #2008297
Task: #41182
2021-02-10 05:57:38 +00:00
Zuul
af29f398cc Merge "Don't mark an agent as alive if rebooted" 2021-02-08 09:24:47 +00:00
Zuul
c3a80353c8 Merge "Prevent redfish-virtual-media from being used with Dell nodes" 2021-02-08 07:47:40 +00:00
Lance Bragstad
94ba2641e3 Update oslo.policy requirement to version 3.6.2
This version of oslo.policy includes fixes that ensure the Enforcer only
modifies copies of the rules, making it safer in environments that run
tests in parallel where the Enforcer is configured differently.

Change-Id: I8d7a06558cbf073487707fc33219e43beb5fc043
2021-02-05 21:03:39 +00:00
Zuul
f81843aa05 Merge "ilo: do not change deploy_boot_mode in instance_info" 2021-02-05 14:30:27 +00:00
Dmitry Tantsur
cf22604c58 Prevent redfish-virtual-media from being used with Dell nodes
Indicate that idrac-redfish-virtual-media must be used instead,
otherwise a confusing failure will happen.

Change-Id: I3b6ced6dcf03580903f5ea7237fc057f372999f9
2021-02-05 12:09:00 +01:00
Derek Higgins
4287951d71 Don't mark an agent as alive if rebooted
If 'agent_url' has been cleared from internal_info
it indicates that the node has been powered off.

Change-Id: Idba486c98e1e92d35fca2e2d156866566acb9e40
Story: 2008583
Task: 41736
2021-02-04 13:01:50 +00:00
Zuul
058b97b59c Merge "Trivial: log the newly detected vendor" 2021-02-04 08:46:18 +00:00
Zuul
e0ae9cdb8b Merge "Swap Metalsmith job out for centos8-uefi" 2021-02-03 19:15:13 +00:00
Zuul
f682dee6b0 Merge "Update python packages to python3 in quickstart.rst" 2021-02-03 17:41:41 +00:00
Aija Jauntēva
3138acc836 Add 'deploy steps' parameter for provisioning API
Story: 2008043
Task: 40705
Change-Id: I3dc2d42b3edd2a9530595e752895e9d113f76ea8
2021-02-03 11:47:53 -05:00
Dmitry Tantsur
b8a2dcaf86 Trivial: log the newly detected vendor
Change-Id: Ib751316a98d7a1c4469b405117c8e1fd1f296757
2021-02-03 17:31:54 +01:00
Zuul
f079531b98 Merge "Raw image size estimation improved" 2021-02-03 14:49:15 +00:00
Zuul
f4197a12ef Merge "Redfish secure boot management" 2021-02-03 14:43:06 +00:00
Zuul
f4142d4930 Merge "Apply force_persistent_boot_device to all boot interfaces" 2021-02-03 07:51:20 +00:00
Zuul
398872e756 Merge "Fix Mis-Ordering of Bash Variable Definition in DevStack" 2021-02-03 04:26:51 +00:00
Zuul
8d0cef5cb8 Merge "Add release version to release notes" 2021-02-03 03:19:19 +00:00
Zuul
d6bdf1adb0 Merge "Pass context objects directly to policy enforcement" 2021-02-02 16:17:16 +00:00
Julia Kreger
561ed90390 Swap Metalsmith job out for centos8-uefi
Depends-On: https://review.opendev.org/c/openstack/metalsmith/+/773701
Change-Id: Ide1a8988e12958e684670a340bf3c09d516ffa23
2021-02-02 07:01:43 -08:00
Mudit
1aea2040d0 More GPU support in idrac-wsman inspect interface
Enhance idrac wsman inspect interface to report an additional
GPU device, namely GV100GL [Tesla V100 PCIe 16GB].

Story: 2008552
Task: 41682
Change-Id: I368180a15bfa7d166d35cef4cdf9741e787046e8
2021-02-02 08:50:21 -05:00
Dmitry Tantsur
ccc6c551c3 Make boot_mode more consistent with other capabilities
All capabilities, except for boot_mode, are read from instance_info.
This change makes instance_info.capabilities[boot_mode] work as well
and deprecates instance_info.deploy_boot_mode.

Note that the special handling of properties.capabilities[boot_mode]
is kept in this patch.

Change-Id: Ic2e7fd4c71b7a7bc2950d17f7e1bbdad73bbb8a7
2021-02-02 12:06:17 +01:00
Dmitry Tantsur
6c8dad9465 ilo: do not change deploy_boot_mode in instance_info
instance_info is the input from an operator, we should not change that.
Use driver_internal_info instead.

Change-Id: I12b4bc0d4599ccf5ef6fdca91f54f4294b127f9d
2021-02-02 11:40:14 +01:00
Dmitry Tantsur
a5f7d75ba2 Apply force_persistent_boot_device to all boot interfaces
For some (likely historical) reasons we only use it for PXE and iPXE,
but the same logic applies to any boot interface (since it depends
on how the management interface and the BMC work, not on the boot
method). This change moves its handling to conductor utils.

Change-Id: I948beb4053034d3c1b4c5b7c64100e41f6022739
2021-02-01 13:37:20 +01:00
Riccardo Pittau
64ff84bd2b Add release version to release notes
Change-Id: I8ab394ebfde2f5d78255d293367b38d9140d7e34
2021-02-01 10:08:29 +01:00
Vanou Ishii
13e77e2179 Fix Mis-Ordering of Bash Variable Definition in DevStack
In devstack/lib/ironic, IRONIC_DEPLOY_DRIVER is defined at line 341.
However variables which use IRONIC_DEPLOY_DRIVER in default value
(e.g. IRONIC_DEPLOY_RAMDISK, IRONIC_DEPLOY_KERNEL, IRONIC_DEPLOY_ISO
and IRONIC_EFIBOOT) are defined at line 276-282.

This will cause problem at line 295-296:

 if [[ "$IRONIC_BUILD_DEPLOY_RAMDISK" == "False" && \
         ! (-e "$IRONIC_DEPLOY_RAMDISK" && -e "$IRONIC_DEPLOY_KERNEL")

So, this commit moves definition of IRONIC_DEPLOY_DRIVER before
its first use.

Change-Id: I74acb32714ce8830d4697fc796146b894aa7d8c9
2021-02-01 10:17:39 +09:00
ankit
2e6777d757 Fixes issue of redfish firmware update
Currently ilo5 based hardware does not support redfish
based firmware update. This patch fixes the issue by
making the change to to check whether sushy_task.messages
is present. It was also not calling prepare_ramdisk()
before rebooting the system to update the firmware which
has been fixed in this patch.

Change-Id: I9d70fed0de1829973748c06a1342d7a7af0f93d4
Story: #2008403
Task: #41339
2021-01-31 09:58:48 +00:00