Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions kconfigs/Kconfig.ansible_cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ config ANSIBLE_CFG_FORKS_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_FORKS)

config ANSIBLE_CFG_TASK_DEBUGGER_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_TASK_DEBUGGER)

menu "Ansible Callback Plugin Configuration"
choice
prompt "Ansible Callback Plugin"
Expand Down Expand Up @@ -207,6 +211,19 @@ config ANSIBLE_CFG_FORKS

endif # !ANSIBLE_CFG_FORKS_CUSTOM

config ANSIBLE_CFG_TASK_DEBUGGER
bool "Enable the Ansible task debugger on failed tasks"
output yaml
default n
help
When this setting is enabled, a task failure invokes the
Ansible debugger. Generally this is useful only when
running kdevops from the command line.

For more information, see:

https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_debugger.html#id10

if DISTRO_OPENSUSE

config ANSIBLE_CFG_RECONNECTION_RETRIES
Expand Down
1 change: 1 addition & 0 deletions playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ show_per_host_start = {{ ansible_cfg_callback_plugin_show_per_host_start }}
show_task_path_on_failure = {{ ansible_cfg_callback_plugin_show_task_path_on_failure }}
interpreter_python = {{ ansible_cfg_interpreter_python_string }}
forks = {{ ansible_cfg_forks }}
enable_task_debugger = {{ ansible_cfg_task_debugger }}
{% if ansible_facts['distribution'] == 'openSUSE' %}
[connection]
retries = {{ ansible_cfg_reconnection_retries }}
Expand Down
8 changes: 8 additions & 0 deletions playbooks/roles/codereadyrepo/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@
- kdevops_enable_terraform
- kdevops_terraform_provider == "azure"

- name: Select the Google Cloud RHEL CodeReady Builder repo
ansible.builtin.set_fact:
codeready_repo: "rhui-codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rhui-rpms"
when:
- ansible_distribution == 'RedHat'
- kdevops_enable_terraform
- kdevops_terraform_provider == "gce"

- name: The distribution/provisioner combo isn't recognized
ansible.builtin.fail:
msg: The selection heuristic failed to find a CodeReady Builder repo.
Expand Down
18 changes: 18 additions & 0 deletions playbooks/roles/devconfig/tasks/install-deps/redhat/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,24 @@
- devconfig_custom_yum_repofile
- custom_repofile.stat.exists

- name: Discover the fastest package update mirrors
become: true
become_method: ansible.builtin.sudo
ansible.builtin.lineinfile:
insertafter: "[main]"
line: "fastestmirror=true"
path: "/etc/dnf/dnf.conf"
state: present

- name: Increase the maximum number of concurrent package downloads
become: true
become_method: ansible.builtin.sudo
ansible.builtin.lineinfile:
insertafter: "[main]"
line: "max_parallel_downloads=10"
path: "/etc/dnf/dnf.conf"
state: present

- name: Refresh cache and upgrade all present packages
become: yes
become_method: sudo
Expand Down
4 changes: 4 additions & 0 deletions terraform/aws/kconfigs/Kconfig.compute
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ config TERRAFORM_AWS_DISTRO_DEBIAN
config TERRAFORM_AWS_DISTRO_FEDORA
bool "Fedora Core"

config TERRAFORM_AWS_DISTRO_OL
bool "Oracle Linux"

config TERRAFORM_AWS_DISTRO_RHEL
bool "Red Hat Enterprise Linux"

Expand All @@ -113,6 +116,7 @@ endchoice
source "terraform/aws/kconfigs/distros/Kconfig.amazon"
source "terraform/aws/kconfigs/distros/Kconfig.debian"
source "terraform/aws/kconfigs/distros/Kconfig.fedora"
source "terraform/aws/kconfigs/distros/Kconfig.oracle"
source "terraform/aws/kconfigs/distros/Kconfig.rhel"
source "terraform/aws/kconfigs/distros/Kconfig.sles"
source "terraform/aws/kconfigs/distros/Kconfig.custom"
48 changes: 48 additions & 0 deletions terraform/aws/kconfigs/distros/Kconfig.oracle
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
if TERRAFORM_AWS_DISTRO_OL

config TERRAFORM_AWS_AMI_OWNER
string
output yaml
default "amazon"

if TARGET_ARCH_X86_64

choice
prompt "Oracle Linux release"
default TERRAFORM_AWS_OL9_X86_64

config TERRAFORM_AWS_OL8_X86_64
bool "Oracle Linux 8 (x86)"

config TERRAFORM_AWS_OL9_X86_64
bool "Oracle Linux 9 (x86)"

endchoice

config TERRAFORM_AWS_NS
string
output yaml
default "Oracle-Linux-8.*x86_64-*" if TERRAFORM_AWS_OL8_X86_64
default "Oracle-Linux-9.*x86_64-*" if TERRAFORM_AWS_OL9_X86_64

endif # TARGET_ARCH_X86_64

if TARGET_ARCH_ARM64

choice
prompt "Oracle Linux release"
default TERRAFORM_AWS_OL9_ARM64

config TERRAFORM_AWS_OL9_ARM64
bool "Oracle Linux 9 (arm64)"

endchoice

config TERRAFORM_AWS_NS
string
output yaml
default "Oracle-Linux-9.*arm64-*" if TERRAFORM_AWS_OL9_ARM64

endif # TARGET_ARCH_ARM64

endif # TERRAFORM_AWS_DISTRO_OL
14 changes: 13 additions & 1 deletion terraform/aws/kconfigs/distros/Kconfig.rhel
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,23 @@ choice
prompt "Red Hat Enterprise Linux release"
default TERRAFORM_AWS_RHEL9_X86_64

config TERRAFORM_AWS_RHEL8_X86_64
bool "Red Hat Enterprise Linux 8 (x86)"

config TERRAFORM_AWS_RHEL9_X86_64
bool "Red Hat Enterprise Linux 9 (x86)"

config TERRAFORM_AWS_RHEL10_X86_64
bool "Red Hat Enterprise Linux 10 (x86)"

endchoice

config TERRAFORM_AWS_NS
string
output yaml
default "RHEL-8.*x86_64-*" if TERRAFORM_AWS_RHEL8_X86_64
default "RHEL-9.*x86_64-*" if TERRAFORM_AWS_RHEL9_X86_64
default "RHEL-10.*x86_64-*" if TERRAFORM_AWS_RHEL10_X86_64

endif # TARGET_ARCH_X86_64

Expand All @@ -30,14 +38,18 @@ choice
default TERRAFORM_AWS_RHEL9_ARM64

config TERRAFORM_AWS_RHEL9_ARM64
bool "RHEL9 ARM 64"
bool "Red Hat Enterprise Linux 9 (arm64)"

config TERRAFORM_AWS_RHEL10_ARM64
bool "Red Hat Enterprise Linux 10 (arm64)"

endchoice

config TERRAFORM_AWS_NS
string
output yaml
default "RHEL-9.*arm64-*" if TERRAFORM_AWS_RHEL9_ARM64
default "RHEL-10.*arm64-*" if TERRAFORM_AWS_RHEL10_ARM64

endif # TARGET_ARCH_ARM64

Expand Down
32 changes: 32 additions & 0 deletions terraform/gce/kconfigs/Kconfig.compute
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,58 @@ config TERRAFORM_GCE_MACHINE_FAMILY_N1_STANDARD
Balanced performance and cost-effectiveness. Intel
Haswell CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N2_STANDARD
bool "N2 Standard family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on Intel Cascade Lake CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N2_HIGHCPU
bool "N2 High CPU family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on Intel Cascade Lake CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N2D_STANDARD
bool "N2D Standard family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on AMD Milan CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N2D_HIGHCPU
bool "N2D High CPU family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on AMD Milan CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N4_STANDARD
bool "N4 Standard family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on Intel Emerald Rapids CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_N4_HIGHCPU
bool "N4 High CPU family"
depends on TARGET_ARCH_X86_64
help
General purpose computing on Intel Emerald Rapids CPUs.

config TERRAFORM_GCE_MACHINE_FAMILY_C4_STANDARD
bool "C4 Standard family"
depends on TARGET_ARCH_X86_64
help
Consistently high performance on Intel Emerald Rapids CPUs.

endchoice

source "terraform/gce/kconfigs/machines/Kconfig.n1-standard"
source "terraform/gce/kconfigs/machines/Kconfig.n2-standard"
source "terraform/gce/kconfigs/machines/Kconfig.n2-highcpu"
source "terraform/gce/kconfigs/machines/Kconfig.n2d-standard"
source "terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu"
source "terraform/gce/kconfigs/machines/Kconfig.n4-standard"
source "terraform/gce/kconfigs/machines/Kconfig.n4-highcpu"
source "terraform/gce/kconfigs/machines/Kconfig.c4-standard"

choice
prompt "OS Distributor"
Expand All @@ -52,6 +80,9 @@ config TERRAFORM_GCE_DISTRO_DEBIAN
config TERRAFORM_GCE_DISTRO_FEDORA
bool "Fedora"

config TERRAFORM_GCE_DISTRO_OL
bool "Oracle Linux"

config TERRAFORM_GCE_DISTRO_OPENSUSE
bool "OpenSUSE"

Expand All @@ -69,6 +100,7 @@ endchoice
source "terraform/gce/kconfigs/images/Kconfig.centos"
source "terraform/gce/kconfigs/images/Kconfig.debian"
source "terraform/gce/kconfigs/images/Kconfig.fedora"
source "terraform/gce/kconfigs/images/Kconfig.oracle"
source "terraform/gce/kconfigs/images/Kconfig.opensuse"
source "terraform/gce/kconfigs/images/Kconfig.rhel"
source "terraform/gce/kconfigs/images/Kconfig.rocky"
Expand Down
34 changes: 34 additions & 0 deletions terraform/gce/kconfigs/images/Kconfig.oracle
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
if TERRAFORM_GCE_DISTRO_OL

config TERRAFORM_GCE_IMAGE_PROJECT
string
output yaml
default "oracle-linux-cloud"

config TERRAFORM_GCE_IMAGE_SIZE
int
output yaml
default 20

if TARGET_ARCH_X86_64

choice
prompt "OS image to use"

config TERRAFORM_GCE_IMAGE_OL_8_X86_64
bool "Oracle Linux 8 (x86)"

config TERRAFORM_GCE_IMAGE_OL_9_X86_64
bool "Oracle Linux 9 (x86)"

endchoice

config TERRAFORM_GCE_IMAGE_FAMILY
string
output yaml
default "oracle-linux-8" if TERRAFORM_GCE_IMAGE_OL_8_X86_64
default "oracle-linux-9" if TERRAFORM_GCE_IMAGE_OL_9_X86_64

endif # TARGET_ARCH_X86_64

endif # TERRAFORM_GCE_DISTRO_OL
53 changes: 53 additions & 0 deletions terraform/gce/kconfigs/machines/Kconfig.c4-standard
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
if TERRAFORM_GCE_MACHINE_FAMILY_C4_STANDARD

choice
prompt "GCE Machine Type"
default TERRAFORM_GCE_MACHINE_C4_STANDARD_4
help
This option sets the GCE machine type. For other machine
types, refer to this page:

https://cloud.google.com/compute/docs/machine-types

config TERRAFORM_GCE_MACHINE_C4_STANDARD_2
bool "c4-standard-2"
help
2 vCPU (1 core) and 7GB of memory.

config TERRAFORM_GCE_MACHINE_C4_STANDARD_4
bool "c4-standard-4"
help
4 vCPU (2 core) and 15GB of memory.

config TERRAFORM_GCE_MACHINE_C4_STANDARD_8
bool "c4-standard-8"
help
8 vCPU (4 cores) and 30GB of memory.

config TERRAFORM_GCE_MACHINE_C4_STANDARD_16
bool "c4-standard-16"
help
16 vCPU (8 cores) and 60GB of memory.

config TERRAFORM_GCE_MACHINE_C4_STANDARD_24
bool "c4-standard-24"
help
24 vCPU (12 cores) and 90GB of memory.

endchoice

config TERRAFORM_GCE_MACHINE_TYPE
string
output yaml
default "c4-standard-2" if TERRAFORM_GCE_MACHINE_C4_STANDARD_2
default "c4-standard-4" if TERRAFORM_GCE_MACHINE_C4_STANDARD_4
default "c4-standard-8" if TERRAFORM_GCE_MACHINE_C4_STANDARD_8
default "c4-standard-16" if TERRAFORM_GCE_MACHINE_C4_STANDARD_16
default "c4-standard-24" if TERRAFORM_GCE_MACHINE_C4_STANDARD_24

config TERRAFORM_GCE_IMAGE_TYPE
string
output yaml
default "hyperdisk-balanced"

endif # TERRAFORM_GCE_MACHINE_FAMILY_C4_STANDARD
Loading