Commit Graph

70 Commits

Author SHA1 Message Date
Zuul ac32c33b68 Merge "Remove compatibility with Python < 3.8" 2024-02-14 20:31:24 +00:00
Dmitry Tantsur 7644196e7d
Split common qemu-img functions from disk_utils
Adds a new module for two qemu-img wrappers that are used both by Ironic
and IPA. The remaining functions in disk_utils are only used by IPA and,
since most of them require root, can no longer be used in the
post-rootwrap Ironic any more. They should be moved to IPA eventually.

Change-Id: I3364a58b52a3e57c2f52356a6496865b749e74a8
2024-01-23 14:00:43 +01:00
likui 399220b36a Remove compatibility with Python < 3.8
... because this library now supports only Python 3.8 or newer
versions.

Change-Id: Ice1bec17f23ab1fa7abdafa324e0b83942b4101a
2024-01-17 10:36:31 +08:00
Sharpz7 5e1ca2a437 [codespell] Add tox target and configuration for codespell
Continuing the work of @JayF in other repos.

Adds a tox target for codespell, `tox -e codespell`. Can optionally
be run as `tox -e codespell -- -w` to get automatic spelling fixes
applied where appropriate. Adds small amounts of configuration to
setup.cfg, including an ignore list of words.

Related Bug: https://bugs.launchpad.net/ironic-python-agent/+bug/2047654

Change-Id: I284045ee9dfb51eee59a0442abda657c74abed05
2024-01-15 07:16:35 +00:00
Riccardo Pittau 38f00d1d7d Re-add python 3.6/3.7 in classifier
We have updated the yoga testing runtime to keep the
py36 testing.

- https://review.opendev.org/c/openstack/governance/+/820195

Unit tests job template is also updated to keep python
3.6 as a voting job. So with the py3.6 and py3.9 testing as voting
job template, we are keeping python 3.6, 3.7, 3.8, and 3.8 as
tested versions in the Yoga cycle.

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

This commit re-add the python 3.6/3.7 versions in setup.cfg classifier.

Change-Id: I7129bb68320a7d6de40feea571e2ac03d4b09166
2021-12-14 09:22:32 +01:00
Ghanshyam Mann 51e4d204be Updating yoga tested python versions in classifier
Yoga testing runtime has been updated with py38 and py39
as voting and removed the py36 testing. Unit tests update are
handled by the job template change in openstack-zuul-job and you
can see the updated jobs running in gate.

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/818609

this commit updates the tested py versions in setup.cfg classifier.

[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html

Change-Id: I7cfd594a76c30bb4b603b212aa9e4aca82f4336f
2021-11-24 20:01:46 -06:00
David Vallee Delisle 12bca21c0c json_rpc: setup.cfg is missing entrypoint for json_rpc's list_opts
oslo.config is relying on the list_opts entrypoint to automatically
integrate the json_rpc options.

Story: 2009126
Task: 43038

Change-Id: Id50af71faec84bd778422ed86a3b99797158afdb
2021-08-18 00:43:27 +00:00
yangyawei 37ac43389d setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb

Change-Id: I0f8a792afc5a346d273b92e3aa77d59781b04a37
2021-05-16 14:57:16 +08:00
Dmitry Tantsur 22a944bd31 Import json_rpc from ironic
To be able to use the same JSON RPC implementation for ironic-inspector,
it is now imported in ironic-lib. Some additional abstraction laters are
added to avoid hard dependency on oslo.context and oslo.messaging.

Change-Id: I0e790cebcd086d26bf27b909f73842c3f46bbd77
2021-02-23 15:44:25 +01:00
Dmitry Tantsur f4ba0a71b3 keystone: use os_service_type for service_type defaults
There was TODO in the imported code from ironic, this patch
implements it.

Change-Id: Idb4b0e12348fa1c2a079cc0c6da28c5938ecbeb5
2021-02-08 13:36:13 +01:00
Dmitry Tantsur 782b85d57f Import common keystone configuration from ironic
This code is used by both ironic and ironic-inspector with barely
any difference and will be required to import the JSON RPC code.

To prevent IPA from depending on keystoneauth, the new requirement
is added as a new extra feature "keystone".

Change-Id: I8bc08ec9e081a67d1687033413fee63698e14e69
2021-02-08 13:33:40 +01:00
Sean McGinnis 53a6e7054e 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: I0f06173f4758094168b9ce6c6253cd0fd3b53bdd
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-05-02 06:56:34 -05:00
Andreas Jaeger a235a15346 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
- Update classifiers
- Update requirements, no need for python_version anymore
- Switch to apidoc instead of autodoc for API docs, use sphinx-build.

Change-Id: Ie6107bc80961a7306957b17ac2eda44417b53d3e
2020-04-05 19:16:10 +02:00
Jacek Tomasiak bcded1f73f Include rootwrap.d/ironic-lib.filters in package
The file was added to sources but not to setup.cfg which controls
which files are included in the wheel build.

Change-Id: Ied7ee2e3418673de7c2c9fa6f8407350d6b3314c
Story: 2006604
Task: 36772
2020-01-22 10:41:33 +01:00
Iury Gregory Melo Ferreira 6bb4f81c46 Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

ironic-lib 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: Idfa5afedb607c99c34ff4a07594f698c9bd3bed8
2019-11-22 14:10:45 +01:00
Kaifeng Wang 04d9ebf605 Update Python 3 test runtimes for Train
One of train goals to have consistent python3 jobs.

https://governance.openstack.org/tc/goals/train/python3-updates.html

Change-Id: I6ed1ec6c6b0e833fddc68e2931be053c8880fd65
2019-06-13 11:32:50 +08:00
Kaifeng Wang 7daba837f6 Expose configuration option relates to exception
Base ironic exception is moved to ironic_lib, but the configuration
option fatal_exception_format_errors is not exposed so it's not shown
in the example configuration file.

Change-Id: I19d7b586dc40a001c0fdcc4de003e41f65103c9a
2019-05-24 08:36:05 +00:00
Dmitry Tantsur c90d008a5b Add support code for multicast DNS service discovery
To simplify standalone configuration, we need an ability for IPA
to discovery ironic and ironic-inspector on the local network.
This change adds the support code for using multicast DNS (RFC 6762)
with DNS service discovery (RFC 6763) to publish and discover
OpenStack services as proposed in the API SIG guideline
https://review.opendev.org/651222.

Change-Id: Iaf3422331238884412ce608c0667de7891945f98
Story: #2005393
Task: #30432
2019-05-14 12:19:37 +02:00
Ghanshyam Mann 782d58e0cf Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2]
https://governance.openstack.org/tc/reference/runtimes/stein.html
https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: I0ddf941773729e7de8a7f8cb7487aa147378cbdc
2019-04-14 22:17:44 +00:00
Julia Kreger 5f71c3c748 Correct author email address
Change-Id: I667496671f232e730831eede7bc723bdc4d82b1b
2018-11-27 14:58:23 -08:00
Julia Kreger dcc5a473c7 Correct url in setup.cfg for documentation path
Change-Id: I43eb0e3a0c79fdbef3e971410503c700678dcbfa
2017-07-19 20:11:19 +00:00
Julia Kreger 6678a9d9c6 Rework base landing page to contributor docs
Change-Id: I1fea1922376f5dcb1c1efa2da20e33c82ba64d2d
2017-07-19 13:33:02 +00:00
Vu Cong Tuan a212eca2ef 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: Ic311ad8dc0ea211acdce770fb1f1726994f1c1a4
2017-06-09 14:44:45 +07:00
kavithahr 0e397eb988 Python 3.5 is added
Added python 3.5 to setup.cfg so it contains all supported python
versions. Removed python 3.4 in tox.ini because the gating on
python 3.4 is restricted to <= Mitaka. This is due to the change
from Ubuntu Trusty to Xenial, where only python3.5 is available.
There is no need to continue to keep these settings.

Change-Id: I5051826fdc867caea9f6a17c39a86e1799365527
2017-03-09 11:03:58 +05:30
Jenkins 001aa86630 Merge "Remove tests and common.i18n from autodoc" 2016-10-05 00:08:30 +00:00
Sharat Sharma b63f20198e Changed the home-page of ironic-lib
Change-Id: I0562823fba4c5460b00666f023531da150897443
2016-10-03 12:43:46 +00:00
Dmitry Tantsur f23ce3c91e Remove tests and common.i18n from autodoc
Change-Id: I52d579ea25ce36dc1cda0ffaeb8d0602e2b17f07
2016-10-03 14:42:04 +02:00
Jay Faulkner 4f58317ce0 Add framework for doc building in ironic-lib
This adds a doc build for ironic-lib. Currently the only documentation
is that generated from docstrings.

Change-Id: I6ee00ad863bc7ce72958db4e8d5b6871a5b96eb0
Partial-bug: #1614272
2016-08-18 09:14:52 -07:00
Aline Bousquet fb46000e24 Add support for metrics
This patch adds metrics to ironic-lib, so that it can be used by both
Ironic and IPA. It implements a generic MetricLogger including timers,
counters, and gauges with their respective decorators and context
managers. Two default MetricLogger are included: NoopMetricLogger and
StatsdMetricLogger.

Change-Id: I8a62414e6c03acb6f3457f1b8f81c03a9d3a8576
Co-Authored-By: Josh Gachnang <josh@pcsforeducation.com>
Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-Authored-By: Alex Weeks <alex.weeks@gmail.com>
Partial-Bug: #1526219
2016-06-28 13:38:01 +01:00
Lin Tan 733a40bc5c Explore config options to oslo-config-generator
Add entry points to explore config options.
This could be used for oslo-config-generator.

Partial-Bug: #1564195
Change-Id: Ibf844b903340f834cca5cc4539ddd9cecbeda90a
2016-03-31 02:29:06 +00:00
Ruby Loo 854ece3f29 Update setup.cfg
We aren't suppporting python 2.6.

Addressed a grammatical issue.

Change-Id: I6e89735a510ec87ae33dc29309d8be4b711d7489
2015-09-30 14:05:41 +00:00
Dmitry Tantsur aa66ebc6ee Change PyPI name to ironic-lib and clean up setup.cfg
Our project is called ironic-lib, no point in publishing it as ironic_lib.
It's also inconsistent with tempest-lib.

This patch also removes unneeded elements from setup.cfg and switches
to postversioning.

Change-Id: I29c0f384fb8869ce3e28dedf0272fcc2e766fc26
2015-08-13 12:36:21 +02:00
Faizan Barmawer 1d78cb7167 Initial commit for ironic-lib 2015-02-26 04:15:08 -08:00
Pavlo Shchelokovskyy 71c3f45df3 Fix file permissions in project
Remove erroneous execution bit from some files in repository.

Change-Id: Ib25b60b1b9f23b12b92a2bb397e9d8f22f86b42e
2015-02-16 19:51:20 +02:00
Jenkins e3db56b7af Merge "Add VirtualBox drivers and its modules" 2015-02-07 01:02:47 +00:00
ChangBo Guo(gcb) 3c73a90cd2 Drop deprecated namespace for oslo.rootwrap
The oslo team is recommending everyone to switch to the
non-namespaced versions of libraries.[1]
oslo.rootwrap suggests to use oslo_rootwrap.cmd:main.[2]

[1]https://blueprints.launchpad.net/oslo-incubator/+spec/drop-namespace-packages
[2]https://github.com/openstack/oslo.rootwrap#using

Change-Id: I1fb59b43912afb4b2f85ecade1ee1a7154c9efba
2015-01-31 13:44:28 +08:00
Ramakrishnan G dace1c9d59 Add VirtualBox drivers and its modules
This commit adds VirtualBox modules VirtualBoxPower
and VirtualBoxManagement for managing VMs
through VirtualBox web service.  It also adds two
new drivers pxe_vbox and agent_vbox.

Implements: blueprint ironic-virtualbox-webservice-support
Change-Id: I1e23d21534be30cc4b5a06e998cdce0c5cb04ab6
2015-01-31 02:15:51 +00:00
Naohiro Tamura 864e02737b Add iRMC Driver and its iRMC Power module
Adding new iRMC Driver, namely pxe_irmc, to the list of available
drivers in Ironic and implementing the iRMC power module to interact
with ServerView Common Command Interface (SCCI) described in FUJITSU
Software ServerView Suite, Remote Management, iRMC S4 - integrated
Remote Management Controller.

Implements: blueprint irmc-power-driver
Change-Id: I90d8027877b0873ea13bfbd7731ff7bac3e35d13
2015-01-28 07:04:48 -08:00
Vladyslav Drok cda5680082 Remove Python 2.6 from setup.cfg
Python 2.6 support is dropped so it should be removed from setup.cfg.

Change-Id: I28b205c8a8027de4168b65f272983b38bb09dd2d
2014-12-11 17:37:35 +02:00
Thierry Carrez 4c157a36f1 Open Kilo development
Bump pre-version to 2015.1 to formally open master branch to Kilo
development.

Change-Id: I02697038476e6c165b44f92b065a9d0b410f78a7
2014-10-02 17:50:53 +02:00
Julien Danjou 38ca91f745 Replace custom lazy loading by stevedore
Change-Id: I0b09e8822af6e8c3ce7299d31eb53f30a50262bc
2014-10-01 12:32:06 +02:00
Ramakrishnan G 9625b1d8c2 IloVirtualMediaAgent deploy driver
This commit introduces a new deploy driver which uses iLO virtual
media to boot up proliant baremetal nodes, and uses agent to deploy
the baremetal nodes.

This patch also changes agent pxe config template slightly, so that
the names of agent ramdisk parameters generated in code and those
expected by agent ramdisk are same.

Change-Id: Ia5677dff294bc146b864bed180fbda939cf9bb38
Implements: blueprint ilo-virtualmedia-ipa
2014-09-03 16:51:33 -07:00
Ramakrishnan G 7c96c4f430 IloVirtualMediaIscsi deploy driver
This commit introduces a new iLo deploy driver which uses virtual
media to boot up proliant baremetal nodes, and uses iSCSI to deploy
the baremetal nodes.

Change-Id: I98f47ed6082a3a28fce3148f6d5177cdb5c61881
Implements: blueprint ironic-ilo-virtualmedia-driver
2014-09-03 16:46:57 -07:00
Stig Telfer 8c01894b13 Adds SNMP power driver
Add a new PowerDriver module for remote control of node power by
enabling or disabling sockets on a rack power strip via SNMP.

Implements: blueprint ironic-snmp-power-driver
Change-Id: Ib16781eaa9737525c4d8a9231ecd9e72d7e2645e
Co-authored-by: David Hewson <dhewson@cray.com>
Co-authored-by: Mark Goddard <mgoddard@cray.com>
2014-09-03 15:25:07 +01:00
Jenkins 57d1a071fe Merge "Make DHCP provider pluggable" 2014-08-29 19:48:02 +00:00
Ellen Hui c0fc1197a4 Make DHCP provider pluggable
Previously, all dhcp was done explicitly through Neutron.  This commit
adds an interface for dhcp providers, currently implemented by a
Neutron provider and a noop provider.

The provider can be set in the dhcp_provider config option, and
defaults to neutron.

Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Implements: blueprint support-external-dhcp
Closes-Bug: #1282168
Change-Id: I7eea490c573914c6cd2a73056fe3a0ec91065dc0
2014-08-29 10:26:03 -07:00
Roman Prykhodchenko 0b9a0ca561 Script to migrate Nova BM data to Ironic
This adds the ironic-nova-bm-migrate script which can be used to migrate
node and interface data as well as associated configuration from a
nova-baremetal environment to Ironic.  It requires access to both databases
as well as the Nova configuration file.

Change-Id: I231730ad3e2cb289512c1f1166d4cef3358939f8
Co-authored-by: Adam Gandelman <adamg@ubuntu.com>
2014-08-28 10:53:16 -07:00
Imre Farkas 66cf9f8aa6 Add DracDriver and its DracPower module
Implements: blueprint drac-power-driver
Change-Id: If93231c39ce901224f3a920f5342c44ba1b26851
2014-08-19 16:28:52 +02:00
Devananda van der Veen 28d3f3914f Replace incomplete "ilo" driver with pxe_ilo and fake_ilo
The "ilo" driver is not complete -- it only has a PowerInterface today.

This patch removes it from setup.cfg, deletes the drivers/ilo.py module,
and adds both PXEAndIloDriver and FakeIloDriver instead.

Change-Id: I431fd5155d0696a0a48ad8decf9f5317c5fcd7a2
2014-08-14 15:02:06 -07:00
Lucas Alvares Gomes 89f3844802 Port iBoot PDU driver from Nova
Ports a custom power driver from Nova to Ironic so that iBoot capable
devices can be used.

Co-Authored-By: Dan Prince <dprince@redhat.com>
Closes-Bug: #1226042
Change-Id: Ibec34a7e0a69bb26d3e2a21b1f2d1a7ce3514347
2014-07-31 18:48:04 +01:00