0370f5ac97
This change creates all necessary parts to processing inspection data: * New API /v1/continue_inspection Depending on the API version, either behaves like the inspector's API or (new version) adds the lookup functionality on top. The lookup process is migrated from ironic-inspector with minor changes. It takes MAC addresses, BMC addresses and (optionally) a node UUID and tries to find a single node in INSPECTWAIT state that satisfies all of these. Any failure results in HTTP 404. To make lookup faster, the resolved BMC addresses are cached in advance. * New RPC continue_inspection Essentially, checks the provision state again and delegates to the inspect interface. * New inspect interface call continue_inspection The base version does nothing. Since we don't yet have in-band inspection in Ironic proper, the only actual implementation is added to the existing "inspector" interface that works by doing a call to ironic-inspector. Story: #2010275 Task: #46208 Change-Id: Ia3f5bb9d1845d6b8fab30232a72b5a360a5a56d2
44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# Server Specific Configurations
|
|
# See https://pecan.readthedocs.org/en/latest/configuration.html#server-configuration # noqa
|
|
server = {
|
|
'port': '6385',
|
|
'host': '0.0.0.0'
|
|
}
|
|
|
|
# Pecan Application Configurations
|
|
# See https://pecan.readthedocs.org/en/latest/configuration.html#application-configuration # noqa
|
|
app = {
|
|
'root': 'ironic.api.controllers.root.RootController',
|
|
'modules': ['ironic.api'],
|
|
'static_root': '%(confdir)s/public',
|
|
'debug': False,
|
|
'acl_public_routes': [
|
|
'/',
|
|
'/v1',
|
|
# IPA ramdisk methods
|
|
'/v1/lookup',
|
|
'/v1/heartbeat/[a-z0-9\\-]+',
|
|
'/v1/continue_inspection',
|
|
],
|
|
}
|
|
|
|
# WSME Configurations
|
|
# See https://wsme.readthedocs.org/en/latest/integrate.html#configuration
|
|
wsme = {
|
|
'debug': False,
|
|
}
|