Commit Graph

18 Commits

Author SHA1 Message Date
Damian Dabrowski 61fd6b6e14 Add TLS support to ironic backends
By overriding the variable `ironic_backend_ssl: True` HTTPS will
be enabled, disabling HTTP support on the ironic backend api.

The ansible-role-pki is used to generate the required TLS
certificates if this functionality is enabled.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085
Change-Id: If97a857c36e9e3e7ad8a18926bb9cbf04189c7cb
2023-04-29 18:37:37 +02:00
Dmitriy Rabotyagov e9fab281bd Ensure service is restarted on unit file changes
At the moment we don't restart services if systemd unit file is changed.

We knowingly prevent systemd_service role handlers to execute
by providing `state: started` as otherwise service will be restarted twice.
With that now  we ensure that role handlers will also listen for systemd
unit changes.

Change-Id: Ia9d1164e1e38201244a062be95f936b314c5c56b
2023-04-10 14:08:08 +00:00
Jonathan Rosser 809e2dd185 Remove legacy policy.json cleanup handler
Change-Id: Icacceda4d73caaef54a2efca83a08dd7487bef83
2022-02-02 04:13:55 -05:00
James Denton f7e6cc04cf Update Ironic Inspector for Metal Deployments
This patchset aims to correct some design limitations with the current
ironic-inspector deploy process.

- a new ironic-inspector-dnsmasq service has been created to split
inspector-specific dnsmasq configuration out of the base dnsmasq
config files
- PXE/iPXE and UEFI support for ironic-inspector boot
- (todo) documentation improvements and diagrams

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/823426
Change-Id: Ib5cbb28f97dd7421bfecb815def89305f3b1da33
2022-01-11 19:56:38 +00:00
Dmitriy Rabotyagov 109698e942 [goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to replace policy.json to
policy.yaml and remove deprecated policy.json.

config_template has been choosen instead of the copy, since it can
properly handle content that has been lookuped.

We make a separate task not to restart service when it's not needed.

[1] https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Change-Id: I701473f4d99e0be06dea494eee4f08212bb7d853
2021-03-24 12:14:22 +00:00
Jonathan Rosser e5920f628e Use ansible_facts[] instead of fact variables
See https://github.com/ansible/ansible/issues/73654

Change-Id: If731b98c03bae2b38eb494c060699abea3cda9e0
2021-03-16 08:04:54 +00:00
Jonathan Rosser a0a07a43ac Remove references to unsupported operating systems
All references to Gentoo, SUSE, Debian stretch and Centos-7  are removed.
Conditional tasks, ternary operators and variables are simplified where possible
OS specific variables files are generalised where possible

Change-Id: Ia73e88947f52a74d9c03a17a7b1201a6346b5ac3
2021-03-10 12:16:38 +00:00
James Denton 8f3a9e207c Add iPXE support to Ironic Conductor
This patchset adds support for iPXE, which can speed up baremetal
provisioning considerably due to the use of HTTP versus TFTP.

Change-Id: I8b49ae37a0380cd7a2191f050a52c85cc373026b
2020-10-22 15:24:19 +00:00
Cam Loader 7da7127071 Adds configuration for the Ironic Inspector
This commit enables and configures the Ironic Inspector. This feature
allows for baremetal nodes to be introspected. This provides useful
information about an Ironic host. Such information includes harware
and mac addresses.

Depends-On: https://review.opendev.org/680553
Change-Id: I2ee09d9cc20f9b8e4430c55129cd8bac9435299d
2019-12-06 06:21:05 +00:00
Mohammed Naser 0a2092a087 tftp: start on boot & fix tftp paths
This fixes the tftp service name on CentOS and makes sure that
the service is running on boot.  It also makes sure that the
tftp_root is setup correctly for the default configuration
on CentOS.

Change-Id: I56944ea905b5ea908cf1e93d5ae1325e68788562
2019-08-16 11:11:04 +00:00
Jesse Pretorius 7266fe2197 Use a common python build/install role
In order to radically simplify how we prepare the service
venvs, we use a common role to do the wheel builds and the
venv preparation. This makes the process far simpler to
understand, because the role does its own building and
installing. It also reduces the code maintenance burden,
because instead of duplicating the build processes in the
repo_build role and the service role - we only have it all
done in a single place.

We also change the role venv tag var to use the integrated
build's common venv tag so that we can remove the role's
venv tag in group_vars in the integrated build. This reduces
memory consumption and also reduces the duplication.

This is by no means the final stop in the simplification
process, but it is a step forward. The will be work to follow
which:

1. Replaces 'developer mode' with an equivalent mechanism
   that uses the common role and is simpler to understand.
   We will also simplify the provisioning of pip install
   arguments when doing this.
2. Simplifies the installation of optional pip packages.
   Right now it's more complicated than it needs to be due
   to us needing to keep the py_pkgs plugin working in the
   integrated build.
3. Deduplicates the distro package installs. Right now the
   role installs the distro packages twice - just before
   building the venv, and during the python_venv_build role
   execution.

Depends-On: https://review.openstack.org/598957
Change-Id: I9c25b430bd7590131b50f36c697fcc24e1abaf64
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
2018-09-03 12:01:56 +00:00
Andy McCrae 227a672eeb Implement uWSGI for ironic-api
Ironic already had mod_wsgi setup, but this patch moves it to use uWSGI.
Additionally, this moves to use a filtered_services_list for Ironic

The ironic role should be standardized to meet the service setup of
other roles, using a filtered service list, and a dict of services with
settings moves us closer to this.

Change-Id: Ib432380dbc2ea11f9ac005713121a7b42ab97109
2017-08-11 10:48:58 +01:00
Flávio Ramalho d3edce127d Adds support for the ironic-oneview drivers [+Docs].
This change adds support for the oneview drivers (agent, iscsi).

Note that changes on the ironic installation will occur only when
the oneview drivers are being used (agent_pxe_oneview or
iscsi_pxe_oneview are in the ironic_openstack_driver_list). This
means that this patch should not change anything on the the default
ironic installation (using agent_ipmitool driver).

Change-Id: I969df888c6a8b68e7a1a0643b46eee4b546ec13c
2017-01-27 15:44:24 -03:00
Andy McCrae 35e96e7271 Remove Trusty support from os_ironic
Change-Id: I35f90d708cda58c5b09f17e5596cf226d1b16605
Implements: blueprint trusty-removal
2016-12-15 13:18:23 +00:00
Travis Truman b32b092ace Ansible 2.x - Address deprecation warning of bare variables
Ansible 2.2 will not allow "bare" variable references
in with_* loops. See https://docs.ansible.com/ansible/porting_guide_2.0.html#deprecated
for details.

Change-Id: I70571efd5ff409a0a96e339a9cd6812ffd045277
2016-04-19 14:56:13 -04:00
root aabd2d9809 Isolating standalone Ironic mode 2016-02-15 09:39:27 +00:00
Michael Davies b40dd35bdc General cleanup, incl. copyright headers 2015-11-27 12:59:56 +10:30
Michael Davies c578f230a0 Initial commit 2015-11-26 22:18:44 +10:30