Commit Graph

47 Commits

Author SHA1 Message Date
Stephen Finucane f853061fe4 setup.py: Remove 'py_modules'
This was merely obscuring a bug in pbr. setuptools doesn't do the
auto-discovery when pbr is in use. Remove it.

Also fixes the environments list where it is now validated for what is
installed by removing functional-py38, and fixing the job to just be
"functional".

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/pbr/+/869082
Change-Id: Ife999840777f3c553f569d81cd826ef9d5a6765d
2023-01-11 08:22:52 -08:00
Riccardo Pittau 0f5bbf68d6 Fix tox4 and setuptools errors
- Remove skipsdist that it was never supported and causes breakage
when used with usedevelop.
- disable setuptools autodiscovery

Change-Id: Icd107c69be1685af9eddf9cc9fe2236d5eb57c5a
2022-12-28 15:42:45 +01:00
Andreas Jaeger 1a8c1bb370 Cleanup py27 support
This repo is now testing only with Python 3, so let's 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
- Update classifiers
- Update requirements, no need for python_version anymore
- Switch to using sphinx-build with apidoc extension
- Use newer openstackdocstheme version
- Remove Babel requirement, this is not needed.

Change-Id: I4176d8002d45449171aa5f7a7caef196ab7900d0
2020-04-20 08:18:51 +02:00
OpenStack Proposal Bot d25cda389c Updated from global requirements
Change-Id: I0783b599db8914f26badc13dee9dab8174fd7b86
2017-03-02 11:45:30 +00:00
OpenStack Proposal Bot 0defa89be9 Updated from global requirements
Change-Id: I836a4e3d17aa9cd3a4231c0aa19f8a06b1398f12
2015-09-17 12:12:28 +00:00
OpenStack Proposal Bot 887891613a Updated from global requirements
Change-Id: Iabe1725ee420f1d0d3c42197b7b61be68a25e449
2015-07-15 01:32:51 +00:00
OpenStack Proposal Bot d8b60f8485 Updated from global requirements
Change-Id: If09189fc3b157665141b9e2cb5c556377c1ed3d3
2015-06-22 21:37:22 +00:00
Dmitry Tantsur 9dcc2bb082 Switch to pbr
Also creates a required "venv" environment, drops version handling
from __init__.py and updates requirements.

Closes-Bug: #1466477
Change-Id: I57ce71ee52cc48e0239cdecb69fd2272fc99ea41
2015-06-18 16:09:07 +02:00
Sam Betts 5b969e0a31 Provide hook into process when a node isn't found
Nodes that don't exist in the inspector node cache maybe still be
booted and return inspection information to process, this patch allows
an operator to hook into the point when the not found error is thrown
so that they may handle that information in anyway they decide to.

Change-Id: Ib17491a8201cf534d498c68d916b5b37b07f5ff6
Implements: blueprint node-not-found-hook
2015-06-15 18:14:55 +01:00
Dmitry Tantsur dc70218bc5 Final discoverd -> inspector rename/move pass
Change-Id: I12b431525f755172d398d1b6e60ad2b69edb52d4
2015-06-15 15:34:00 +02:00
John Trowbridge 0f2e3964a9 Rename edeploy plugin
Since this plugin is now usable in a more generic way, the name is
changed from edeploy to extra_hardware.

Depends-On: Ie9e017df735a95350991ce419fa3b64249819d70
Change-Id: I690c5c00bc2b0ad1a3f329c9366910f2488e7a0a
2015-06-12 08:00:09 -04:00
John Trowbridge 912c30830a Fix edeploy plugin puts too much data in Ironic extra column
The edeploy plugin stores all of the facts it collects in the extra
column of the Ironic db. When using real hardware, edeploy collects a
large amount of facts and can lead to overflowing that column.

This patch fixes this by storing the collected data in Swift instead.
This makes it usable more generically as well. Anything stored on the
'data' key in the dictionary returned by the ramdisk is stored as a
JSON encoded string in a Swift object. The object is named
'extra_hardware-<node uuid>' and is stored in the 'ironic-inspector'
container.

Change-Id: Ie9e017df735a95350991ce419fa3b64249819d70
Closes-Bug: 1461252
2015-06-12 07:59:30 -04:00
Dmitry Tantsur d09da96e02 Naming clean up
This refactoring patch fixes a few naming problems:
* namespace for processing hooks implied that it's the only type
  of hooks, added ".processing" postfix
* node_info -> introspection_data
* cached_node -> node_info

Change-Id: I8401f95236e269583257c3c5ba3762d0920d32e8
Implements: blueprint plugin-interface-v2
2015-06-09 15:42:46 +02:00
Dmitry Tantsur d6404d2f99 Rename discoverd -> inspector
As agreed on the summit I'm renaming the python modules
and doing some adjustments:
* This is a breaking change, so version is bumped to 2.0.0
* Used this chance to split conf options over proper sections
* RELEASES.rst is gone; it's too hard to keep it up-to-date;
  anyway git does better job at doing history
* Dropped deprecated option ports_for_inactive_interfaces
* Dropped old /v1/discover endpoint and associated client call
* No longer set on_discovery and newly_discovered in Node.extra
  (deprecated since 1.0.0, superseded by the get status API)
* Default firewall chain name is "ironic-inspector" and
  is configurable

Notes:
* Some links will be updated after real move.
* Stable branches will probably use the old name.
* Some usage of discovery word is left in context of
  "discovered data"
* DIB element will probably be deprecated, so leaving it
  alone for now.
* Some usages of word "discovery" in the README will be updated
  later to make this patch a bit smaller
* Ramdisk code will be moved to IPA, so not touching it too much

Change-Id: I59f1f5bfb1248ab69973dab845aa028df493054e
2015-05-29 09:06:56 +02:00
Dmitry Tantsur 75ff1b1064 Fix leftover of edeploy options removal
Change-Id: Ie1c59dbb2514a0f9bc916b1abfdd5ad94da44025
2015-04-29 13:00:40 +02:00
Dmitry Tantsur 48471bce6d Initial import of ironic_discoverd_ramdisk
This is Python script for implementing a full-featured ironic-discoverd
ramdisk, including support for 'edeploy' plugin. It was initially
developed downstream.

Missing in this patch are:
* support for updating IPMI credentials
* support for serving logs via HTTP

Change-Id: I6987d46d7b6a1411d0d38f97373e5cd036ba6162
Implements: bluepring python-ramdisk-code
2015-04-27 16:29:26 +02:00
Dmitry Tantsur a0884628cb Add DevStack plugin for ironic-discoverd
Change-Id: I1026fec12dfd5ba495fc1db1cc98dfdfba623c91
Implements: blueprint devstack-plugin
2015-03-27 16:43:00 +00:00
YuikoTakada 9ec4f0fbc8 Switch to oslo.config
This patch set adds support for generating config files
using oslo-config-generator.

Old invocation without --config-file is no longer supported.

Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Change-Id: If640e6dc83c971a8f82f9b245a4496d298dfd042
Closes-Bug: #1398359
2015-03-24 15:57:14 +01:00
Dmitry Tantsur 489979757d Add python-openstackclient plugin for ironic-discoverd
$ openstack baremetal introspection {start, status} UUID

Closes-Bug: #1410180
Closes-Bug: #1429148
Change-Id: Ie009a8430e9e7d7529ac1a492d31896c3405d3de
2015-03-06 15:34:40 +01:00
Dmitry Tantsur 9f18e11480 setup.py to work without requirements.txt
Change-Id: Ib88f3930947191d290f8d567b8995afae6950952
2015-02-24 09:55:37 +01:00
YuikoTakada 590b109888 Support i18n
Currently, log format is not following to oslo.i18n.
This patch set makes ironic-discoverd possible to use oslo.i18n.

Change-Id: I623281239cb12abffbeb377ec6f77f8aa9b90c0c
Partial-Bug: #1411272
2015-02-17 04:17:07 +00:00
Imre Farkas 4e8260aa8f Adding root_device_hint plugin
In some cases (eg. DRAC), the driver doesn't provide any information to
figure out the root device during RAID configuration. A workaround for
that is creating the RAID disks in 2 runs: one run for the root device
and another one for the rest. In between ironic-discoverd can be used to
examine the changes in the block devices.

This patch adds this capability as a plugin to gather the block device
serials, save it temporarly and expose the root device hint.

Change-Id: I71c42cb131a4e8f0b4fe4eb2f42ac7cde2bceea9
2015-02-12 12:01:08 +01:00
Frederic Lepied 22a0e24efb Add eDeploy plugin
It receives eDeploy's hardware discovery to classify hardware
according to hardware profiles and extracts the needed information for
the configuration of the node.

Change-Id: I11b4cf21ec81ce8efd3222597a5226fe260721e2
Implements: blueprint edeploy
2015-02-03 12:02:11 +01:00
Dmitry Tantsur 92d2e39da7 Introduce __version__ and __version_info__
Ported from stable/0.2 branch.

Change-Id: I090d96efb62ab72cac39a76a897d563199adbf36
2015-01-06 11:33:55 +01:00
Dmitry Tantsur 676922e5d1 Add forgotten modules to setup.py (shame on me)
Change-Id: I8e0ad77f05c6071e6243d7782fde800efed33f9f
2014-12-16 10:59:09 +01:00
Dmitry Tantsur 3312522af2 Refactoring: consolidate standard plugins in one module
Introduces module ironic_discoverd.plugins.standard.
Moves currently unused handling of ramdisk error to a plugin.

Change-Id: I3dff43e27e5354b3f4155f005b7bc66897f81ec4
2014-12-08 20:45:15 +01:00
Dmitry Tantsur c92d516625 Separate validating NIC data into a new plugin
This continues effort started in blueprint plugin-architecture
to minimize discoverd core.

Change-Id: Iee423678445ba2d282633bb2b44389acbdeb5adb
2014-12-08 17:38:04 +01:00
Dmitry Tantsur a568c44ce1 Move code updating Node.properties to a plugin
Implements: blueprint plugin-architecture
Change-Id: Ib3a0f9b683105e06450615ff28715a8fbfd23f62
2014-12-04 14:13:00 +01:00
Dmitry Tantsur dafa4d0013 Support hooks for processing data
Change-Id: I5ae1623664549663570f036fa4ae3661b19f1b89
Implements: blueprint plugin-architecture
2014-12-01 13:36:42 +01:00
Dmitry Tantsur b65c3d7ef7 Bump version to 1.0.0
Change-Id: I32f5f8c2f06377363fe89e74cfc8e02a9df58b46
2014-11-20 10:45:24 +01:00
Dmitry Tantsur 086b118ecb Release 0.2.4 to fix MANIFEST
Change-Id: I35eea660a936e305acde44f43ed05b7cb824934b
2014-11-14 17:23:14 +01:00
Dmitry Tantsur 5a28c1790d Post-migration updates for stackforge and launchpad
Change-Id: Id35cfe2ed3fa6a48d41efb29c3dab9e78bc7d051
2014-11-14 15:14:33 +01:00
Dmitry Tantsur 5f2228798c Updates prior to moving to stackforge 2014-11-12 14:10:21 +01:00
Dmitry Tantsur b3c215db8e Bump version 2014-10-23 15:37:29 +02:00
Dmitry Tantsur cdc872c227 Version bump 2014-10-14 12:05:34 +02:00
Dmitry Tantsur 1f5e21bb14 Updated description in setup.py 2014-10-14 10:56:28 +02:00
Dmitry Tantsur bda028a2c5 Add requests and six as explicit dependencies 2014-10-14 10:53:27 +02:00
Dmitry Tantsur eef833ce30 Switch to setuptools entry points 2014-10-09 17:14:46 +02:00
Dmitry Tantsur 74242c2776 Implement authentication via Keystone 2014-10-09 16:48:10 +02:00
Dmitry Tantsur fd3d4d1d7d Bump version to 0.2.0 2014-10-09 15:56:36 +02:00
Dmitry Tantsur c509cd38d7 Version bump 2014-10-08 11:21:24 +02:00
Dmitry Tantsur edba0ebdee Requires eventlet 2014-10-07 12:18:37 +02:00
Dmitry Tantsur b3ea94c17b Version 0.1.0 2014-10-07 12:12:28 +02:00
Dmitry Tantsur b21be56ee9 Bump version to 0.1 2014-10-03 17:21:19 +02:00
Dmitry Tantsur 206d5a5d18 Late version bump 2014-10-03 17:03:03 +02:00
Dmitry Tantsur 7b6d4f8cf7 Added main script and updated setup.py 2014-10-03 13:16:43 +02:00
Dmitry Tantsur 45872dcc88 New structure, getting ready for PyPI 2014-10-02 18:17:38 +02:00