diff --git a/ansible/roles/vmware/tasks/main.yml b/ansible/roles/vmware/tasks/main.yml index b94bf2f..ec1dde7 100644 --- a/ansible/roles/vmware/tasks/main.yml +++ b/ansible/roles/vmware/tasks/main.yml @@ -14,12 +14,12 @@ - name: modern systems ansible.builtin.import_tasks: has_package.yml when: >- - ansible_distribution_name == 'fedora' or - (ansible_distribution_name == 'debian' and - ansible_distribution_major_version > '8') + ansible_facts.distribution == 'fedora' or + (ansible_facts.distribution == 'debian' and + ansible_facts.distribution_major_version > 8) - name: legacy builds ansible.builtin.import_tasks: legacy.yml - when: >- - (ansible_distribution_name == 'debian' and - ansible_distribution_major_version <= '8') + when: + - ansible_facts.distribution == 'debian' + - ansible_facts.distribution_major_version <= '8' diff --git a/ansible/roles/vmware/vars/Debian.yml b/ansible/roles/vmware/vars/Debian.yml deleted file mode 100644 index 2dbdb60..0000000 --- a/ansible/roles/vmware/vars/Debian.yml +++ /dev/null @@ -1,2 +0,0 @@ -vmware_packages: - - open-vm-tools diff --git a/ansible/roles/vmware/vars/Fedora.yml b/ansible/roles/vmware/vars/Fedora.yml deleted file mode 100644 index 2dbdb60..0000000 --- a/ansible/roles/vmware/vars/Fedora.yml +++ /dev/null @@ -1,2 +0,0 @@ -vmware_packages: - - open-vm-tools diff --git a/ansible/roles/vmware/vars/Ubuntu.yml b/ansible/roles/vmware/vars/Ubuntu.yml deleted file mode 100644 index 2dbdb60..0000000 --- a/ansible/roles/vmware/vars/Ubuntu.yml +++ /dev/null @@ -1,2 +0,0 @@ -vmware_packages: - - open-vm-tools diff --git a/ansible/roles/vmware/vars/CentOS.yml b/ansible/roles/vmware/vars/main.yml similarity index 100% rename from ansible/roles/vmware/vars/CentOS.yml rename to ansible/roles/vmware/vars/main.yml diff --git a/distros/archlinux/rolling/http/install.sh b/distros/archlinux/rolling/http/install.sh index ac471a2..83c9d24 100644 --- a/distros/archlinux/rolling/http/install.sh +++ b/distros/archlinux/rolling/http/install.sh @@ -3,6 +3,7 @@ set -ex port="${1}" # HTTP port that packer is running on +host="${2}" loadkeys en # Probably not necessary in a script, but here we are @@ -40,7 +41,7 @@ pacstrap -K /mnt base linux nano sudo networkmanager openssh grub python3 genfstab -L /mnt >> /mnt/etc/fstab # Run stuff in the chroot -curl -o /mnt/in-chroot.sh http://10.0.2.2:"${port}"/in-chroot.sh +curl -o /mnt/in-chroot.sh "http://${host}:${port}/in-chroot.sh" arch-chroot /mnt /usr/bin/bash /in-chroot.sh "${disk}" rm /mnt/in-chroot.sh diff --git a/distros/archlinux/rolling/x86_64.pkrvars.hcl b/distros/archlinux/rolling/x86_64.pkrvars.hcl index 73e0209..c2e3360 100644 --- a/distros/archlinux/rolling/x86_64.pkrvars.hcl +++ b/distros/archlinux/rolling/x86_64.pkrvars.hcl @@ -9,7 +9,7 @@ boot_command = [ "", # Wait for system to come up? "curl -o /tmp/install.sh http://{{ .HTTPIP }}:{{ .HTTPPort }}/install.sh", "", - "/usr/bin/bash /tmp/install.sh {{ .HTTPPort }}" + "/usr/bin/bash /tmp/install.sh {{ .HTTPPort }} {{ .HTTPIP }}" ] http_directory = "distros/archlinux/rolling/http/" boot_wait = "10s" diff --git a/distros/archlinux/supports.yml b/distros/archlinux/supports.yml index bcd3daa..65358c3 100644 --- a/distros/archlinux/supports.yml +++ b/distros/archlinux/supports.yml @@ -3,3 +3,5 @@ rolling: provider: qemu - arch: x86_64 provider: virtualbox-iso +- arch: x86_64 + provider: vmware-iso diff --git a/distros/centos-stream/supports.yml b/distros/centos-stream/supports.yml index e557d71..8058886 100644 --- a/distros/centos-stream/supports.yml +++ b/distros/centos-stream/supports.yml @@ -1,10 +1,8 @@ -8: +8: &supp - arch: x86_64 provider: qemu - arch: x86_64 provider: virtualbox-iso -9: - arch: x86_64 - provider: qemu - - arch: x86_64 - provider: virtualbox-iso + provider: vmware-iso +9: *supp diff --git a/distros/centos/supports.yml b/distros/centos/supports.yml index be35888..db515f1 100644 --- a/distros/centos/supports.yml +++ b/distros/centos/supports.yml @@ -3,3 +3,5 @@ provider: qemu - arch: x86_64 provider: virtualbox-iso +- arch: x86_64 + provider: vmware-iso diff --git a/distros/debian/supports.yml b/distros/debian/supports.yml index 8e2d40e..2c82f74 100644 --- a/distros/debian/supports.yml +++ b/distros/debian/supports.yml @@ -3,6 +3,8 @@ provider: qemu - arch: x86_64 provider: virtualbox-iso + - arch: x86_64 + provider: vmware-iso 11: *supp 12: *supp #9: *supp # EOL diff --git a/distros/fedora/supports.yml b/distros/fedora/supports.yml index b2a53aa..c16a3ca 100644 --- a/distros/fedora/supports.yml +++ b/distros/fedora/supports.yml @@ -3,5 +3,7 @@ provider: qemu - arch: x86_64 provider: virtualbox-iso + - arch: x86_64 + provider: vmware-iso 38: *supp rawhide: [] diff --git a/distros/nixos/23.05/http/install.sh b/distros/nixos/23.05/http/install.sh index daabde9..202369f 100644 --- a/distros/nixos/23.05/http/install.sh +++ b/distros/nixos/23.05/http/install.sh @@ -3,6 +3,7 @@ set -ex port="${1}" # HTTP port that packer is running on +host="${2}" if [ -e /dev/vda ]; then disk="/dev/vda" @@ -34,13 +35,13 @@ mount "${disk}1" /mnt # Bootstrap system nixos-generate-config --root /mnt -curl -o /mnt/etc/nixos/configuration.nix http://10.0.2.2:"${port}"/configuration.nix +curl -o /mnt/etc/nixos/configuration.nix "http://${host}:${port}/configuration.nix" sed -i -E -e "s,@BOOT_DEVICE@,${disk}," /mnt/etc/nixos/configuration.nix sed -i -E -e 's,(.*device = "/dev/disk/).*(".*),\1by-label/root\2,' /mnt/etc/nixos/hardware-configuration.nix nixos-install --no-root-password # Run stuff in the chroot -curl -o /mnt/root/in-chroot.sh http://10.0.2.2:"${port}"/in-chroot.sh +curl -o /mnt/root/in-chroot.sh "http://${host}:${port}/in-chroot.sh" nixos-enter --root /mnt -c 'bash /root/in-chroot.sh' rm /mnt/root/in-chroot.sh diff --git a/distros/nixos/23.05/x86_64.pkrvars.hcl b/distros/nixos/23.05/x86_64.pkrvars.hcl index af218f0..7df754d 100644 --- a/distros/nixos/23.05/x86_64.pkrvars.hcl +++ b/distros/nixos/23.05/x86_64.pkrvars.hcl @@ -2,14 +2,14 @@ distro = "nixos" version = "23.05" iso = { url = "https://channels.nixos.org/nixos-23.05/latest-nixos-minimal-x86_64-linux.iso" - checksum = "f5df994324bc474e834200c8d641ba32492474112e95b63df3153a906ad0bca8" + checksum = "e2a0bc2be3b6638692393a19435838d464149914dbd942010e31a3c8c84c82d5" } boot_command = [ " net.ifnames=0 biosdevnames=0", "", # Wait for system to come up? "curl -o /tmp/install.sh http://{{ .HTTPIP }}:{{ .HTTPPort }}/install.sh", "", - "sudo bash /tmp/install.sh {{ .HTTPPort }}" + "sudo bash /tmp/install.sh {{ .HTTPPort }} {{ .HTTPIP }}" ] http_directory = "distros/nixos/23.05/http/" boot_wait = "5s" diff --git a/distros/ubuntu/supports.yml b/distros/ubuntu/supports.yml index 153855c..736486d 100644 --- a/distros/ubuntu/supports.yml +++ b/distros/ubuntu/supports.yml @@ -3,5 +3,7 @@ provider: qemu - arch: x86_64 provider: virtualbox-iso + - arch: x86_64 + provider: vmware-iso 22.04: *supp #18.04: *supp # EOL diff --git a/sources/vmware-iso.pkr.hcl b/sources/vmware-iso.pkr.hcl index c0c897a..d632452 100644 --- a/sources/vmware-iso.pkr.hcl +++ b/sources/vmware-iso.pkr.hcl @@ -18,7 +18,7 @@ source "vmware-iso" "x86_64" { cpus = local.cpus memory = local.memory headless = var.headless - guest_os_type = "Linux_64" + #guest_os_type = "Linux_64" http_content = var.http_files http_directory = var.http_directory diff --git a/test.xsh b/test.xsh index 1ce83c8..2867f98 100755 --- a/test.xsh +++ b/test.xsh @@ -13,13 +13,16 @@ def get_vagrant_provider(provider): return "libvirt" elif provider.startswith("virtualbox"): return "virtualbox" + elif provider.startswith("vmware"): + return "vmware" def get_providers(): "List of providers as defined in sources/" providers: set[str] = { - "virtualbox-iso.x86_64", "qemu.x86_64" + "virtualbox-iso.x86_64", + "vmware-iso.x86_64" } return providers @@ -54,8 +57,9 @@ def main(): for box in g`output/**/*.box`: p = pathlib.Path(box) sed -e f's#@@BOX@@#file:///home/greg/src/vms/vms/{box}#' -e f's/@@BOX_NAME@@/{p.name}/' Vagrantfile.in > Vagrantfile - if str(p.parent.name) in ["virtualbox", "libvirt"]: - vagrant up --provider @(p.parent.name) + vagrant box add @(box) --name @(p.name) + if str(p.parent.name) in ["virtualbox", "libvirt", "vmware"]: + vagrant up --provider vmware_fusion else: print(f"Now whatcha wanna go and do that for? {box}") continue