Merge "New tripleo_ironic role"
This commit is contained in:
commit
b54eeec0bf
6
doc/source/roles/role-tripleo_ironic.rst
Normal file
6
doc/source/roles/role-tripleo_ironic.rst
Normal file
@ -0,0 +1,6 @@
|
||||
=========================
|
||||
Role - tripleo_ironic_api
|
||||
=========================
|
||||
|
||||
.. ansibleautoplugin::
|
||||
:role: tripleo_ansible/roles/tripleo_ironic
|
@ -37,6 +37,10 @@ tripleo_httpd_vhost_document_root: '/var/www/cgi-bin'
|
||||
tripleo_httpd_vhost_error_log_file: "/var/log/httpd/{{ tripleo_httpd_vhost_access_log_name }}_error.log"
|
||||
tripleo_httpd_vhost_group: 'apache'
|
||||
tripleo_httpd_vhost_headers: []
|
||||
tripleo_httpd_vhost_options:
|
||||
- '-Indexes'
|
||||
- '+FollowSymLinks'
|
||||
- '+MultiViews'
|
||||
tripleo_httpd_vhost_path: '/'
|
||||
tripleo_httpd_vhost_priority: 10
|
||||
tripleo_httpd_vhost_proxy: false
|
||||
|
@ -6,7 +6,7 @@
|
||||
DocumentRoot "{{ tripleo_httpd_vhost_document_root }}"
|
||||
|
||||
<Directory "{{ tripleo_httpd_vhost_document_root }}">
|
||||
Options -Indexes +FollowSymLinks +MultiViews
|
||||
Options {{ tripleo_httpd_vhost_options | join(' ') }}
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
26
tripleo_ansible/roles/tripleo_ironic/defaults/main.yml
Normal file
26
tripleo_ansible/roles/tripleo_ironic/defaults/main.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
# Copyright 2022 Red Hat, Inc.
|
||||
# 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.
|
||||
|
||||
|
||||
# All variables intended for modification should be placed in this file.
|
||||
|
||||
# All variables within this role should have a prefix of "tripleo_ironic_"
|
||||
|
||||
tripleo_ironic_api_httpd_config_httpd_conf: null
|
||||
tripleo_ironic_api_httpd_config_prefork_serverlimit: null
|
||||
tripleo_ironic_api_httpd_config_prefork_maxrequestworkers: null
|
||||
tripleo_ironic_api_httpd_config_mods: null
|
||||
tripleo_ironic_api_httpd_vhost_ssl_ca: null
|
43
tripleo_ansible/roles/tripleo_ironic/meta/main.yml
Normal file
43
tripleo_ansible/roles/tripleo_ironic/meta/main.yml
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
# Copyright 2022 Red Hat, Inc.
|
||||
# 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.
|
||||
|
||||
|
||||
galaxy_info:
|
||||
author: OpenStack
|
||||
description: TripleO OpenStack Role -- tripleo_ironic
|
||||
company: Red Hat
|
||||
license: Apache-2.0
|
||||
min_ansible_version: 2.7
|
||||
namespace: openstack
|
||||
#
|
||||
# Provide a list of supported platforms, and for each platform a list of versions.
|
||||
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
|
||||
# To view available platforms and versions (or releases), visit:
|
||||
# https://galaxy.ansible.com/api/v1/platforms/
|
||||
#
|
||||
platforms:
|
||||
- name: CentOS
|
||||
versions:
|
||||
- 8
|
||||
- 9
|
||||
|
||||
galaxy_tags:
|
||||
- tripleo
|
||||
|
||||
|
||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
||||
# if you add dependencies to this list.
|
||||
dependencies: []
|
@ -0,0 +1,21 @@
|
||||
---
|
||||
# Copyright 2022 Red Hat, Inc.
|
||||
# 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.
|
||||
|
||||
|
||||
- name: Converge
|
||||
hosts: all
|
||||
roles:
|
||||
- role: "tripleo_ironic"
|
@ -0,0 +1,28 @@
|
||||
---
|
||||
driver:
|
||||
name: podman
|
||||
|
||||
provisioner:
|
||||
inventory:
|
||||
hosts:
|
||||
all:
|
||||
hosts:
|
||||
centos:
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
name: ansible
|
||||
log: true
|
||||
env:
|
||||
ANSIBLE_STDOUT_CALLBACK: yaml
|
||||
|
||||
scenario:
|
||||
test_sequence:
|
||||
- destroy
|
||||
- create
|
||||
- prepare
|
||||
- converge
|
||||
- check
|
||||
- verify
|
||||
- destroy
|
||||
|
||||
verifier:
|
||||
name: testinfra
|
@ -0,0 +1,22 @@
|
||||
---
|
||||
# Copyright 2022 Red Hat, Inc.
|
||||
# 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.
|
||||
|
||||
|
||||
- name: Prepare
|
||||
hosts: all
|
||||
roles:
|
||||
- role: test_deps
|
||||
- role: env_data
|
42
tripleo_ansible/roles/tripleo_ironic/tasks/api_httpd.yaml
Normal file
42
tripleo_ansible/roles/tripleo_ironic/tasks/api_httpd.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
- name: Ensure needed params are set
|
||||
fail:
|
||||
msg: "{{ item.k }} must be set to an actual value"
|
||||
when: item.v == None
|
||||
loop:
|
||||
- k: "tripleo_ironic_api_httpd_config_httpd_conf"
|
||||
v: "{{ tripleo_ironic_api_httpd_config_httpd_conf }}"
|
||||
- k: "tripleo_ironic_api_httpd_config_prefork_serverlimit"
|
||||
v: "{{ tripleo_ironic_api_httpd_config_prefork_serverlimit }}"
|
||||
- k: "tripleo_ironic_api_httpd_config_prefork_maxrequestworkers"
|
||||
v: "{{ tripleo_ironic_api_httpd_config_prefork_maxrequestworkers }}"
|
||||
- k: "tripleo_ironic_api_httpd_config_mods"
|
||||
v: "{{ tripleo_ironic_api_httpd_config_mods }}"
|
||||
|
||||
- name: Create httpd config and vhost
|
||||
vars:
|
||||
tripleo_httpd_config_httpd_conf: "{{ tripleo_ironic_api_httpd_config_httpd_conf }}"
|
||||
tripleo_httpd_config_prefork_serverlimit: "{{ tripleo_ironic_api_httpd_config_prefork_serverlimit }}"
|
||||
tripleo_httpd_config_prefork_maxrequestworkers: "{{ tripleo_ironic_api_httpd_config_prefork_maxrequestworkers }}"
|
||||
tripleo_httpd_config_mods: "{{ tripleo_ironic_api_httpd_config_mods }}"
|
||||
tripleo_httpd_vhost_ssl_ca: "{{ tripleo_ironic_api_httpd_vhost_ssl_ca }}"
|
||||
# Fixed params
|
||||
tripleo_httpd_vhost_user: 'ironic'
|
||||
tripleo_httpd_vhost_service_name: 'ironic_api'
|
||||
tripleo_httpd_vhost_group: "{{ tripleo_httpd_vhost_user }}"
|
||||
tripleo_httpd_vhost_access_log_format: 'forwarded'
|
||||
tripleo_httpd_vhost_access_log_name: 'ironic_wsgi'
|
||||
tripleo_httpd_vhost_document_root: '/var/www/cgi-bin/ironic'
|
||||
tripleo_httpd_vhost_wsgi_process_group: "{{ tripleo_httpd_vhost_user }}"
|
||||
tripleo_httpd_vhost_wsgi_daemon_process:
|
||||
ironic:
|
||||
'display-name': 'ironic_wsgi'
|
||||
group: "{{ tripleo_httpd_vhost_user }}"
|
||||
processes: 6
|
||||
threads: 15
|
||||
user: "{{ tripleo_httpd_vhost_user }}"
|
||||
tripleo_httpd_vhost_wsgi: true
|
||||
tripleo_httpd_vhost_wsgi_script_alias:
|
||||
'/': '/var/www/cgi-bin/ironic/app'
|
||||
import_role:
|
||||
name: tripleo_httpd_vhost
|
17
tripleo_ansible/roles/tripleo_ironic/tasks/ipxe_httpd.yaml
Normal file
17
tripleo_ansible/roles/tripleo_ironic/tasks/ipxe_httpd.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
- name: Create httpd config and vhost
|
||||
vars:
|
||||
tripleo_httpd_vhost_user: 'ironic'
|
||||
tripleo_httpd_vhost_service_name: 'ironic'
|
||||
tripleo_httpd_vhost_servername: 'ipxe_vhost'
|
||||
tripleo_httpd_vhost_group: "{{ tripleo_httpd_vhost_user }}"
|
||||
tripleo_httpd_vhost_access_log_name: "{{ tripleo_httpd_vhost_servername }}"
|
||||
tripleo_httpd_vhost_document_root: '/var/lib/ironic/httpboot'
|
||||
tripleo_httpd_vhost_bind_port: 8088
|
||||
tripleo_httpd_vhost_options:
|
||||
- 'Indexes'
|
||||
- 'FollowSymLinks'
|
||||
tripleo_httpd_vhost_wsgi: false
|
||||
tripleo_httpd_vhost_ssl: false
|
||||
import_role:
|
||||
name: tripleo_httpd_vhost
|
@ -38,6 +38,7 @@
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_config
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_vhost
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_image_serve
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_ironic
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_iscsid
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_kernel
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_keystone
|
||||
@ -111,6 +112,7 @@
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_config
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_vhost
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_image_serve
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_ironic
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_iscsid
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_kernel
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_keystone
|
||||
@ -183,6 +185,7 @@
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_config
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_httpd_vhost
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_image_serve
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_ironic
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_iscsid
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_kernel
|
||||
- tripleo-ansible-centos-stream-molecule-tripleo_keystone
|
||||
@ -483,6 +486,13 @@
|
||||
parent: tripleo-ansible-centos-stream-base
|
||||
vars:
|
||||
tripleo_role_name: tripleo_image_serve
|
||||
- job:
|
||||
files:
|
||||
- ^tripleo_ansible/roles/tripleo_ironic/(?!meta).*
|
||||
name: tripleo-ansible-centos-stream-molecule-tripleo_ironic
|
||||
parent: tripleo-ansible-centos-stream-base
|
||||
vars:
|
||||
tripleo_role_name: tripleo_ironic
|
||||
- job:
|
||||
files:
|
||||
- ^tripleo_ansible/roles/tripleo_iscsid/(?!meta).*
|
||||
|
Loading…
Reference in New Issue
Block a user