Compare commits
17 Commits
rhel
...
75c4ba6b4c
| Author | SHA1 | Date | |
|---|---|---|---|
| 75c4ba6b4c | |||
| b62066d675 | |||
| 53a2c27984 | |||
| bb82ff120b | |||
| 221d77b94d | |||
| d71ea511f9 | |||
| b3299781dc | |||
| 5e7a06b7db | |||
| d77f65ce05 | |||
| 39fc15d7d8 | |||
| b076968404 | |||
| 4f03ccbfcf | |||
| 5746be4561 | |||
| 39cc49a05b | |||
| 2d63ca9c5a | |||
| 9f56328890 | |||
| dc763bdc42 |
@@ -1,29 +0,0 @@
|
||||
[promox-kvm]
|
||||
192.168.122.10
|
||||
192.168.122.11
|
||||
|
||||
[promox-kvm:vars]
|
||||
vm_gw=192.168.122.1
|
||||
vm_dns=1.1.1.1
|
||||
|
||||
[192.168.122.10]
|
||||
hostname=proxy
|
||||
vm_id=300
|
||||
os=archlinux
|
||||
filesystem=btrfs
|
||||
vm_memory=2048
|
||||
vm_ballo=1024
|
||||
vm_cpus=2
|
||||
vm_size=5
|
||||
vm_nif=vmbr1
|
||||
|
||||
[192.168.122.11]
|
||||
hostname=database
|
||||
vm_id=101
|
||||
os=archlinux
|
||||
filesystem=btrfs
|
||||
vm_memory=6144
|
||||
vm_ballo=3072
|
||||
vm_cpus=4
|
||||
vm_size=40
|
||||
vm_nif=vmbr1
|
||||
@@ -3,6 +3,7 @@ all:
|
||||
hypervisor: 'proxmox'
|
||||
install_drive: '/dev/sda'
|
||||
cis: true
|
||||
boot_iso: "local-btrfs:iso/archlinux-x86_64.iso"
|
||||
children:
|
||||
promox-kvm:
|
||||
hosts:
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
with_items:
|
||||
- debootstrap --include={{ role_packages[os].base | join(',') }} {{ 'oracular' if os == 'ubuntu' else 'noble' }}
|
||||
/mnt http://archive.ubuntu.com/ubuntu/
|
||||
- ln -sf /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
|
||||
- ln -sf /run/NetworkManager/resolv.conf /mnt/etc/resolv.conf
|
||||
- arch-chroot /mnt sed -i '1s|$| universe|' /etc/apt/sources.list
|
||||
- arch-chroot /mnt apt update -y
|
||||
- arch-chroot /mnt apt install -y {{ role_packages[os].extra | join(' ') }}
|
||||
@@ -43,7 +43,7 @@
|
||||
register: result
|
||||
with_items:
|
||||
- dnf --releasever=9 --best --repo=alma-baseos --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y base core
|
||||
- ln -sf /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
|
||||
- ln -sf /run/NetworkManager/resolv.conf /mnt/etc/resolv.conf
|
||||
- arch-chroot /mnt dnf --releasever=9 --setopt=install_weak_deps=False install -y {{ role_packages.almalinux | join(' ') }}
|
||||
|
||||
- name: Bootstrap Fedora 41
|
||||
@@ -54,7 +54,7 @@
|
||||
with_items:
|
||||
- dnf --releasever=41 --best --repo=fedora --repo=fedora-updates
|
||||
--installroot=/mnt --setopt=install_weak_deps=False groupinstall -y critical-path-base core
|
||||
- ln -sf /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
|
||||
- ln -sf /run/NetworkManager/resolv.conf /mnt/etc/resolv.conf
|
||||
- arch-chroot /mnt dnf --releasever=41 --setopt=install_weak_deps=False install -y {{ role_packages.fedora | join(' ') }}
|
||||
- arch-chroot /mnt dnf reinstall -y kernel-core
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
- dnf --releasever=9 --best --repo=rocky-baseos --installroot=/mnt
|
||||
--setopt=install_weak_deps=False --setopt=optional_metadata_types=filelists
|
||||
groupinstall -y base core
|
||||
- ln -sf /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
|
||||
- ln -sf /run/NetworkManager/resolv.conf /mnt/etc/resolv.conf
|
||||
- arch-chroot /mnt dnf --releasever=9 --setopt=install_weak_deps=False install -y {{ role_packages.rocky | join(' ') }}
|
||||
|
||||
- name: Bootstrap RHEL System
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
- name: Prepare chroot environment
|
||||
ansible.builtin.shell: |
|
||||
ln -sf /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
|
||||
ln -sf /run/NetworkManager/resolv.conf /mnt/etc/resolv.conf
|
||||
mkdir -p /mnt/usr/local/install/redhat/dvd
|
||||
mount --bind /usr/local/install/redhat/dvd /mnt/usr/local/install/redhat/dvd
|
||||
arch-chroot /mnt rpm --rebuilddb
|
||||
@@ -94,7 +94,7 @@
|
||||
- name: Copy RHEL repo file into chroot environment
|
||||
ansible.builtin.copy:
|
||||
src: /etc/yum.repos.d/{{ os | lower }}.repo
|
||||
dest: /mnt/etc/yum.repos.d/{{ os | lower }}.repo
|
||||
dest: /mnt/etc/yum.repos.d/redhat.repo
|
||||
mode: '0644'
|
||||
remote_src: true
|
||||
|
||||
|
||||
@@ -197,6 +197,7 @@ fedora:
|
||||
- zstd
|
||||
|
||||
rhel8:
|
||||
- bind-utils
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
@@ -206,6 +207,7 @@ rhel8:
|
||||
- mtr
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- python
|
||||
- shim
|
||||
- telnet
|
||||
- tmux
|
||||
@@ -213,6 +215,7 @@ rhel8:
|
||||
- zstd
|
||||
|
||||
rhel9:
|
||||
- bind-utils
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
@@ -222,6 +225,7 @@ rhel9:
|
||||
- mtr
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- python
|
||||
- shim
|
||||
- telnet
|
||||
- tmux
|
||||
@@ -307,6 +311,7 @@ ubuntu:
|
||||
- tldr
|
||||
- tmux
|
||||
- traceroute
|
||||
- util-linux-extra
|
||||
- vim
|
||||
- wget
|
||||
- yq
|
||||
@@ -365,6 +370,7 @@ ubuntu-lts:
|
||||
- tldr
|
||||
- tmux
|
||||
- traceroute
|
||||
- util-linux-extra
|
||||
- vim
|
||||
- wget
|
||||
- yq
|
||||
|
||||
@@ -22,10 +22,14 @@
|
||||
- ide0
|
||||
- ide2
|
||||
|
||||
- name: Reboot system
|
||||
ansible.builtin.command: reboot
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
- name: Start the VM
|
||||
community.general.proxmox_kvm:
|
||||
api_host: "{{ hypervisor_url }}"
|
||||
api_user: "{{ hypervisor_username }}"
|
||||
api_password: "{{ hypervisor_password }}"
|
||||
node: "{{ hypervisor_node }}"
|
||||
vmid: "{{ vm_id }}"
|
||||
state: restarted
|
||||
|
||||
- name: Clean vCenter VM
|
||||
when: hypervisor == "vmware"
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
id=LAN
|
||||
uuid={{ net_uuid.stdout }}
|
||||
type=ethernet
|
||||
interface-name={{ net_inf.stdout }}
|
||||
|
||||
[ethernet]
|
||||
mac-address={{ net_mac.stdout }}
|
||||
|
||||
[ipv4]
|
||||
address={{ vm_ip }},{{ vm_gw }}
|
||||
address={{ vm_ip }}/{{ vm_nms | default (24) }},{{ vm_gw }}
|
||||
dns={{ vm_dns }}
|
||||
method=manual
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
msg: This host is not booted from the Arch install media!
|
||||
when: not archiso_stat.stat.exists
|
||||
|
||||
- name: Setect Interface
|
||||
- name: Register Network Interface
|
||||
when: hypervisor == "vmware"
|
||||
ansible.builtin.shell: "set -o pipefail && ip l | awk -F': ' '!/lo/{print $2; exit}'"
|
||||
changed_when: interface_name.rc == 0
|
||||
@@ -44,7 +44,7 @@
|
||||
register: result
|
||||
|
||||
- name: Configure SSH for root login
|
||||
when: hypervisor == "vmware" and vmware_ssh | bool
|
||||
when: hypervisor == "vmware" and (vmware_ssh is defined and vmware_ssh | bool)
|
||||
block:
|
||||
- name: Allow empty passwords temporarily
|
||||
ansible.builtin.replace:
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
storage: "{{ hypervisor_storage }}"
|
||||
ide:
|
||||
ide0: "{{ boot_iso }},media=cdrom"
|
||||
ide1: "{{ rhel_iso | default(omit) }},media=cdrom"
|
||||
ide1: "{{ rhel_iso + ',media=cdrom' if rhel_iso is defined else omit }}"
|
||||
ide2: "{{ hypervisor_storage }}:cloudinit"
|
||||
net:
|
||||
net0: virtio,bridge={{ vm_nif }}{% if vlan_name is defined and vlan_name %},tag={{ vlan_name }}{% endif %}
|
||||
ipconfig:
|
||||
ipconfig0: ip={{ vm_ip }},gw={{ vm_gw }}
|
||||
ipconfig0: ip={{ vm_ip }}/{{ vm_nms | default(24) }},gw={{ vm_gw }}
|
||||
nameservers: "{{ vm_dns }}"
|
||||
onboot: true
|
||||
state: present
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
<bootmenu enable='no'/>
|
||||
<boot dev='hd'/>
|
||||
<boot dev='cdrom'/>
|
||||
<loader readonly="yes" type="pflash">/usr/share/edk2/x64/OVMF_CODE.secboot.fd</loader>
|
||||
<nvram template="/usr/share/edk2/x64/OVMF_VARS.fd"/>
|
||||
<loader readonly="yes" type="pflash">/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd</loader>
|
||||
<nvram template="/usr/share/edk2/x64/OVMF_VARS.4m.fd"/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
vm_ip: "{{ inventory_hostname }}/{{ vm_nms }}"
|
||||
vm_ip: "{{ inventory_hostname }}"
|
||||
install_type: "virtual"
|
||||
cis: false
|
||||
|
||||
hypervisor_url: "192.168.0.2"
|
||||
hypervisor_username: "root@pam"
|
||||
hypervisor_password: "SomePassword"
|
||||
hypervisor_node: "NodeName"
|
||||
hypervisor_storage: "local-btrfs"
|
||||
boot_iso: "local-btrfs:iso/archlinux-x86_64.iso"
|
||||
rhel_iso: "local-btrfs:rhel-9.4-x86_64-dvd.iso"
|
||||
|
||||
# For VMware-Tools
|
||||
ansible_vmware_host: "{{ hypervisor_url }}"
|
||||
|
||||
Reference in New Issue
Block a user