summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Always fall back from hard linking to copying filesbugfix/21.2Dmitry Tantsur2023-04-113-107/+40
| | | | | | | | | | | | | The current check is insufficient: it passes for Kubernetes shared volumes, although hard-linking between them is not possible. This patch changes the approach to trying a hard link and falling back to copyfile instead. The patch relies on optimizations in Python 3.8 and thus should not be backported beyond the Zed series to avoid performance regression. Change-Id: I929944685b3ac61b2f63d2549198a2d8a1c8fe35 (cherry picked from commit 59c6ad96ce35c9deecfedb5698c5806f3883a8af)
* Add error logging on lookup failures in the APIDmitry Tantsur2023-04-041-1/+5
| | | | | | | | Lookup returns generic 404 errors for security reasons. Logging is the only way of debugging any issues during it. Change-Id: I860ed6b90468a403f0f6cdec9c3d84bc872fda06 (cherry picked from commit 21437135ab3a8c9aa2fea99c48ab42eb45630941)
* Merge "Do not move nodes to CLEAN FAILED with empty last_error" into bugfix/21.2Zuul2023-03-249-27/+80
|\
| * Do not move nodes to CLEAN FAILED with empty last_errorDmitry Tantsur2023-03-079-27/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cleaning fails, we power off the node, unless it has been running a clean step already. This happens when aborting cleaning or on a boot failure. This change makes sure that the power action does not wipe the last_error field, resulting in a node with provision_state=CLEANFAIL and last_error=None for several seconds. I've hit this in Metal3. Also when aborting cleaning, make sure last_error is set during the transition to CLEANFAIL, not when the clean up thread starts running. While here, make sure to log the current step in all cases, not only when aborting a non-abortable step. Change-Id: Id21dd7eb44dad149661ebe2d75a9b030aa70526f Story: #2010603 Task: #47476 (cherry picked from commit 9a0fa631ca53b40f4dc1877a73e65ded8ac37616)
* | Fix online upgrades for Bios/TraitsJulia Kreger2023-03-153-12/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... And tags, but nobody uses tags since it is not available via the API. Anyhow, the online upgrade code was written under the assumption that *all* tables had an "id" column. This is not always true in the ironic data model for tables which started as pure extensions of the Nodes table, and fails in particular when: 1) A database row has data stored in an ealier version of the object 2) That same object gets a version upgrade. In the case which discovered this, BIOSSetting was added at version 1.0, and later updated to include additional fields which incremented the version to 1.1. When the upgrade went to evaluate and iterate through the fields, the command failed because the table was designed around "node_id" instead of "id". Story: 2010632 Task: 47590 Change-Id: I7bec6cfacb9d1558bc514c07386583436759f4df (cherry picked from commit cbe5f86ce7c100f834701cf43f7b9b1bfdfb9ea5)
* | Merge "Configure CI for bugfix/21.2" into bugfix/21.2Zuul2023-03-143-5/+18
|\ \ | |/ |/|
| * Configure CI for bugfix/21.2Dmitry Tantsur2023-03-063-5/+18
| | | | | | | | Change-Id: I877dc3ee2ee28b52a066ce9b77cddf8a53ce4d07
* | Update .gitreview for bugfix/21.2OpenStack Release Bot2023-03-061-0/+1
|/ | | | Change-Id: Ibdbdcc6a67e11f251e0b21bd3ec4b4843076e479
* Fixes for tox 4.0Jay Faulkner2023-03-061-3/+9
| | | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93 (cherry picked from commit ef772c2c1e84769a982c54ec8832e2a06b8f1911)
* Merge "Ironic doesn't use metering; don't start it in CI"21.2.0Zuul2022-12-141-1/+0
|\
| * Ironic doesn't use metering; don't start it in CIJay Faulkner2022-12-131-1/+0
| | | | | | | | | | | | | | We don't use metering. We do use every byte of ram we can get our hands on. Change-Id: I839c7fd4cb6fe8661a25e6b4e00650575ae17520
* | Merge "Catch any exception for Cleaning"Zuul2022-12-132-2/+11
|\ \ | |/ |/|
| * Catch any exception for CleaningJulia Kreger2022-12-122-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No exception is used to communicate back, the exceptions are used to catch failures, and if we don't catch other possible exceptions leaving cleaning states, we may not clean up state properly. So instead of specific exceptions, we just catch any exception like is used earlier in the same method. Inspired by https://review.opendev.org/c/openstack/ironic/+/866856 and investigation through the code base as a result of inability to clean the node. Change-Id: I2a6bca3550819b98adbaffe315f77427b8a43d62
* | Merge "Fix unit tests for Python 3.11"Zuul2022-12-121-12/+13
|\ \
| * | Fix unit tests for Python 3.11Riccardo Pittau2022-12-071-12/+13
| |/ | | | | | | | | | | | | | | Mocks can no longer be provided as the specs for other Mocks. See https://github.com/python/cpython/issues/87644 and https://docs.python.org/3.11/whatsnew/3.11.html for more info. Change-Id: If7c10d9bfd0bb410b3bc5180b737439c92e515da
* | Merge "[grenade] Explicitly enable Neutron ML2/OVS services in the CI job"Zuul2022-12-121-0/+13
|\ \
| * | [grenade] Explicitly enable Neutron ML2/OVS services in the CI jobSławek Kapłoński2022-12-091-0/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | As with [1] basic grenade job will be switched to run with OVN as Neutron backend, which is default in Devstack, we need to explicitly disable ML2/OVN neutron services in the ironic-grenade job and use ML2/OVS related services in that job. Depends-On: https://review.opendev.org/c/openstack/devstack/+/867065 [1] https://review.opendev.org/c/openstack/grenade/+/862475 Change-Id: I2ef96d1b3e19004f05253dfae508e9f07ae58f63
* | Merge "Fixes anaconda deploy for PXE boot"Zuul2022-12-125-0/+26
|\ \
| * | Fixes anaconda deploy for PXE bootNisha Agarwal2022-10-075-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the anaconda deploy(URL based) and adds anaconda_boot entry to pxe_grub_config.template so that ProLiants can be also deployed in PXE mode. Story: 2010347 Task: 46490 Change-Id: I4b9e3a2060d9d73de5cab31cc08d3a764dc56e90
* | | Follow-up to Redfish Interop ProfileAija Jauntēva2022-11-303-41/+42
| |/ |/| | | | | | | | | | | | | | | Follow-up to change I058ceadab33f6969157b89aca5ba34ebd0be2a93 to mark some properties recommended, move documentation and update contact information. Co-Authored-By: Mike Raineri <michael.raineri@gmail.com> Change-Id: I493f9402e15fa78bc5dae9d9bcbb124146f0d026
* | Merge "Get inventory from Inspector"Zuul2022-11-282-1/+40
|\ \
| * | Get inventory from InspectorJakub Jelinek2022-11-222-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | Get inventory data and store it in the local database. Story: 2010275 Task: 46204 Change-Id: Id2e1462362e97d0152f3948e978a05ec16ca8e4d
* | | Merge "Create 'redfish' driver Redfish Interop Profile"Zuul2022-11-252-0/+251
|\ \ \
| * | | Create 'redfish' driver Redfish Interop ProfileRichard Pioso2022-11-092-0/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Digambar Patil <digmabar.patil@dell.com> Co-Authored-By: Mike Raineri <michael.raineri@gmail.com> Co-Authored-By: Pranjali Shrivastava <pranjali.shrivastava@dell.com> Co-Authored-By: Dhuldev Valekar <dhuldev.valekar@dell.com> Story: 2007345 Task: 38889 Change-Id: I058ceadab33f6969157b89aca5ba34ebd0be2a93
* | | | Merge "Align iRMC driver with Ironic's default boot_mode"Zuul2022-11-254-17/+33
|\ \ \ \
| * | | | Align iRMC driver with Ironic's default boot_modeVanou Ishii2022-11-064-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit modifies iRMC driver to use ironic.conf [deploy] default_boot_mode as default value of boot_mode. Before this commit, iRMC driver assumes Legacy BIOS as default boot_mode and value of default_boot_mode doesn't have any effect on iRMC driver's behavior. Story: 2010381 Task: 46643 Change-Id: Ic5a235785a1a2bb37fef38bd3a86f40125acb3d9
* | | | | Merge "Add ports statistics to tools/benchmark scripts"Zuul2022-11-222-20/+155
|\ \ \ \ \
| * | | | | Add ports statistics to tools/benchmark scriptsHarald Jensås2022-11-182-20/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the scripts in tools/benchmark to enable benchmarking ports as well. Change-Id: Ida42e8b7c483d905dbc4226d695f35aca77a8722
* | | | | | Merge "Change boot_interface order of iRMC driver"Zuul2022-11-222-2/+28
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Change boot_interface order of iRMC driverVanou Ishii2022-11-062-2/+28
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change aligns the boot interface order of the irmc hardware type to match the other hardware type interface order lists. This change is a result of an operator reporting inconsistent behavior of ironic when they are adding nodes using the irmc hardware type, where they would default to use the "irmc-pxe" boot interface, where as the other interfaces would end up defaulting to "ipxe". Change-Id: I017c6560f9de884eefb2c1925321380cc1c721e2
* | | | | Merge "Implements node inventory: database"Zuul2022-11-1614-0/+416
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Implements node inventory: databaseJakub Jelinek2022-11-1514-0/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepare the ironic database to accommodate node inventory received from the inspector once the API is implemented. Story: 2010275 Task: 46204 Change-Id: I6b830e5cc30f1fa1f1900e7c45e6f246fa1ec51c
* | | | | [doc] Add documentation on SMART test after disk burn-inArne Wiebalck2022-11-161-0/+7
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add documentation for 'agent_burnin_fio_disk_smart_test' option for disk burn-in. Story: #2007523 Task: #43383 Change-Id: I686acddeb353839b045d5c0ad944114cb938f414
* | | | Imported Translations from ZanataOpenStack Proposal Bot2022-11-051-8/+11
|/ / / | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I483c819b83bd8a90d336b089f18a0a3f900a5531
* | | Merge "Cross test sushy with python 3.10"Zuul2022-11-041-2/+4
|\ \ \
| * | | Cross test sushy with python 3.10Riccardo Pittau2022-10-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | We don't test python 3.8 anymore in antelope Change-Id: I4748f14f7a75ae9da204ffafb61c8e495822f040
* | | | Merge "Fix the invalid glance client test"Zuul2022-11-044-16/+30
|\ \ \ \
| * | | | Fix the invalid glance client testDmitry Tantsur2022-10-314-16/+30
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It relied on mocking tenacity.retry, but it's executed on class initialization. Depending on the ordering, it may do nothing or it may replace ImageService.call with a mock. Instead, add a new tenacity helper that loads an option in runtime. As a nice side effect, [glance]num_retries is now mutable. Change-Id: I2e02231d294997e824db77c998ef8d352fa69075
* | | | Merge "Fix the anaconda deploy for the ISO mounted"Zuul2022-11-033-12/+22
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Fix the anaconda deploy for the ISO mountedNisha Agarwal2022-09-293-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the anaconda deploy for the ISO mounted on a webserver. Story: 2010322 Task: 46429 Change-Id: I2860faa7322116ffef1255709fe12f806257b069
* | | Replace more instances of model_queryJulia Kreger2022-10-272-288/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The model_query call results in a nested read transaction, that does not seem to play well with SQLite support. Since it's inherently relying on the query style deprecated in SQLAlchemy 2.0, we need to migrate away from this call. As an intermediate step, change instances of model_query to session.query, making sure every call creates a session that lives as long as is needed to fetch the results. Removes a unit test which was built around creating a fake deadlock condition to test that oslo_db was working as expected. It's interaction was totally mocked, and in retooling the base method there was no easy to keep the same test logic around. Co-Authored-By: Dmitry Tantsur <dtantsur@protonmail.com> Change-Id: Ic8b1d964f7be5784e01c89bfb6c0277ea82eec2d
* | | Merge "Fix double mock call in glance_service test"Zuul2022-10-261-16/+14
|\ \ \
| * | | Fix double mock call in glance_service testRiccardo Pittau2022-10-201-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using autospec with the most recent python-mock is more strict and tests fail if a resource is already mocked out. For an example see the failing ironic tests in the u-c patch [0] [0] https://3a727b96f9b24e3543ad-87ad413497532cf6afb3c89ad083bf93.ssl.cf1.rackcdn.com/855711/11/check/cross-ironic-py310/b1d5058/job-output.txt Change-Id: I1cf0e077417d01a8714bad96b7e90ef786f94b2e
* | | | Do not disable autocommit until we fully migrateDmitry Tantsur2022-10-241-1/+3
| |_|/ |/| | | | | | | | | | | | | | | | | Some dbapi calls are still relying on it (e.g. touch_conductor apparently), causing sqlite databases to get locked. Change-Id: If17d49ef434cf60876a81dae8e5ddaa6dc45e707
* | | Merge "Switch to 2023.1 Python3 unit tests and generic template name"Zuul2022-10-201-2/+2
|\ \ \ | |/ / |/| |
| * | Switch to 2023.1 Python3 unit tests and generic template nameOpenStack Release Bot2022-09-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for antelope. Also, updating the template name to generic one. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: Ie1e2138b16929c204235e459df5f9c26885140ab
* | | Merge "Add support auth protocols for iRMC"Zuul2022-10-196-11/+39
|\ \ \
| * | | Add support auth protocols for iRMCShukun Song2022-09-296-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds new SNMPv3 auth protocols to iRMC which are supported from iRMC S6. Change-Id: Id2fca59bebb0745e6b16caaaa7838d1f1a2717e1 Story: 2010309 Task: 46353
* | | | Merge "Use project scoped token for cinder, glance services"Zuul2022-10-181-6/+0
|\ \ \ \
| * | | | Use project scoped token for cinder, glance servicesGhanshyam Mann2022-10-151-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All services except Ironic (and keystone to support ironic with system scope deployement), will not have system scope in their API policy instead they are default to project scoped. Change-Id: Id13a359086f9b24dbfcd2b565a42c50d0dab7736