Files
Dmitriy Rabotyagov afaadb53ff Implement GRUB modification process
In some cases it might be required to supply extra kernel options
through GRUB modification. Good example of that is enablement
of hugepages [1].

Adding variable `openstack_host_grub_options` should allow to
manage GRUB-related options reliably and out-of-the-box.

[1] https://docs.openstack.org/nova/latest/admin/huge-pages.html#enabling-huge-pages-on-the-host

Change-Id: I148ed1760d841dd99bc1e075b6200d6d7e835530
Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
2025-07-30 13:01:56 +00:00

99 lines
2.6 KiB
YAML

---
# Copyright 2016, Rackspace US, Inc.
#
# 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.
## Defined required kernel
openstack_host_required_kernel: 5.4.0-0-generic
openstack_host_sysstat_file: /etc/default/sysstat
openstack_host_sysstat_cron_file: /etc/cron.d/sysstat
openstack_host_cron_template: sysstat.cron.debian.j2
_openstack_host_initramfs_command: /usr/sbin/update-initramfs -u
_openstack_host_update_grub_command: grub-mkconfig -o /boot/grub/grub.cfg
## Kernel modules loaded on hosts
openstack_host_kernel_modules:
- name: 8021q
- name: br_netfilter
- name: dm_multipath
- name: dm_snapshot
- name: ebtables
- name: ip6table_filter
- name: ip6_tables
- name: ip_tables
- name: xt_MASQUERADE
- name: ipt_REJECT
- name: iptable_filter
- name: iptable_mangle
- name: iptable_nat
- name: ip_vs
- name: iscsi_tcp
- name: nbd
- name: nf_conntrack
- name: nf_defrag_ipv4
- name: nf_nat
- name: vhost_net
- name: x_tables
## Base packages
_openstack_host_distro_packages:
- acl
- apt-utils
- python3-packaging
## Bare metal base packages
_openstack_host_metal_distro_packages:
- apparmor-utils
- apt-transport-https
- bridge-utils
- cgroup-lite
- curl
- dmeventd
- dstat
- ebtables
- htop
- iptables
- irqbalance
- libkmod2
- lvm2
- rsync
- software-properties-common
- sysstat
- time
- vlan
- wget
_openstack_hosts_package_list:
- name: python3-debian
state: present
- name: ca-certificates
state: latest
_package_repos:
- name: "uca"
suites: >-
{{
ansible_facts['distribution_release'] ~ '-updates/' ~
(ansible_facts['distribution_version'] is version('22.04', '>')) | ternary(openstack_distrib_code_name | lower, 'caracal')
}}
uris: "{{ apt_repo_url | default('http://ubuntu-cloud.archive.canonical.com/ubuntu') }}"
signed_by: "{{ lookup('file', 'gpg/EC4926EA') }}"
components: main
architectures: "{{ openstack_architecture_mapping.get(ansible_facts['architecture']) }}"
state: present
_openstack_ca_bundle_path: /etc/ssl/certs/ca-certificates.crt
_openstack_hosts_package_manager_default_conf: |
APT::Install-Recommends "false";