f1a4aeb29a924a06ae025ae3ea7560f462cd72de
Commit Graph

58 Commits

Author SHA1 Message Date
Julia Kreger
eb95273ffb Add get_service_steps logic to the agent
Initial code patches for service steps have merged in
ironic, and it is now time to add support into the
agent which allows service steps to be raised to
the service.
Updates the default hardware manager version to 1.2,
which has *rarely* been incremented due to oversight.
Change-Id: Iabd2c6c551389ec3c24e94b71245b1250345f7a7
2023年08月31日 06:22:22 -07:00
likui
c274869756 Add python3.10 support in testing runtime
In 2023.2 cycle testing runtime, project started adding python 3.10
[1] https://governance.openstack.org/tc/reference/runtimes/2023.2.html
Change-Id: I6e3eb0c9dec4c48e1bf1c7c53b8c177775ec91eb
2023年07月31日 15:26:15 +08:00
Dmitry Tantsur
3e05a03f7c Deprecate LLDP in inventory in favour of a new collector
Binary LLDP data is bloating inventory causing us to disable its collection
by default. For other similar low-level information, such as PCI devices
or DMI data, we already use inspection collectors instead. Now that the
inventory format is shared with out-of-band inspection, having LLDP
there makes even less sense.
This change adds a new collector ``lldp`` to replace the now-deprecated
inventory field.
Change-Id: I56be06a7d1db28407e1128c198c12bea0809d3a3
2023年04月26日 19:33:51 +00:00
Riccardo Pittau
39d40d5bd2 Drop support for Python 3.6 and 3.7
It has been removed from Zed and we're now testing with Python 3.9 in
tinyipa and Python 3.8 in CentOS Stream 9
Change-Id: I028121d593b910e585f44e464c7fcb3e635420e8
2022年05月31日 09:46:49 +02:00
Dmitry Tantsur
2294db5126 Revert "The Python 3.6 and Python 3.7Support has been dropped since yaga"
This reverts commit c4d2851a13.
Reason for revert: 3.6 is not broken yet, except that this change
breaks it. Let us revert until we fully switch to Stream 9.
Change-Id: Ia2870135a90128f744afb9c45524ab003878843f
2022年05月16日 11:24:39 +00:00
likui
c4d2851a13 The Python 3.6 and Python 3.7Support has been dropped since yaga
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: Ifeec26e57dd2b2908da4f161032b37edf99cb8b8
2022年05月09日 15:29:33 +08:00
Zuul
e06dd22e78 Merge "Burn-in: Dynamic network pairing" 2022年01月20日 21:17:38 +00:00
Arne Wiebalck
7f15455d8d Burn-in: Dynamic network pairing
Pair nodes dynamically via a distributed coordination backend for
network burn-in. The algorithm uses a group to pair nodes: after
acquiring a lock, a first node joins the group, releases the lock,
waits for a second node, then they both leave, and release the lock
for the next pair.
Story: #2007523
Task: #42796
Change-Id: I572093b144bc90a49cd76929c7e8685ed45d9f6e
2022年01月10日 11:31:33 +01:00
Ghanshyam Mann
bdf735c662 Re-add python 3.6/3.7 in classifier
We have updated the yoga testing runtime to keep the
py36 testing.
- https://review.opendev.org/c/openstack/governance/+/820195
Unit tests job template is also updated to keep python
3.6 as a voting job. So with the py3.6 and py3.9 testing as voting
job template, we are keeping python 3.6, 3.7, 3.8, and 3.8 as
tested versions in the Yoga cycle.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286
This commit re-add the python 3.6/3.7 versions in setup.cfg classifier.
Change-Id: I0f03a7f5bb2aa07c2ec2aab1a8ebfddc0c70ca87
2021年12月13日 19:42:33 -06:00
Ghanshyam Mann
dda53b42cb Updating yoga tested python versions in classifier
Yoga testing runtime has been updated with py38 and py39
as voting and removed the py36 testing. Unit tests update are
handled by the job template change in openstack-zuul-job and you
can see the updated jobs running in gate.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/818609
this commit updates the tested py versions in setup.cfg classifier.
[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html
Change-Id: I47cd32e5690b55b983827c650efba4fd99e7be55
2021年11月24日 20:07:26 -06:00
Dmitry Tantsur
be3882162e Remove the iscsi extension
Change-Id: I2f0e581575112d6c7ba0d211661cab3e0b6caca6
2021年05月10日 12:43:44 +02:00
XinxinShen
353a3666c1 setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
 UserWarning: Usage of dash-separated 'description-file' will not be
 supported in future versions. Please use the underscore name
 'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: I5b71e5ef287a9557ed60bd23cd97dfe74571b457
2021年05月04日 17:11:13 +08:00
Kaifeng Wang
61c95554ff Adds poll mode deployment support
Adds a new poll extension to provide get_hardware_info and get_node_info
interfaces.
get_hardware_info will be used for node validation by ironic deploy
drivers.
get_node_info will be used for sending lookup data to IPA.
standalone mode is assumed as debug only, but it's not the case
considering the poll mode will be introduced, slightly updates the
description, also prevents the mdns lookup when standalone is true.
Story: 1526486
Task: 28724
Change-Id: I5ad772a18cc4584585c5a7b6fb127547cece1998
2020年06月21日 16:44:00 +08:00
Sean McGinnis
e00fe3b85d Add py38 package metadata
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: I7631fe14a812624e9d8d0a1946ffb5b0f6dec893
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020年05月02日 07:48:12 -05:00
Zuul
b9e320e76f Merge "Add an ability to run in-band deploy steps" 2020年04月09日 09:31:49 +00:00
Mark Goddard
1b4ce47921 Add an ability to run in-band deploy steps
Mostly adaptation of cleaning methods.
Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Change-Id: Ife0502391bbece46d619a20a825dfdb191d5c2b4
Story: 2006963
Task: 37791
2020年04月06日 10:24:08 +02:00
Andreas Jaeger
3e7d44746e Cleanup py27 support
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
 know about the requirement
- Remove obsolete sections from setup.cfg:
 * Wheel is not needed for python 3 only repo
 * Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
- Use sphinx-build
Change-Id: I8abd764d97a6711d3e6347ec3a7b8967f1512006
2020年04月05日 10:46:10 +02:00
Madhuri Kumari
18862bb5fa Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.
ironic-python-agent 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: Ifd0e0b99bb82a7d7e82d6c14309468196f5734fc
2019年11月22日 15:36:28 +05:30
Zuul
e33744ac2d Merge "manual introspection trigger command" 2019年07月09日 07:43:30 +00:00
Julia Kreger
696606f682 manual introspection trigger command
Change-Id: I64e66682c1e54f6edc260a22f46f5f6df8e85af1
Story: 2005896
Task: 33756
2019年07月08日 07:43:40 -07:00
Corey Bryant
dc3e26ac19 Add Python 3 Train unit tests
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.
See the Train python3-updates goal document for details:
https://governance.openstack.org/tc/goals/train/python3-updates.html
Change-Id: I409d9e3db05eaf11ccaaaef8784d693f40687328
Story: #2005924
Task: #34213 
2019年06月25日 07:26:52 +00:00
Julia Kreger
f7e90ea777 Update author email address
Change-Id: I7bad0c5799be2cc550efee20507e882ed055cc9a
2018年12月25日 17:02:42 +08:00
Mario Villaplana
a659306272 Rescue extension for CoreOS with DHCP tenant networks
This patch adds support for rescue mode with DHCP tenant networks in
CoreOS. Applying network config from a configdrive is not yet supported
but will be in a future patch.
Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Co-Authored-By: Taku Izumi <izumi.taku@jp.fujitsu.com>
Co-Authored-By: Annie Lezil <annie.lezil@gmail.com>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
Change-Id: I7898ff22800dedba73d7fbfb3801378867abe183
Partial-Bug: 1526449
2017年11月06日 04:48:58 -05:00
Jenkins
aa8f68bbca Merge "Collect processor, memory and BIOS output of dmidecode" 2017年07月24日 12:29:36 +00:00
Julia Kreger
7ae28c66bd Correct/update links
Correct instances of http to https and fix any remaining links
that were broken due to the document migration.
Change-Id: I492f7972839e63efdde469a1e16840d9be6d8b31
2017年07月14日 20:28:08 +00:00
Julia Kreger
537dbcd03a Move contributor documentation
Change-Id: I43890d380b3cb6b19cfb84bf5d9dcad4f19c0062
2017年07月10日 19:57:58 +00:00
Ramamani Yeleswarapu
c5544fb7a0 Collect processor, memory and BIOS output of dmidecode
Implements an optional collector 'collect_dmidecode_info' for
collecting detailed info of processor, memory and BIOS and
adds it to the inspection data.
Collects BIOS, processor, memory info and adds under the 'dmi' key.
Change-Id: Ida9b418ca579b15de70d17886631f3b21697987e
Closes-Bug: #1635057 
2017年06月28日 10:23:45 -07:00
Vu Cong Tuan
667ad45615 Remove pbr warnerrors in favor of sphinx check
This change removes the now unused "warnerrors" setting,
which is replaced by "warning-is-error" in sphinx
releases >= 1.5 [1].
[1] http://lists.openstack.org/pipermail/openstack-dev/
2017-March/113085.html
Change-Id: I9bf18ff72f36dfd3496b9672604e8bb98999b133
2017年06月11日 18:18:28 +07:00
Jaganathan Palanisamy
cc9e05da50 NUMA-topology collector
Implement the optional collector for fetching the NUMA topology
details.
Collects RAM, CPU Cores, thread siblings and NICS data for
each NUMA node and stored under "numa_topology" key.
Closes-bug: #1635253
Co-Authored-By: Jaganathan Palanisamy <jpalanis@redhat.com>
Change-Id: I5a546c009d95f39b7af4d89cf785be8acb8ebc67
Signed-off-by: karthik s <ksundara@redhat.com>
2017年05月16日 08:07:58 -04:00
Jenkins
8271996fe8 Merge "Add a new Hardware Manager for CNA network card" 2016年12月19日 16:16:10 +00:00
Szymon Borkowski
ef47d62f43 Add a new Hardware Manager for CNA network card
This patch adds a new hardware manager, which will disable the embedded
LLDP agent on Intel CNA network cards in order to allow the gathering of
LLDP data during the inspection process.
Change-Id: I572756ac6a7bf67a7f446738ba9d145e1c1bdc48
Closes-Bug: #1623659 
2016年12月12日 17:17:23 +01:00
Pavlo Shchelokovskyy
762f3bf4e6 Use oslo-config-generator for sample config
The old generate_sample.sh is broken already as it refers to
non-existing openstack/common path.
Let's use oslo-config-generator as many other OpenStack projects do.
Also, where applicable, option descriptions are updated with the
corresponding kernel parameters to set those options durig pxe boot.
Change-Id: Id4a0df30ea573d52f3b359f357fe8f4a29751939
2016年12月09日 21:01:02 +02:00
Moshe Levi
1bdcd4449f Add a new Hardware Manager for Mellanox NICs
This patch add Mellanox Manager to support Mellanox
InfiniBand NICs.
It adds client_id to the NetworkInterface for the
InfiniBand network interface.
The Mellanox Manager provides it own implementation of
get_interface_info. The mlnx get_interface_info generate
InfiniBand MAC and client-id from the InfiniBand network
interface address.
Closes-Bug: #1532534
Change-Id: I4e7f7649a1bdeaa3ee99b2748037b0f37fea486c
2016年11月22日 15:46:12 +01:00
avnish
9f52f47acd Update home page link in cfg file
Change-Id: I2c6d8b2aefd1a64ca75162d054309aef9917d2b8
2016年09月20日 14:42:14 +05:30
Lucas Alvares Gomes
af81914ce7 Add a log extension
The log extension is responsible for retrieving logs from the system,
if journalctl is present the logs will come from it, otherwise we
fallback to getting the logs from the /var/log directory + dmesg logs.
In the coreos ramdisk, we need to bind mount /run/log in the container
so the IPA service can have access to the journal.
For the tinyIPA ramdisk, the logs from IPA are now being redirected to
/var/logs/ironic-python-agent.log instead of only going to the default
stdout.
Inspector now shares the same method of collecting logs, extending its
capabilities for non-systemd systems.
Partial-Bug: #1587143
Change-Id: Ie507e2e5c58cffa255bbfb2fa5ffb95cb98ed8c4
2016年06月28日 17:02:11 +01:00
Szymon Borkowski
f7e080c8bf Add PCI devices collector to inspector
Adds a new collector, which gathers list of PCI devices.
Each entry is a dictionary containing 2 keys:
- vendor-id
- product-id
Such information can then be used by the inspector to distinguish
appropriate PCI devices.
Change-Id: Id7521d66410e7d408d7eada692b6123e769ce084
Partial-Bug: #1580893 
2016年06月24日 14:50:58 +02:00
Dmitry Tantsur
a70d99405e Switch to post-versioning
Putting a version in setup.cfg requires updating it after every release.
pbr is smart enough to calculate the next version without our help.
Change-Id: I33d610adc8860fe92275096192db06000fb2d6bb
2016年01月12日 10:49:36 +01:00
Doug Hellmann
e7de4bba45 Open mitaka development
Update the pre-versioning version number to the next value that can
include new features to tell pbr that the version in setup.cfg and the
recent 1.0.0 tag do not conflict.
Change-Id: I1c9c8e4b8a821fb3a2727a49d6f0f45e43d41218
2015年10月06日 17:40:26 +00:00
Dmitry Tantsur
9d6b0864e3 Add "logs" and "extra-hardware" inspection collectors
This is a port of downstream inspector ramdisk plugins we found helpful.
* logs - sends journald logs with inspection data.
* extra-hardware - uses hardware-detect utility to collect bigger
 hardware inventory and to run benchmarks.
Change-Id: If05402606c45185d618279eef46e68c51209f82b
2015年10月01日 18:25:30 +02:00
venkatamahesh
f59756f6db Added home-page value in setup.cfg file
Change-Id: Ie7d171e891f57fc7f8b92de1761ff7ef6ec4aaa9
2015年09月16日 00:47:49 +05:30
Dmitry Tantsur
096830414b Add support for inspection using ironic-inspector
Adds a new module ironic_python_agent.inspector and new entry point
for extensions, which will allow vendor-specific inspection.
Inspection is run on service start up just before the lookup.
Due to this early start, and due to the fact we don't even know
MAC address of nodes on inspection (to say nothing about IP addresses),
exception handling is a bit different from other agent features:
we try hard not to error out until we send at least something to inspector.
Change-Id: I00932463d41819fd0a050782e2c88eddf6fc08c6
2015年09月07日 18:22:54 +02:00
Jay Faulkner
1394771fcc Error doc builds on WARN or ERROR
This will ensure that any new commits to IPA won't pass a docs job if
they introduce improperly formatted doc strings. This will enable us to
ensure our generated documentation remains of a high quality.
I will be following this up with a change to project-config to have IPA
run the docs job on every change.
Change-Id: I90236225623298a7070db1ff22acb44dddb1c520
2015年04月06日 19:03:17 +00:00
Jay Faulkner
be97525975 Add sphinx build + basic documentation
This adds and configures a sphinx doc builder. This is based on the code
in Ironic to build documentation.
The goal is for this to contain development documentation relevant to
hacking on the agent, including how to make custom HardwareManagers.
Change-Id: Ib6cecb9959f4ad5c71440fb37827b996582a9545
2015年03月31日 16:22:12 -07:00
Josh Gachnang
5f4fa7f27e Add cleaning/zapping support to IPA
This will add support for in band cleaning operations to IPA and
replace the decom API that was unused.
Adds API support for get_clean_steps, which returns a list of
supported clean steps for the node, execute_clean_step, to execute
one of the steps returned by get_clean_steps.
Adds versioning and naming for hardware managers, so if a new hardware
manager version is deployed in the middle of cleaning/zapping, the
cleaning/zapping will be restarted to avoid incompatabilities.
blueprint implement-cleaning-states
blueprint inband-raid-configuration
blueprint implement-zaping-states
Depends-On: Ia2500ed5afb72058b4c5e8f41307169381cbce48
Change-Id: I750b80b9bf98b3ddc5643bb4c14a67d2052239af
2015年03月17日 17:07:04 -07:00
Lucas Alvares Gomes
d23e0170de Add the image extension (for local boot)
Initially this extension supports installing a bootloader so the user
image can boot from the local disk.
Change-Id: Ia588aafc240b55119c02f1254addc0cf796f88c5
2015年03月04日 16:34:17 +00:00
Lucas Alvares Gomes
d3aa7c93aa Add iscsi extension
This extension allows IPA to be used with the PXE/iSCSI methodology of
deployment in Ironic.
Change-Id: I32ec9fa74182c0d03c7ef1b698b1d0c0e3007773
2015年02月26日 12:13:00 +00:00
Jim Rollenhagen
07c4dfc707 Fix author/email in setup.cfg
This changes the email in setup.cfg from an internal Rackspace
email to the openstack-dev list, and the author to OpenStack.
Change-Id: Iebd652c157ba639c72898b7554a23fe9bed77c22
2014年07月01日 16:16:08 -07:00
Russell Haering
5ebd2e9797 Organize agent extensions
Move extensions under an ironic_python_agent.extensions module. This
change also moves the @async_command() decorator into the base
extension module.
Change-Id: I4021fcc33a30f3460a31bca44a4bf776cd53d488
2014年04月14日 15:09:12 -07:00
Alexander Gordeev
18aa51f1f1 Add FlowExtension
It makes possible of running data-driven flow which's the list of
the other existent extensions to be called.
Change-Id: Ib73ea4da92f291c872b7ae51e46ecc7fdd45ee16
2014年04月14日 20:01:08 +04:00
Alexander Gordeev
aee1555156 Get rid of modes. Introduce pluggable extensions
Allow multiple extensions to be loaded by switching to ExtensionManager
from stevedore. Remove any reference to modes.
Change-Id: Ic160478625226b4dd17bd68b3d37f3b05823e519
2014年03月27日 17:28:57 +04:00