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