Commit Graph

46 Commits

Author SHA1 Message Date
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
Josh Gachnang
5914e36b30 Replacing teeth/overlord with ipa/ironic 2014-03-19 16:19:52 -07:00
Josh Gachnang
ce8bc60414 Preparing for OpenStack testing environment
Renamed logging.py to log.py. I was getting import errors because it conflicts
with logging in the stdlib.
2014-03-11 12:50:12 -07:00
Russell Haering
802969b7dd simplify HardwareManager comparison 2014-01-22 11:09:02 -08:00
Russell Haering
3d756e8ac6 register the BaseHardwareManager 2014-01-21 17:15:12 -08:00
Russell Haering
c62cf1a7fa unify the agent executables in teeth-agent 2014-01-20 14:36:17 -08:00
Russell Haering
56f9a3ee9f register standby and decom modes in setup.cfg 2014-01-20 14:36:17 -08:00
Russell Haering
f005c10d4f split agent out into standby and decom classes 2013-12-20 12:57:38 -08:00
Russell Haering
27fdc13e49 out with the old, in with the new 2013-12-16 15:38:02 -08:00