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
... 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
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
... 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
... because these parameters are actually required for authentication.
Also, fix the inconsistent default values of auth_url parameter.
Change-Id: Ic2c0e5d51825b7baa5c11be5c8bbf842f60b2f22
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
The ironic-inspector service has api workers and rpc workers and these
communicate over rabbitmq.
Closes-Bug: #2043931
Change-Id: I759c856d9f19c970390a10ca3b19ba0458190203
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
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
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
... and make pattern match for inspector dnsmasq.conf more
strict to detect missing new lines or unnecessary elements.
Closes-Bug: #2042526
Change-Id: I03abeb7c1519f5a2cbcddaa3722d4053eab3566f
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
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
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
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
... 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
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
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
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
This fixes a wrong package name in Debian and Ubuntu
in params.pp:
python-systemd -> python3-systemd
Change-Id: Ibe3e54ece03f112d5fa93c22b402116050e65402
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
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