We now use the project openstack/ironic-tempest-plugin to store our
tempest plugin. All content from the
ironic_inspector/test/inspector_tempest_plugin/ directory has been
ported to that project.
We no longer want to have the plugin content stored here so we can
now delete it.
Change-Id: Ia8ea3a74d5aba1ea27eb6715c21667a30bac56b4
Consolidate all config options under ``conf`` directory.
New config modules should give a better picture of the configuration
options provided by the inspector.
Change-Id: I501ed0787ff4e1d91462f936e1a54de2c7abb35c
Related-Bug: #1561100
Co-Authored-By: Anton Arefiev <aarefiev@mirantis.com>
A PXE filter driver is introduced that works by configuring and controlling
the dnsmasq service.
Closes-Bug: 1693813
Related-Bug: 1665666
Change-Id: I63fe91ee4f9ac3021bcfd9a4a378af56af800fac
this patch introduces an oslo.policy-based API access policy
enforcement engine to ironic-inspector.
As part of implementation, a proper oslo.context-based request
context is also generated and assigned to each request.
Short overview of changes:
- added custom RequestContext class
- extends oslo.context to handle of "is_public_api" flag
(False by default)
- added context to request in each API route
- '/continue' api sets the "is_public_api" flag to True
- added documented definitions for API access policies and their
defaults
- added enforcement of these policies on API requests
- added oslo.policy-specific entry points to setup.cfg
- added autogenerated policy sample file with defaults
- added documentation with autogenerated policies
Change-Id: Iff6f98fa9950d78608f0a7c325d132c11a1383b3
Closes-Bug: #1719812
Moving the contributor "link" and API down the mandatory directory
structure.
Change-Id: I111cd55a06e40dc4db649728a5025354a85b3e1d
Partial-Bug: 1702142
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: I05b19288a444d346cebe83a9aa0422d8655f6f0c
Creates new WSGIService class which keeps base API sercice
initialization functionality and serve flask application. Also
it will configure application for wsgi container[1].
Also creates new `cmd` directory for storing console scripts.
[1] https://governance.openstack.org/tc/goals/pike/deploy-api-in-wsgi.html
Related-Bug: #1525218
Change-Id: Ia64228c47a79a3008d435e8323a964f2bc45dfa7
This adds a plugin to process the raw LLDP TLVs stored in Swift for
the Basic Mgmt, 802.1, and 802.3 data sets and store the parsed data
back in Swift. It implements the TLV processing as described in the
specification:
http://specs.openstack.org/openstack/ironic-inspector-specs/specs/lldp-reporting.html
Change-Id: I854826787ff045ffb2807970deaba8b77cbe277d
Closes-Bug: 1647515
Related-Bug: 1626253
Adds a new plugin to distinguish PCI devices returned by Ironic
Python Agent. Recognized PCI devices are then registered in node
capabilities and later can be used by nova flavors.
Change-Id: I6565b8c4aa76de240a6c4d795635300ff2d0c30b
Partial-Bug: #1580893
For Ironic multi-tenant networking support, we need to be able to
discover the nodes local connectivity. To do this IPA can try to pull
LLDP packets for every NIC.
This patch adds a processing hook to handle the data from these packets
in ironic-inspector so that we can populate the correct fields fields in
Ironic. The generic lldp hook only handles the mandatory fields port id
and chassis id, set on port_id and switch_id in local_link_connection.
Further LLDP fields should be handled by additional vendor specific LLDP
processing hooks, that populate the switch_info field in a non-generic
way.
Change-Id: I884eaaa9cc54cd08c21147da438b1dabc10d3a40
Related-Bug: #1526403
Depends-On: Ie655fd59b06de7b84fba3b438d5e4c2ecd8075c3
Depends-On: Idae9b1ede1797029da1bd521501b121957ca1f1a
This patch contains tempest plugin interface which are generated by
tempest-plugin-cookiecutter[1].
Also empty test manager and basic test was added.
[1] https://github.com/openstack/tempest-plugin-cookiecutter
Change-Id: I333462987bb6cdd1933fbb3550f527364c74ba07
Add new node_not_found_hook - enroll_node_not_found hook,
which allows to enroll unknown nodes to Ironic automatically.
Change-Id: If1528688504e4be4b2369b985bc576544d96868d
Related-Bug: #1524753
Now, if operators want to check some attribute isn't specified,
they should use 'eq' condition with None, '', etc values:
{'op': 'eq', 'field': 'inventory.bmc_addres', 'value': ''}
It would be useful to have condition plugin witch verify this case,
'is-empty' checks that field is empty string, list, dict or None value:
{'op': 'is-empty', 'field': 'inventory.bmc_addres'}
Change-Id: I6596a067e769530092c3db34405e0f0917d2f052
Follow new infra setup for translations, see spec
http://specs.openstack.org/openstack-infra/infra-specs/specs/translation_setup.html
for full details.
This basically renames
ironic-inspector/locale/ironic-inspector.pot to
ironic_inspector/locale/ironic_inspector.pot. For this we need to update
setup.cfg. Also fix some errors for translation setup in setup.cfg
Update also domain name in i18n.py.
The project has no translations currently, let's remove the outdated
pot file, the updated scripts work without them. So, we can just
delete the file and once there are translations, an updated pot file
together with translations can be imported automatically.
Change-Id: I1f9e3777a68d09406eeee836d03f15cbfe568470
Both check a value against a regular expression. The former requires
full match, while the latter requires matching anywhere in the string
representaion of value.
Change-Id: Ia59d17d6f8383aed97696d678fc1e7e329242692
* Flatten the directory structure (we don't have that many doc files)
* Dropped HTTP-API from the root so that we don't maintain 2 copies
* Fixed links all over the place
* Leave one copy of README text in the root and include it in docs
* Update 'tox -epep8' to also check docs
Change-Id: Ic14cb73668544be27c6b96b384f93b239e49acfd
This patch adds a new command ironic-inspector-dbsync which can be used
to sync the ironic inspector database using alembic migrations. It adds
a migration to match the current required db schema.
Change-Id: I21188b3f5003c8ab43d82903473e2a6ef7f755a0
Closes-Bug: #1495620
This patch set adds support for rootwrap in order to execute iptables.
Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Change-Id: I7c424c17222f119730b8c5ac0daafd9906282e4d
Closes-bug: #1495844
Conditions:
* in-net: checks if address is in a network
Actions:
* set-capability: sets a capability
* extend-attribute: append value to a list attibute
Helper method NodeInfo.replace_field is added to simplify writing
similar action plugins.
Implements: blueprint rules
Change-Id: I7e47b3500624df1f2cb15445d05e1c9bca6dc9ae
Creates a new plugin root_disk_selection which uses root device hints
and IPA inventory to calculate a root disk.
Update scheduler plugin to support 'root_disk' field in introspection
data. This field is populated by both root_disk_selection plugin
and IPA itself. The latter value is now used when root device hints
are not provided.
New option disk_partitioning_spacing regulates whether to substract
1 GiB from local_gb. Previously it was unconditionally done by
the ramdisk.
Change-Id: I8d60e3483ab5d7d181e231fe413fcd16192e0e97
Depends-On: Ie19b82ff2a914873ff4b2395b02643e086b934b1
Implements: blueprint root-device-hints
This patch introduces a simple JSON-based DSL to run on introspected
data. Conditions and actions are provided via new plugin entry points.
This patch is missing PUT operation on a rule, this can be added later.
Also not all planned conditions and actions are added in this patch,
will also follow up.
Implements: blueprint rules
Change-Id: If4d17b5f1462d03879cb4c2ff4e5cb3ea364b697
We'll soon have root_device_hints plugin, so it will become confusing.
Also added a test that we can use it under new name.
Change-Id: I049e049002cb25afc5aadb9a7a9e5d026a6810fd
* Add standard tas recognized by release-tools
* Stop mentioning Tuskar UI, as it's being refactored now
Change-Id: I18fc8f184376b0d643c53eb2928f5bb32662fb76
New home will be IPA, patch is already being worked on:
https://review.openstack.org/#/c/194116/
Anyway, we have to get rid of the ramdisk code before release.
Change-Id: I1b71a466059e70fd249712eaaf325efd459addcf
Closes-Bug: #1464708
The infra scripts for interacting with our translation server
(transifex) need pot files in the projects to work correctly.
These pot files have been generated using the same method as the infra
scripts.
Note that the infra scripts expect locale files in directory $REPO/locale/, thus
setup.cfg was changed and the existing pot file moved around so that the
infra scripts find everything.
Any future updates of these files will be proposed by the OpenStack
Proposal Bot - including import of translated files once the translation team has
translated files in a sufficient way.
Change-Id: I4f9260c2cfc1605fc2957529f3874750a0cfb0e6