Adds a new option to set arbitrary fields on newly discovered nodes,
which is useful to e.g. set non-default driver interfaces.
Change-Id: I2e23fde9c5aae00ed39bd60c204e7c3eb029586a
Story: #2007771
Task: #40091
This change documents configuring inspector for client-side
authentication with a standalone Ironic API service.
Since this documention refers to a keystone auth feature which is
about to be released, requirements and lower-constraints are updated
to reflect the required release (see https://review.opendev.org/737365 ).
Change-Id: I567fc8c7f2147339856563ad880334791f93d99b
Switch to openstackdocstheme 2.2.0 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems
Update Sphinx version as well.
Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.
Set openstackdocs_auto_version to not auto-version the documents.
Set openstackdocs_auto_name to use 'project' as name.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
Change-Id: I9591e0f0215e9eb790ec2e3ea1a7ccbd55bb76d0
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
The physnet_cidr_map hook adds functionality to
populate the physical_network of a baremetal port based
on a cidr-to-physnet mapping in configuration.
Related-Bug: #1870529
Change-Id: I43cdac5ccd8c46836b26f6e4bc0d4509958e2e79
Added 'scope' property to IntrospectionRule and logic to check if a node
falls in the same scope.This allows introspection rules to be applied on
selected nodes instead of every one of them.
Story: 2006995
Task: 37763
Change-Id: I77034f032ea0ec16886afdd928546eb801f7a90a
The introspection API documentation does not include any detail at all
about the payload returned. That information is in the
ironic-python-agent documentation instead. Add a link to that location
to make it easier for someone trying to find out what introspection
data is returned to do so.
Change-Id: I972803ac700f25823ac6715d21dda09ebe40e307
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This adds IPv6 support to the documented dnsmasq example.
For DHCPv6 PXE boot, the Client Architecture option uses code 61,
(see https://tools.ietf.org/html/rfc5970#section-3.3). For both
DHCP and DHCPv6, support for UEFI client arch type 11 (EFI aarch64)
is documented.
Change-Id: I4018d99b9723527ed0cbb2c6825b0062d82c85b1
This patch adds support to provide unprocessed introspection data
to reapply a node. The provided introspection data will be save to
current introspection storage backend.
Change-Id: I969ae9c32f53f89c006a64a006388ddea9542aa5
Story: 1564863
Task: 11344
Minor project file structure adjustment, to move config-generator.conf
and policy-generator.conf into tools/ subdirectory.
Also exclude tools/ from dsvm jobs.
Change-Id: I3242401511b88bd9b677d9875481808783f890b8
Otherwise it's not possible to modify them, since they're not updated
via the regular node updating mechanism.
Change-Id: I338015ff9dafe07f4e70a23ddcf6cd488eda9907
Story: #2003788
Task: #26496
Modify introspection rules to allow formatting to be applied to strings
nested in dicts and lists in the actions.
Change-Id: Ia53e0de98438f7789e9b9136dcd85c1b1274b713
Story: #1670768
Task: #11362
Adds a new node field "manage_boot" to store this value. When it is set
to False, neither boot device nor power state are touched for this node.
Instead, we expect a 3rd party to handle them.
We still manage the PXE filter because the node may need DHCP.
Change-Id: Id3585bd32138a069dfcfc0ab04ee4f5f10f0a5ea
Story: #1528920
Task: #11338
The fake classic driver will be removed this release.
Depends-On: Ia0e95cbc1bb4dbd32793705b876ab8b474b753ad
Change-Id: I85f2a2a3ed1ca689c639c60e86853c821e808105
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.
[1]https://review.openstack.org/#/c/508522/
Change-Id: Ie0d7c4268a49d3d3c6928b10987dd5eeede683d6
The devstack example configuration is synchronized with
https://docs.openstack.org/ironic/latest/contributor/dev-quickstart.html
Also remove setting IRONIC_VM_LOGS_DIR from the example local.conf,
as it does not work, at least not on CentOS.
Change-Id: Ife51165742a8b762e84d5ac7ad807480669bfedb
Now we have docs, lets point people there rather than attempting to
maintain a copy in tree.
Also update the devstack plugin to build ironic.conf from scratch rather
than from the sample.
Change-Id: Id65a4f803832fefe467d59147c39d2dea604ed3c
The openstack-ironic-discoverd package is no longer maintained in Fedora,
this patch removes it from the document.
Change-Id: I51eee948c039c3be9f6438eb07bd6ac825036888
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: Ic6ae704cc097e5f27d7f37e5a773f55f0c79a617
Multiple spots were not using DB transactions when processing the terminal
state transitions (error, abort, finish, timeout). The pattern looked like
this:
node_info.fsm_event(istate.Events.error)
# more code
node_info.finished(error='Oops!')
which led to brief periodes of state inconsistency of NodeInfo records in
the DB.
This patch refactors the NodeInfo.finished() method to require a terminal state
transition to perform as part of the NodeInfo state update:
NodeInfo().finished(istate.Events.finish)
NodeInfo().finished(istate.Events.abort, 'Canceled by operator')
This patch also introduces a new state: aborting to allow the inspector to
try call power-off the node before marking the introspection aborted.
There's a new DB migration since the new state implies a schema change too
(Enum).
Closes-Bug: #1721233
Closes-Bug: #1721230
Closes-Bug: #1723384
Change-Id: I0bb051d1956a996ed006d55a5ca2d670d9455047
This is a follow-up patch to address documentation nits from the patch:
I63fe91ee4f9ac3021bcfd9a4a378af56af800fac
Change-Id: If3e4ac1fcc3d3be1508086db122a11df71e7e3e6
A PXE filter driver is introduced that works by configuring and controlling
the dnsmasq service.
Closes-Bug: 1693813
Related-Bug: 1665666
Change-Id: I63fe91ee4f9ac3021bcfd9a4a378af56af800fac
The 'ironic' CLI is going to be deprecated [1]; the 'openstack baremetal'
(OSC) CLI should be used instead. This changes the documentation to refer
to the OSC CLI.
[1] https://bugs.launchpad.net/python-ironicclient/+bug/1700815
Change-Id: I737ba38c6130e7ba123368b6081c4923d1423d98
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
As described in https://bugs.launchpad.net/puppet-ironic/+bug/1714320,
a loop can occur in which dnsmasq always indicates ipxe.efi as the
bootfile if the client request has both UEFI and iPXE options set.
This fixes the documentation for the example dnsmasq.conf so that
loop won't occur.
In addition, some UEFI clients use architecture type 9 so that is
added to the example dnsmasq.conf.
Related-Bug: 1714320
Change-Id: Icdefba2b1be47622c9bd9c3bfb9b3413964c9dac
Documentation layout aligned with the OS standards.
The configuration page refactored, configuration options
documentation automatically generated by
oslo_config.sphinxext.
Closes-Bug: #1706175
Change-Id: I544d92d64833c0887b14509063334c39a0c428f1