Use hacking 0.12.0
Use the new checks that are available:
[H106] Don’t put vim configuration in source files.
[H203] Use assertIs(Not)None to check for None.
[H904] Delay string interpolations at logging calls.
Fix code so tests pass.
Change-Id: I7b1cd98aeb3bb8f4f01dd1d69d1afcd839749074
Openstack infra now supports upper constraints for
all jobs. Updated tox.ini to use upper constraints
for all jobs.
Change-Id: Ibb49105fea5f119d181e7fd6f78ca6cf72ada33f
Closes-Bug: #1614361
This will force pip install to use the upper-constraints.txt specified
version of pip modules. When you don't do this, you are out on the
bleeding edge and become unstable everytime some python library in the
wide world changes in a way that you don't expect.
Post jobs are not yet compatible with the upper-constraints file, so
override the install_command there to skip upper-constraints.
Credit to the equivalent Ironic patch
https://review.openstack.org/#/c/300146/
Change-Id: Ica668afedf622a0be8e8566ac88e1d0020ed9bc7
Closes-Bug: #1563038
This refoctor is needed for tempest test work as tempest tests
will placed in test dir. So move unit tests to separate directory
"unit" under test.
Change-Id: Ic99df6111ef30947148a9e38b9435a54f3d37064
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
To solve the problem of "db type could
not be determined" on py34 we have to run first the py34 env to, then, run
py27. This patch puts py34 first on the tox.ini list of envs to avoid this
problem to happen.
Change-Id: I088ae4e71bfa2e673743193751410693d533153b
Closes-bug: #1489059
* 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
Shameless copy-paste from Ic700d719242b17532b0b43a68b7eff507cb3a43c
and Iaef8b78802c04ec8306dd6f1da02d6c6a50697d8 with minimal changes.
Change-Id: I604136b72e2cf6b2bbbc3f9dc46ea3b419e495df
This creates a seperate target splitting out the coverage from the other
tests. The test directory and project names are different, overriding with
passed package name. Since testr is not used, coverage is called separately.
Change-Id: I32c132414a8b7e702b65617b95236397f4a471c2
It's the same as func, but runs functional tests with Python 3.
One issue was fixed in ironic_inspector.test.functional.
Change-Id: I6a081ad2ca8857018c6b531ed82182aab0ccca4d
Currently, Ironic-inspector uses SQLite as database.
We should migrate to oslo.db.
In this patch, make database connect operations to oslo_db.
Change-Id: Ibd0f787b570bc101eab9fbd0b59d8a775a95e2e0
Implements: blueprint migrate-to-oslodb
With integration tests on the radar we no longer need to do
integration checking between ramdisk code and inspector here.
Also copy integration test script from functest to devstack.
Once we update the gate to use the new script, the whole functest
directory should be deleted.
Change-Id: Ic29e954fac1c535cb4f83d46ccea9ebfb80f840c
Closes-Bug: #1468748
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
Also creates a required "venv" environment, drops version handling
from __init__.py and updates requirements.
Closes-Bug: #1466477
Change-Id: I57ce71ee52cc48e0239cdecb69fd2272fc99ea41
When a development environment is under a proxy, tox is failed even if
environment variables of the proxy are set.
This patch fix this problem.
Change-Id: I24ca2f991832e5a0689c1051b60caf949d8225a1
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
We support oslo.config, so use Use keystonemiddleware auth credentials
instead of auth options ourselves.
Notes:
Below items will be used to get ironic client forever, not DEPRECATED,
but, in the case of keystone authentication, they are DEPRECATED.
Use [keystone_authtoken]'s items instead of them.
[ironic]
* os_auth_url
* os_username
* os_password
* os_tenant_name
And also this patch set drop default value of os_auth_url and identity_url,
so that this change will break people relying on ether/both of them.
Change-Id: Ib0774b6027bb60910dd4b5c2bc8acea0069ba0a1
Closes-Bug: #1435882
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
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
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
* Split away HTTP API and make sure usage info is enough for users
* Drop release notes for unsupported 0.2
* Various link updates and small fixes
* Forward-port 1.0.1 release notes
Change-Id: Ifa2b306d4a6fff19abc1565dabe7f6609363dc08
* Switch from docutils to doc8 for checking docs
* Split away plugin-requirements
* Update to Kilo
Change-Id: Icf1411bd80aa7870996b5536b0ac1aec96783dab
New 'tox -efunc' command fetches the ramdisk from Github and
executes some simple testing with it. Ironic and Keystone API
are faked. Tools used by ramdisk are faked too.
Change-Id: I0158000cfb50372d6000d1f675aa1370a6c09d13
Tests for process.py completely rewritten to be more 'unit'.
Moved one function from utils that does not belong there
and fixed small issues uncovered by the new tests.
To simplify migration, prevent Python from writing bytecode
during testing.
Change-Id: Ie2c5d9217982620ba62f8105cf8e4b2cfaefe885