Skip to content

Commit 2b1519c

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Remove the ability to install and use ironic-inspector"
2 parents 88f9b33 + 4143fa7 commit 2b1519c

File tree

31 files changed

+35
-754
lines changed

31 files changed

+35
-754
lines changed

doc/source/user/architecture.rst

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@ ironic_
1313
Ironic is the main service that provides bare metal capabilities.
1414
Its `bare metal API`_ is served on TCP port 6385.
1515

16-
ironic-inspector_
17-
Inspector is an auxiliary service that provides `in-band inspection`_.
18-
Its `introspection API`_ is served on TCP port 5050.
19-
20-
Inspector is deprecated and can be enabled by setting
21-
``enable_inspector=true``. Otherwise, Ironic's `native in-band inspection`_
22-
is used.
23-
2416
mariadb_
2517
MariaDB is used as a database to persistently store information.
2618

@@ -35,9 +27,8 @@ nginx_
3527
Uses HTTP port 8080 by default (can be changed via the ``file_url_port``
3628
parameter).
3729

38-
When TLS is enabled, Nginx serves as a TLS proxy for Ironic and Inspector.
39-
It listens on ports 6385 and 5050 and passes requests to the services
40-
via unix sockets.
30+
When TLS is enabled, Nginx serves as a TLS proxy for Ironic. It listens on
31+
port 6385 and passes requests to the service via a unix socket.
4132

4233
dnsmasq_
4334
Dnsmasq is used as a DHCP and TFTP server (but not for DNS by default)
@@ -51,7 +42,7 @@ The following components can be enabled if needed:
5142

5243
keystone_
5344
Keystone is an OpenStack Identity service. It can be used to provide
54-
sophisticated authentication to Ironic and Inspector instead of HTTP basic
45+
sophisticated authentication to Ironic instead of HTTP basic
5546
authentication. Its `identity API`_ is served using uWSGI and Nginx on the
5647
port 5000, the systemd service is called ``uwsgi@keystone-public``.
5748

@@ -92,7 +83,7 @@ Parameters
9283
192.168.122.1
9384
9485
This IP address is used for all provisioning traffic: TFTP, iPXE,
95-
call-backs to Ironic and Inspector. It is also used for the traffic between
86+
and call-backs to Ironic. It is also used for the traffic between
9687
the services.
9788

9889
``public_ip``
@@ -129,11 +120,11 @@ Log locations
129120
~~~~~~~~~~~~~
130121

131122
journald
132-
is used for logging from most services. For example, to get Inspector logs:
123+
is used for logging from most services. For example, to get Ironic logs:
133124

134125
.. code-block:: console
135126
136-
$ sudo journalctl -u ironic-inspector
127+
$ sudo journalctl -u ironic
137128
138129
``/var/log/ironic/deploy``
139130
contains tarballs with ramdisk logs from deployment or cleaning. The file
@@ -148,10 +139,6 @@ journald
148139
$ less journal # for ramdisks that use systemd, e.g. DIB-built
149140
$ less var/log/ironic-python-agent.log # for tinyIPA and similar
150141
151-
``/var/log/ironic-inspector/ramdisk``
152-
contains tarballs with ramdisk logs from inspection. They are very similar
153-
to ramdisk logs from deployment and cleaning.
154-
155142
``/var/log/nginx/``
156143
contains logs for serving files (iPXE scripts, images, virtual media ISOs).
157144

@@ -190,15 +177,11 @@ Runtime locations
190177
when cleaning or deploying.
191178

192179
``/run/ironic``
193-
When TLS is enabled, this directory contains unix sockets of Ironic and
194-
Inspector, which Nginx uses to pass requests.
180+
When TLS is enabled, this directory contains the unix socket of Ironic,
181+
that Nginx uses to pass requests.
195182

196183
.. _ironic: https://docs.openstack.org/ironic/latest/
197184
.. _bare metal API: https://docs.openstack.org/api-ref/baremetal/
198-
.. _ironic-inspector: https://docs.openstack.org/ironic-inspector/latest/
199-
.. _in-band inspection: https://docs.openstack.org/ironic/latest/admin/inspection/inspector.html
200-
.. _introspection API: https://docs.openstack.org/api-ref/baremetal-introspection/
201-
.. _native in-band inspection: https://docs.openstack.org/ironic/latest/admin/inspection/index.html
202185
.. _mariadb: https://mariadb.org/
203186
.. _nginx: https://nginx.org/
204187
.. _dnsmasq: https://dnsmasq.org/

doc/source/user/howto.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ example:
2222
export OS_CLOUD=bifrost
2323
baremetal node list
2424
25-
.. note::
26-
Previously, a separate cloud ``bifrost-inspector`` was provided for
27-
introspection commands. It is now deprecated, the main ``bifrost`` cloud
28-
should always be used.
29-
3025
Environment variables
3126
---------------------
3227

playbooks/ci/run.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,3 @@
2323
ENABLE_TLS: "{{ enable_tls | default(false) | bool | lower }}"
2424
ENABLE_PROMETHEUS_EXPORTER: "{{ enable_prometheus_exporter | default(false) | bool | lower }}"
2525
USE_VMEDIA: "{{ use_vmedia | default(false) | bool | lower }}"
26-
USE_INSPECTOR: "{{ use_inspector | default(false) | bool | lower }}"

playbooks/roles/bifrost-ironic-install/README.md

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ bifrost-ironic-install role.
2525
testing: false
2626

2727
Enables no-authentication mode where no authentication is used for accessing
28-
API services. The default setting of ``true`` makes ironic and ironic-inspector
28+
API services. The default setting of ``true`` makes ironic
2929
either use keystone (if ``enable_keystone`` is true) or HTTP basic auth
3030
(use ``admin_username``/``admin_password`` and
3131
``default_username``/``default_password`` to configure).
@@ -196,9 +196,6 @@ remote_syslog_port: String value, default is 514. If set, custom port is
196196
ironic_log_dir: String value, default undefined. If set, it specifies a
197197
a non-default log directory for ironic.
198198

199-
inspector_log_dir: String value, default undefined. If set, it specifies a
200-
non-default log directory for inspector.
201-
202199
nginx_log_dir: String value, default /var/log/nginx. It specifies a log
203200
directory for nginx.
204201

@@ -207,9 +204,9 @@ fast_track: Boolean setting to enable ironic to leverage an already running
207204
immediately as opposed to waiting for a complete system reboot.
208205

209206
power_off_after_inspection: Boolean setting governing the behavior
210-
of ironic-inspector's processing.
207+
of inspection.
211208
The default is to not power-off machines
212-
effectively enabling the Inspection to
209+
effectively enabling moving from Inspection to
213210
Deployment without the need to reboot
214211
the physical machine.
215212

@@ -222,22 +219,7 @@ enable_credential_less_deploy: Boolean setting that enables the experimental
222219

223220
### Hardware Inspection Support
224221

225-
Bifrost also supports the installation of ironic-inspector in standalone
226-
mode, which enables the user to allow for identification of the system
227-
properties via a workflow.
228-
229-
enable_inspector: Boolean value, default true. Set this value to false to
230-
prevent installing ironic-inspector.
231-
232-
inspector_debug: Boolean value, default true. Enables debug level logging
233-
for inspector. Note that this default may change in
234-
future.
235-
236-
inspector_manage_firewall: Boolean value, default false. Controls whether
237-
ironic-inspector should manage the firewall
238-
rules of the host. Bifrost's installation playbook
239-
adds the rule to permit the callback traffic,
240-
so you shouldn't need to enable this.
222+
Bifrost also supports identification of the system properties via a workflow.
241223

242224
inspector_port_addition: Defines which MAC addresses to add as ports during
243225
introspection. Possible values are `all`, `active`,
@@ -247,10 +229,6 @@ inspector_keep_ports: Defines which ports on a node to keep after
247229
introspection. Possible values are `all`, `present`,
248230
and `added`. The default value is `present`.
249231

250-
inspector_store_ramdisk_logs: Boolean value, default true. Controls if the
251-
inspector agent will retain logs from the
252-
ramdisk that called the inspector service.
253-
254232
enable_inspector_discovery: Boolean value, default false. This instructs
255233
inspector to add new nodes that are discovered
256234
via PXE booting on the same network to ironic.
@@ -266,11 +244,6 @@ inspector_extra_kernel_options: String value, default undefined. Extra
266244
kernel parameters for the inspector default
267245
PXE configuration.
268246

269-
inspector_processing_hooks: String value containing a comma-separated list,
270-
default undefined. Use this to specify a
271-
non-default list of comma-separated processing
272-
hooks for inspector.
273-
274247
### Virtual Environment Install
275248

276249
Bifrost installs ironic and other services into a python virtual environment
@@ -315,10 +288,6 @@ Please note, if the hostname is set to something besides``localhost``,
315288
then the playbook will not attempt to create databases, database users,
316289
and grant privileges.
317290

318-
Similarly, if hardware introspection support is installed, the
319-
nearly identical data structure for inspector can be found in the
320-
same file named ``ironic_inspector``.
321-
322291
Notes
323292
-----
324293

playbooks/roles/bifrost-ironic-install/defaults/main.yml

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ file_url_port: "8080"
1818
file_url_port_tls: "8083"
1919
ironicclient_source_install: false
2020
openstacksdk_source_install: false
21-
ironicinspector_source_install: true
22-
ironicinspectorclient_source_install: false
2321
sushy_source_install: false
2422
staging_drivers_source_install: true
2523
prometheus_exporter_source_install: true
@@ -205,8 +203,6 @@ ironicclient_git_url: https://opendev.org/openstack/python-ironicclient
205203
openstacksdk_git_url: https://opendev.org/openstack/openstacksdk
206204
ironic_git_url: https://opendev.org/openstack/ironic
207205
staging_drivers_git_url: https://opendev.org/x/ironic-staging-drivers
208-
ironicinspector_git_url: https://opendev.org/openstack/ironic-inspector
209-
ironicinspectorclient_git_url: https://opendev.org/openstack/python-ironic-inspector-client
210206
ipa_git_url: https://opendev.org/openstack/ironic-python-agent
211207
ipa_builder_git_url: https://opendev.org/openstack/ironic-python-agent-builder
212208
prometheus_exporter_git_url: https://opendev.org/openstack/ironic-prometheus-exporter
@@ -218,8 +214,6 @@ openstacksdk_git_folder: /opt/stack/openstacksdk
218214
dib_git_folder: /opt/stack/diskimage-builder
219215
reqs_git_folder: /opt/stack/requirements
220216
staging_drivers_git_folder: /opt/stack/ironic-staging-drivers
221-
ironicinspector_git_folder: /opt/stack/ironic-inspector
222-
ironicinspectorclient_git_folder: /opt/stack/python-ironic-inspector-client
223217
sushy_git_folder: /opt/stack/sushy
224218
ipa_git_folder: /opt/stack/ironic-python-agent
225219
ipa_builder_git_folder: /opt/stack/ironic-python-agent-builder
@@ -307,19 +301,9 @@ inventory_dns: False
307301
# Several NTP servers can be specified, separated by commas.
308302
# dnsmasq_ntp_servers:
309303

310-
# Settings to enable the use of inspector
311-
enable_inspector: false
312-
inspector_debug: true
313-
inspector_manage_firewall: false
314-
315304
# Set ironic_log_dir to use a non-default log directory for ironic.
316305
#ironic_log_dir: /var/log/ironic
317306

318-
# Set inspector_log_dir to use a non-default log directory for inspector.
319-
#inspector_log_dir:
320-
inspector_ramdisk_logs_local_path: /var/log/ironic-inspector/ramdisk
321-
322-
inspector_store_ramdisk_logs: true
323307
# Note: inspector_port_addition has three valid values: all, active, pxe
324308
inspector_port_addition: "pxe"
325309

@@ -330,10 +314,6 @@ inspector_keep_ports: "present"
330314
# PXE configuration.
331315
inspector_extra_kernel_options: "ipa-inspection-collectors=default,logs"
332316

333-
# Set inspector_processing_hooks to specify a non-default comma-separated
334-
# list of processing hooks for inspector.
335-
#inspector_processing_hooks:
336-
337317
enable_inspector_discovery: false
338318

339319
inspector_default_node_driver: "{{ 'manual-management' if enable_credential_less_deploy | bool else 'ipmi' }}"
@@ -369,7 +349,6 @@ enable_keystone: false
369349
# Service URLs used for communication with them.
370350
api_protocol: "{{ 'https' if enable_tls | bool else 'http' }}"
371351
ironic_api_url: "{{ api_protocol }}://{{ internal_ip }}:6385"
372-
ironic_inspector_api_url: "{{ api_protocol }}://{{ internal_ip }}:5050"
373352
keystone_api_url: "{{ api_protocol }}://{{ internal_ip }}:5000/v3"
374353

375354
# Directory (on the controller) to keep the passwords
@@ -404,21 +383,6 @@ ironic:
404383
password: "{{ ironic_db_password }}"
405384
host: "localhost"
406385

407-
ironic_inspector:
408-
service_catalog:
409-
username: "ironic_inspector"
410-
password: "{{ service_password }}"
411-
auth_url: "{{ keystone_api_url }}"
412-
project_name: "service"
413-
keystone:
414-
default_username: "{{ default_username }}"
415-
default_password: "{{ default_password }}"
416-
database:
417-
name: "inspector"
418-
username: "inspector"
419-
password: "{{ ironic_db_password }}"
420-
host: "localhost"
421-
422386
# NOTE(dtantsur): keep in sync with bifrost-keystone-install
423387
keystone:
424388
debug: true
@@ -451,7 +415,6 @@ vmedia_enable_tls: "{{ enable_tls }}"
451415
tls_root: /etc/bifrost
452416
tls_certificate_path: "{{ tls_root }}/bifrost.crt"
453417
ironic_private_key_path: /etc/ironic/ironic.pem
454-
ironic_inspector_private_key_path: /etc/ironic-inspector/inspector.pem
455418
httpboot_private_key_path: /etc/nginx/httpboot.pem
456419
# If true, the conductor's JSON RPC will be available globally (and with TLS)
457420
expose_json_rpc: false

playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,6 @@
245245
state: directory
246246
mode: "0755"
247247

248-
- name: "Install ironic-inspector to permit use of inspection interface"
249-
include_tasks: inspector_bootstrap.yml
250-
when: enable_inspector | bool
251-
252248
- name: "Get ironic install location"
253249
shell: echo $(dirname $(which ironic))
254250
register: ironic_install_prefix
@@ -478,9 +474,9 @@
478474
- ansible_os_family == 'RedHat'
479475
- ansible_selinux.status == 'enabled'
480476
block:
481-
- name: "Allow nginx, ironic, inspector and IPA ports on SELinux"
477+
- name: "Allow nginx, ironic and IPA ports on SELinux"
482478
seport:
483-
ports: "{{ file_url_port }},{{ file_url_port_tls }},6385,5050,9999"
479+
ports: "{{ file_url_port }},{{ file_url_port_tls }},6385,9999"
484480
proto: tcp
485481
setype: http_port_t
486482
state: present

playbooks/roles/bifrost-ironic-install/tasks/create_tftpboot.yml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -174,17 +174,12 @@
174174

175175
# TODO(TheJulia): The pxelinux folder is statically coded in ironic.
176176
# For now, we need to use it, but we can patch that.
177-
- name: "Inspector - Place default tftp boot file in {{ http_boot_folder }}/pxelinux.cfg/"
177+
- name: "Place default tftp boot file in {{ http_boot_folder }}/pxelinux.cfg/"
178178
template:
179-
src: inspector-default-boot-ipxe.j2
179+
src: default-boot-ipxe.j2
180180
dest: "{{ http_boot_folder }}/pxelinux.cfg/default"
181181
owner: ironic
182182
group: ironic
183183
mode: "0644"
184184
vars:
185-
inspection_callback_url: >-
186-
{%- if enable_inspector | bool -%}
187-
{{ api_protocol }}://{{ internal_ip }}:5050/v1/continue
188-
{%- else -%}
189-
{{ api_protocol }}://{{ internal_ip }}:6385/v1/continue_inspection
190-
{%- endif -%}
185+
inspection_callback_url: "{{ api_protocol }}://{{ internal_ip }}:6385/v1/continue_inspection"

0 commit comments

Comments
 (0)