Commit Graph

647 Commits

Author SHA1 Message Date
Zuul 16dd50e03c Merge "Refactor resource dependencies" 2024-04-11 15:26:50 +00:00
Takashi Kajinami 3896fc5a20 conductor: Support (kernel|ramdisk)_by_arch options
Change-Id: I58ee4c149261e5074ec90256e369943dee0796e5
2024-04-08 18:28:21 +09:00
Takashi Kajinami 7df48f2053 Refactor resource dependencies
This refactors resource dependencies to improve the following points.

 - Avoid unnecessary dependencies across services. For example aodh
   service does not require cinder db.

 - Restart only api service when config files like paste.ini, which
   are used only be api service is changed.

Change-Id: I789537557b60d9a408cec9fde65ac9ddc1cb743b
2024-04-08 13:07:15 +09:00
Takashi Kajinami b2a7f54584 Support rbac_service_* options
... which were added recently to ironic. Note that the specific default
value is defined for rbac_service_project_name, because in Puppet
OpenStack modules 'services' is widely used for service project instead
of 'service', which is the default in ironic.

Depends-on: https://review.opendev.org/907148
Change-Id: I28485f7946d5a040a039e6c200de264a840ba7c4
2024-03-22 13:48:50 +09:00
Zuul 6a7b2ddf09 Merge "pxe: Support more flexible configurations of apache vhost" 2024-03-18 16:24:04 +00:00
Takashi Kajinami 7f66fbdfad pxe: Support more flexible configurations of apache vhost
Closes-Bug: #2056305
Change-Id: I6df8ed173d466c0cd547b322b6798d31f6713607
2024-03-18 00:57:39 +09:00
Zuul 51cd1038d8 Merge "Stop hard-coding config file for db sync" 2024-03-15 03:57:49 +00:00
Takashi Kajinami 8dbb5954cb Stop hard-coding config file for db sync
The ironic-dbsync command by default load service config files.
Removing the override allows us to use additional paths such as
ironic.conf.d in the future.

Note that we still need the hard-coded path for ironic-inspector-dbsync
because the service config file is installed at a path different from
the default one oslo.config attempts to load (the file name should be
"ironic-inspector.conf")

Change-Id: I07e066d240dbe4da3eb2fce9040685cc15997ca0
2024-03-13 10:27:46 +09:00
Takashi Kajinami 875efc2990 healthcheck: Expose ignore_proxied_requests parameter
Depends-on: https://review.opendev.org/909807
Change-Id: I140092e9b370aefc802f8c89d9033f559c0ddbe2
2024-02-26 01:32:35 +09:00
Takashi Kajinami 770aa303c1 Add support for oslo.reports options
Depends-on: https://review.opendev.org/907091
Change-Id: I316de2106716b97fcffc0eec02d4480bb94db972
2024-01-30 01:58:15 +09:00
Takashi Kajinami 39c8e50eab healthcheck: Expose allowed_source_ranges
... which was added to puppet-oslo recently.

Depends-on: https://review.opendev.org/905557
Change-Id: Ie089505d31cc5481e446d74fd299ffed6809d613
2024-01-17 15:07:03 +09:00
Takashi Kajinami ba0bf93c2e Make password parameters required
... because these parameters are actually required for authentication.

Also, fix the inconsistent default values of auth_url parameter.

Depends-on: https://review.opendev.org/903851
Change-Id: I41cdf7f04b8ced4f591d7b1ceb5b1138462ff4fd
2023-12-18 12:48:58 +09:00
Takashi Kajinami 1cd6c98b05 inspector: Make password parameters required
... because these parameters are actually required for authentication.

Also, fix the inconsistent default values of auth_url parameter.

Change-Id: Ic2c0e5d51825b7baa5c11be5c8bbf842f60b2f22
2023-12-18 09:56:57 +09:00
Zuul 4ea8a53abf Merge "inspector: non-standalone mode support" 2023-11-27 10:33:27 +00:00
Zuul de546b6500 Merge "Refactor unit tests for ironic class" 2023-11-20 18:49:40 +00:00
Zuul 397918f9cc Merge "inspector: Support oslo.messaging options" 2023-11-20 18:49:39 +00:00
Takashi Kajinami 60a2180ffa inspector: non-standalone mode support
The ironic-inspector service can be deployed using separate api service
and conductor service. This introduces the initial support for that
deployment pattern. Note that the non-standalone mode is supported in
only RHEL and CentOS. We may add Debian support later.

Change-Id: Ic53d454841252cfb6802cd7856faaab2435b984b
2023-11-21 01:54:12 +09:00
Takashi Kajinami 6dd89d34a5 inspector: Support oslo.messaging options
The ironic-inspector service has api workers and rpc workers and these
communicate over rabbitmq.

Closes-Bug: #2043931
Change-Id: I759c856d9f19c970390a10ca3b19ba0458190203
2023-11-20 09:55:33 +09:00
Takashi Kajinami 3e5b48234f Refactor unit tests for ironic class
... and improves parameter coverage.

Change-Id: I2f1173dbaf0494d667e2e3a38e0d4bcad18b7a75
2023-11-20 02:59:13 +09:00
Takashi Kajinami 1e8d747269 Use new openstackclient tag
The new openstackclient tag was added so that we can get all resources
about openstack CLI more easily. This adds this tag to ironicclient
because the plugin provides some sub-commands.

This also removes the support package tag because the client package is
not at all used by ironic itself.

In addition, openstackclient is needed to query keystone api when
transform in ironic_config is used.

Depends-on: https://review.opendev.org/899594
Change-Id: I46dcf0f8e7f9b72d27317d310bffdd25653a25cf
2023-11-20 01:07:52 +09:00
Zuul b757316ed7 Merge "Remove unused functions from base provider" 2023-11-17 18:43:36 +00:00
Takashi Kajinami 3cad74dac3 Remove unused functions from base provider
These functions in the base provider has been unused.

Change-Id: I265ddb8236335abfabc01abd30eafaa2cda6712d
2023-11-16 14:54:29 +00:00
Zuul 90cb5b7b74 Merge "inspector: Add support for iptables PXE filter options" 2023-11-07 21:06:28 +00:00
Takashi Kajinami 0cd31ddc21 inspector: Add support for iptables PXE filter options
This introduces a new class to manage [pxe] options, which are used by
the iptables PXE filter options.

The configuration of [pxe] dnsmasq_interface option will be moved to
the new class, following the existing implementation to configure
the [dnsmasq_pxe_filter] dhcp_hostsdir option.

Change-Id: If0ec9eecb70d9976de76899fc115fc9facc75fdd
2023-11-05 23:19:12 +09:00
Takashi Kajinami b745148c4b Remove deprecated ip_version parameter
This [pxe] ip_version parameter was deprecated in ironic during Xena
cycle and has been unused by in-tree drivers since Ussuri[1].

This also removes cleanup of [pxe] ipxe_enabled which was added a few
cycles back.

[1] b2a249d186b77def6cd449d34fd600520c159a50

Change-Id: I67ecf2e0bebc93ad20733677662c51ad31619f01
2023-11-04 23:40:37 +09:00
Zuul d295fd035a Merge "inspector: Fix missing new line in dnsmasq.conf with multiple subnets" 2023-11-02 15:33:56 +00:00
Zuul 943d8d8940 Merge "Map ironic-inspector resources to anchors" 2023-11-02 15:33:55 +00:00
Zuul beedc94a7e Merge "Do not override ipa-inspection-collectors by default" 2023-11-02 15:33:53 +00:00
Zuul 892d9575bb Merge "inspector: Ensure valid elements for kernel args" 2023-11-02 15:33:52 +00:00
Takashi Kajinami e1a89eb585 inspector: Fix missing new line in dnsmasq.conf with multiple subnets
... and make pattern match for inspector dnsmasq.conf more
strict to  detect missing new lines or unnecessary elements.

Closes-Bug: #2042526
Change-Id: I03abeb7c1519f5a2cbcddaa3722d4053eab3566f
2023-11-02 14:48:18 +09:00
Takashi Kajinami f47e1614c7 Do not override ipa-inspection-collectors by default
The ipa-inspection-collectors option is optional so can be omitted.

Note that this change effectively enables the log collector which is
enabled by default in IPA since 6.4.0[1].

[1] d50ff06b6bbf8909496882c7200c11299dc6b039

Change-Id: I779d35d8244759023fe2dc1e889f5f4674b78561
2023-11-02 13:28:49 +09:00
Takashi Kajinami 56a629f1da Map ironic-inspector resources to anchors
and fixes missing notification from ironic-inspector service to
ironic-inspector::service::end anchor so that users can use the end
anchor to detect any change in services.

Change-Id: Idf2489d8591b7037545d26474bf292218acd367c
2023-11-02 12:39:03 +09:00
Takashi Kajinami be958cc538 pxe: Support _by_arch options
This introduces support for the following parameters which defines
files used for specific architecture such as aarch64.

 - [pxe] uefi_pxe_bootfile_name
 - [pxe] uefi_ipxe_bootfile_name
 - [pxe] pxe_config_template_by_arch

Change-Id: I85a3c71b3dd00dff9538c248d4b1ea7e7ef800cb
2023-11-02 09:05:06 +09:00
Takashi Kajinami 7c2fb19c95 inspector: Ensure valid elements for kernel args
The following parameters only accept string values and a different type
such as array can result in wrongly rendered template file.
 - ramdisk_collectors
 - ramdisk_filename
 - kernel_filename
 - ramdisk_kernel_args

In additionl the following parameters can't accept empty strings.
 - ramdisk_collectors
 - ramdisk_filename
 - kernel_filename

Change-Id: I0787d2c2b9eacb51ef02d1c1cb7cbda895755b19
2023-11-02 00:46:01 +09:00
Takashi Kajinami 6c146bf625 Accept hash value for [pxe] loader_file_paths
... because the option accepts a string representing a dictionary.

Change-Id: I246f0815b1f3bc096cc46590466e26254c62f253
2023-11-01 14:45:08 +00:00
Takashi Kajinami 2104bc4991 Do not test details of openstacklib::db::postgresql
... but only assert the inputs for the defined resource type. This
allows us to avoid unit test failure caused by changes in underlying
modules.

Change-Id: Iabcf453028e284ee3cc5ede1bb637b79cedf1fea
2023-11-01 19:15:29 +09:00
Zuul 7d85110fad Merge "Set [deploy] http_root option using the common class input" 2023-10-14 06:19:59 +00:00
Takashi Kajinami 40fc5c03e7 Remove usage of deleted manifest_dir
Recent update in rspec-puppet removed some of the config interfaces for
old puppet versions[1]. This drops usage of these interfaces to resolve
the following error in unit tests.

```
An error occurred while loading ./spec/unit/provider/manila_spec.rb.
Failure/Error: c.manifest_dir = File.join(fixture_path, 'manifests')

NoMethodError:
  undefined method `manifest_dir='...
```

This also removes explicit setting of mock module. The definition is
no longer required since we bumped puppetlabs_spec_helper to v 5.0.0.

[1] 316d95923c

Change-Id: I10a66f937645d810bfdaaf143d7579c7b003cb2b
2023-10-11 12:01:07 +09:00
Takashi Kajinami 4b0635bab8 RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866
Change-Id: I8823c4f61a984ac794c2c675af152e1a410a75e8
2023-09-15 13:59:05 +09:00
Zuul 58dce96f1a Merge "Remove deprecated network name parameters" 2023-08-08 04:58:37 +00:00
Takashi Kajinami aa6117b2a0 Set [deploy] http_root option using the common class input
Previously the [deploy] http_root option is set independently from
the common pxe parameters but this requires that users set both of
these options consistently.

This ensures the option is set according to the common definition.

This also ensures both http_root and tftp_root have the hard-coded
default value, because we rely on these values heavily in setting up
tftp server and http server and any change in ironic side can break
the deployment directly.

Change-Id: Ia26fa37b3fcba7d89c3d39c7d91b8c6e4cffde8c
2023-08-06 19:33:28 +09:00
Takashi Kajinami 9207422cf3 Remove deprecated network name parameters
These were deprecated during an old cycle[1].

[1] 0a3af34213

Change-Id: I2f91bbc26709a9188478d866f3875bd8ca6317d3
2023-08-06 18:48:16 +09:00
Takashi Kajinami 62b44e2f38 Disable Index in http server for iPXE boot
The Index option is sometimes considered as a security risk. Because
ironic/ironic-inspector does not require the option really, let's
disable the option to clear that concern.

Change-Id: Id5a79670685be66df6e4f8eb8d9af5ca0efc8e5a
2023-08-04 14:48:41 +00:00
Tobias Urdin 7c5b921065 Add per module policy service refresh
Updating the policies for this project should only
refresh the services that reads it.

Change-Id: I051bf72e078071eee7e76638a4b17b0f8dd80013
2023-06-26 10:10:15 +09:00
Takashi Kajinami 447c836c60 Accept a string for [DEFAULT] enabled_<type>_interfaces
... as we generally do for list options.

Change-Id: I5f14773ddfe928d7566343520d85ab3d8bd62b0e
2023-06-21 02:04:22 +00:00
Thomas Goirand 643b3d1473 params.pp: Fix deb systemd_python_package
This fixes a wrong package name in Debian and Ubuntu
in params.pp:
python-systemd -> python3-systemd

Change-Id: Ibe3e54ece03f112d5fa93c22b402116050e65402
2023-05-11 00:22:55 +02:00
Takashi Kajinami 35f2b5eeeb Add support for [redfish] firmware_source
Change-Id: I1eab4dd24ed9e21076f073181a0245568d8ff7c5
2023-04-03 11:04:37 +09:00
Thomas Goirand 73b91cf53b Add support for ironic_api_uwsgi_config in Debian
This patch is adding the configuration of the number of workers,
threads, and the size of the listen queue in Debian, which uses
uwsgi to run Ironic API. Therefore, this patch adds a new
ironic_api_uwsgi_config provider as well as a new
ironic::wsgi::uwsgi class.

Change-Id: Ib9a98bd26e1f970bb00efadb59b4d9b5b731bdaa
2023-03-22 23:17:09 +09:00
Zuul ba48629c4b Merge "api: Remove redundant hard-coded defaults" 2023-03-17 09:14:04 +00:00
Takashi Kajinami f54403a202 api: Remove redundant hard-coded defaults
The values baked in the class are same as the service defaults, thus
can be replaced by the os_service_default fact. This allows us to
leverage any change in underlying service timely.

Change-Id: Ie4655381ffda7ac238c08c172c12d09bf4e4bbd2
2023-03-16 13:46:15 +09:00