Commit Graph

44 Commits

Author SHA1 Message Date
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