1
0
Fork 0
forked from infra/ansible

gpu01: add new gpu01 machine in rdu3-iso

This machine is in the rdu3 isolated network.
For now, just setup a simple kickstart on one disk and a playbook that
does the normal base role things. We can adjust from here.

This machine has 1 nvme and another spinning rust device.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
This commit is contained in:
Kevin Fenzi 2026-03-03 16:39:10 -08:00 committed by Kevin Fenzi
commit 893e103461
6 changed files with 164 additions and 0 deletions

View file

@ -24,6 +24,7 @@ ipa_client_shell_groups:
- sysadmin-datanommer
- sysadmin-debuginfod
- sysadmin-epel
- sysadmin-gpu
- sysadmin-koschei
- sysadmin-libravatar
- sysadmin-messaging

View file

@ -0,0 +1,54 @@
---
datacenter: rdu3
dns1: 10.16.163.33
br0_ipv4_ip: 10.16.179.35
br0_ipv4_gw: 10.16.179.254
br0_ipv4_nm: 24
has_ipv4: yes
has_ipv6: no
mac0: c4:cb:e1:ed:b1:6e
mac1: c4:cb:e1:ed:b1:6f
mac2: 30:3e:a7:2a:65:28
mac3: 30:3e:a7:2a:65:29
mac4: 30:3e:a7:2a:65:2a
mac5: 30:3e:a7:2a:65:2b
network_connections:
# Bridge profile
- name: br0
state: up
type: bridge
mtu: 1500
autoconnect: yes
ip:
address:
- "{{ br0_ipv4_ip }}/{{ br0_ipv4_nm }}"
dhcp4: no
dns:
- "{{ dns1 }}"
- "{{ dns2 }}"
dns_search:
- "{{ dns_search1 }}"
- "{{ dns_search2 }}"
gateway4: "{{ br0_ipv4_gw }}"
# Bond profile
- name: bond0
type: bond
interface_name: bond0
mtu: 1500
controller: br0
bond:
mode: 802.3ad
# Port profile for the 1st Ethernet device
- name: bond0-port1
mac: "{{ mac2 }}"
type: ethernet
controller: bond0
state: up
mtu: 1500
# Port profile for the 2nd Ethernet device
- name: bond0-port2
mac: "{{ mac3 }}"
type: ethernet
controller: bond0
state: up
mtu: 1500

View file

@ -249,6 +249,9 @@ download_ibiblio
download_iso_rdu3
download_rdu3
[gpu]
gpu01.rdu3.fedoraproject.org
[kernel_qa]
kernel02.rdu3.fedoraproject.org

26
playbooks/groups/gpu.yml Normal file
View file

@ -0,0 +1,26 @@
---
- import_playbook: "/srv/web/infra/ansible/playbooks/include/happy_birthday.yml"
vars:
myhosts: "gpu"
- name: make gpu host on raw hw
hosts: gpu
remote_user: root
gather_facts: true
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
pre_tasks:
- import_tasks: "{{ tasks_path }}/yumrepos.yml"
roles:
- base
- hosts
- ipa/client
- sudo
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"

View file

@ -12,6 +12,7 @@
- hardware-rhel-9-06disk
- hardware-rhel-10-08disk
- hardware-rhel-10-nodisk
- hardware-fedora-01disk-nvme
- hardware-fedora-04disk-power10
- hardware-fedora-06disk
- hardware-fedora-06disk-nvme

View file

@ -0,0 +1,79 @@
#
## This kickstart is for Dell systems with 8 disks. It will build either a virthost or cloud.
##
# Use network installation
vnc --password "{{ kickstart_vnc_password }}"
# Use network install
# metalink here should give internal mirrors in rdu3 and external ones outside
url --metalink "https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch"
repo --name=updates --metalink "https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch"
# Firewall configuration
firewall --disabled
firstboot --disable
ignoredisk --only-use=nvme0n1
# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=us --xlayouts=''
# System language
lang en_US.UTF-8
# Network information
# Reboot after installation
reboot
# Root password
rootpw --iscrypted "{{ kickstart_initial_password_encrypted }}"
# SELinux configuration
selinux --enforcing
# System services
services --disabled="firewalld,kdump" --enabled="postfix,chronyd"
# Do not configure the X Window System
skipx
# System timezone
timezone UTC --utc
# System bootloader configuration
bootloader --location=mbr --boot-drive=nvme0n1 --append="net.ifnames=0" --driveorder=nvme0n1
zerombr
clearpart --drives=nvme0n1 --all --initlabel
# Disk partitioning information
reqpart --add-boot
part btrfs.007 --size=2000 --fstype=btrfs --grow --ondisk=nvme0n1
btrfs none --label=fedora btrfs.007
btrfs / --subvol --name=root LABEL=fedora
%packages
-geolite2-city
-iwl*firmware
-subscription-manager
bash-completion
bind-utils
clevis*
cronie-noanacron
crontabs
dhclient
grubby
iptables-services
nfs-utils
nmap-ncat
openssh-clients
openssh-server
patch
postfix
rsync
screen
strace
s-nail
tmux
traceroute
vim-enhanced
zsh
%end
%post --nochroot --log=/mnt/sysimage/root/post.output --erroronfail
mkdir /mnt/sysimage/root/tmp
chroot /mnt/sysimage /usr/bin/curl https://infrastructure.fedoraproject.org/rhel/ks/post/fedora-post.sh -o /root/tmp/fedora-post.sh
chroot /mnt/sysimage sh /root/tmp/fedora-post.sh
%end