parent
daf213cac8
commit
dcbc398e81
@ -0,0 +1,53 @@
|
||||
# AlmaLinux 8 kickstart file for Generic Cloud (OpenStack) image
|
||||
|
||||
url --url https://rsync.inferitos.ru/msvsphere/8/BaseOS/x86_64/kickstart/
|
||||
repo --name=BaseOS --baseurl=https://rsync.inferitos.ru/msvsphere/8/BaseOS/x86_64/os/
|
||||
repo --name=AppStream --baseurl=https://rsync.inferitos.ru/msvsphere/8/AppStream/x86_64/os/
|
||||
|
||||
text
|
||||
skipx
|
||||
eula --agreed
|
||||
firstboot --disabled
|
||||
|
||||
lang en_US.UTF-8
|
||||
keyboard us
|
||||
timezone UTC --isUtc
|
||||
|
||||
network --bootproto=dhcp
|
||||
firewall --enabled --service=ssh
|
||||
services --disabled="kdump" --enabled="chronyd,rsyslog,sshd"
|
||||
selinux --enforcing
|
||||
|
||||
# TODO: remove "console=tty0" from here
|
||||
bootloader --append="console=ttyS0,115200n8 console=tty0 crashkernel=auto net.ifnames=0 no_timer_check" --location=mbr --timeout=1
|
||||
zerombr
|
||||
clearpart --all --initlabel
|
||||
reqpart
|
||||
part / --fstype="xfs" --size=8000
|
||||
|
||||
rootpw --plaintext msvsphere
|
||||
|
||||
reboot --eject
|
||||
|
||||
%packages
|
||||
@core
|
||||
-biosdevname
|
||||
-open-vm-tools
|
||||
-plymouth
|
||||
-dnf-plugin-spacewalk
|
||||
-rhn*
|
||||
-iprutils
|
||||
-iwl*-firmware
|
||||
sphere-release-identity-server
|
||||
sphere-release-server
|
||||
sphere-release
|
||||
%end
|
||||
|
||||
|
||||
# disable kdump service
|
||||
%addon com_redhat_kdump --disable
|
||||
%end
|
||||
|
||||
|
||||
%post
|
||||
%end
|
@ -0,0 +1,57 @@
|
||||
# MSVSphere 8 Vagrant boxes kickstart file
|
||||
|
||||
# TODO: change url to the kickstart one when we have it
|
||||
url --url https://rsync.inferitos.ru/msvsphere/8/BaseOS/x86_64/kickstart/
|
||||
repo --name=BaseOS --baseurl=https://rsync.inferitos.ru/msvsphere/8/BaseOS/x86_64/os/
|
||||
repo --name=AppStream --baseurl=https://rsync.inferitos.ru/msvsphere/8/AppStream/x86_64/os/
|
||||
|
||||
text
|
||||
skipx
|
||||
eula --agreed
|
||||
firstboot --disabled
|
||||
|
||||
lang en_US.UTF-8
|
||||
keyboard us
|
||||
timezone UTC --isUtc
|
||||
|
||||
network --bootproto=dhcp
|
||||
firewall --disabled
|
||||
services --enabled=sshd
|
||||
selinux --enforcing
|
||||
|
||||
bootloader --location=mbr
|
||||
zerombr
|
||||
clearpart --all --initlabel
|
||||
autopart --type=plain --nohome --noboot --noswap
|
||||
|
||||
rootpw vagrant
|
||||
user --name=vagrant --plaintext --password vagrant
|
||||
|
||||
reboot --eject
|
||||
|
||||
|
||||
%packages --ignoremissing --excludedocs --instLangs=en_US.UTF-8
|
||||
bzip2
|
||||
tar
|
||||
-microcode_ctl
|
||||
-iwl*-firmware
|
||||
sphere-release-identity-server
|
||||
sphere-release-server
|
||||
sphere-release
|
||||
%end
|
||||
|
||||
|
||||
# disable kdump service
|
||||
%addon com_redhat_kdump --disable
|
||||
%end
|
||||
|
||||
|
||||
%post
|
||||
# allow passwordless sudo for the vagrant user
|
||||
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
|
||||
|
||||
# see Vagrant documentation (https://docs.vagrantup.com/v2/boxes/base.html)
|
||||
# for details about the requiretty.
|
||||
sed -i "s/^.*requiretty/# Defaults requiretty/" /etc/sudoers
|
||||
yum clean all
|
||||
%end
|
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* MSVSphere OS 8 Packer template for building Generic Cloud (OpenStack compatible) images.
|
||||
*/
|
||||
|
||||
source "qemu" "msvsphere-8-gencloud-x86_64" {
|
||||
iso_url = var.iso_url_8_x86_64
|
||||
iso_checksum = var.iso_checksum_8_x86_64
|
||||
shutdown_command = var.root_shutdown_command
|
||||
accelerator = "kvm"
|
||||
http_directory = var.http_directory
|
||||
ssh_username = var.gencloud_ssh_username
|
||||
ssh_password = var.gencloud_ssh_password
|
||||
ssh_timeout = var.ssh_timeout
|
||||
vnc_bind_address = var.vnc_bind_address
|
||||
vnc_port_min = var.vnc_port_min
|
||||
vnc_port_max = var.vnc_port_max
|
||||
cpus = var.cpus
|
||||
efi_firmware_code = var.uefi_ovmf_code
|
||||
efi_firmware_vars = var.uefi_ovmf_vars
|
||||
disk_interface = "virtio-scsi"
|
||||
disk_size = var.gencloud_disk_size
|
||||
disk_cache = "unsafe"
|
||||
disk_discard = "unmap"
|
||||
disk_detect_zeroes = "unmap"
|
||||
disk_compression = true
|
||||
format = "qcow2"
|
||||
headless = var.headless
|
||||
machine_type = "q35"
|
||||
memory = var.memory
|
||||
net_device = "virtio-net"
|
||||
qemu_binary = var.qemu_binary
|
||||
vm_name = "MSVSphere-${var.os_version_8}-${formatdate("YYYYMMDD", timestamp())}.gencloud.x86_64.qcow2"
|
||||
boot_wait = var.boot_wait
|
||||
boot_command = var.gencloud_boot_cmd_8_x86_64_uefi
|
||||
}
|
||||
|
||||
build {
|
||||
sources = [
|
||||
"qemu.msvsphere-8-gencloud-x86_64"
|
||||
]
|
||||
|
||||
provisioner "ansible" {
|
||||
playbook_file = "ansible/gencloud.yml"
|
||||
galaxy_file = "ansible/requirements.yml"
|
||||
roles_path = "ansible/roles"
|
||||
collections_path = "ansible/collections"
|
||||
ansible_env_vars = [
|
||||
"ANSIBLE_PIPELINING=True",
|
||||
"ANSIBLE_REMOTE_TEMP=/tmp",
|
||||
"ANSIBLE_SSH_ARGS='-o ControlMaster=no -o ControlPersist=180s -o ServerAliveInterval=120s -o TCPKeepAlive=yes -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa'"
|
||||
]
|
||||
extra_arguments = ["--scp-extra-args", "'-O'"]
|
||||
}
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
/**
|
||||
* Packer template for building MSVSphere 8 Vagrant boxes.
|
||||
*/
|
||||
|
||||
source "virtualbox-iso" "msvsphere-8-vagrant-x86_64" {
|
||||
iso_url = var.iso_url_8_x86_64
|
||||
iso_checksum = var.iso_checksum_8_x86_64
|
||||
boot_command = var.vagrant_boot_cmd_8_x86_64_bios
|
||||
boot_wait = var.boot_wait
|
||||
cpus = var.cpus
|
||||
memory = var.memory
|
||||
disk_size = var.vagrant_disk_size
|
||||
headless = var.headless
|
||||
http_directory = var.http_directory
|
||||
guest_os_type = "RedHat_64"
|
||||
shutdown_command = var.vagrant_shutdown_command
|
||||
ssh_username = var.vagrant_ssh_username
|
||||
ssh_password = var.vagrant_ssh_password
|
||||
ssh_timeout = var.ssh_timeout
|
||||
hard_drive_interface = "sata"
|
||||
iso_interface = "sata"
|
||||
vboxmanage = [
|
||||
["modifyvm", "{{.Name}}", "--nat-localhostreachable1", "on"],
|
||||
]
|
||||
vboxmanage_post = [
|
||||
["modifyvm", "{{.Name}}", "--memory", var.post_memory],
|
||||
["modifyvm", "{{.Name}}", "--cpus", var.post_cpus]
|
||||
]
|
||||
}
|
||||
|
||||
source "vmware-iso" "msvsphere-8-vagrant-x86_64" {
|
||||
iso_url = var.iso_url_8_x86_64
|
||||
iso_checksum = var.iso_checksum_8_x86_64
|
||||
boot_command = var.vagrant_boot_cmd_8_x86_64_bios
|
||||
boot_wait = var.boot_wait
|
||||
cpus = var.cpus
|
||||
memory = var.memory
|
||||
disk_size = var.vagrant_disk_size
|
||||
headless = var.headless
|
||||
http_directory = var.http_directory
|
||||
guest_os_type = "centos-64"
|
||||
shutdown_command = var.vagrant_shutdown_command
|
||||
ssh_username = var.vagrant_ssh_username
|
||||
ssh_password = var.vagrant_ssh_password
|
||||
ssh_timeout = var.ssh_timeout
|
||||
vmx_data = {
|
||||
"cpuid.coresPerSocket" : "1"
|
||||
}
|
||||
vmx_data_post = {
|
||||
"memsize" : var.post_memory
|
||||
"numvcpus" : var.post_cpus
|
||||
}
|
||||
vmx_remove_ethernet_interfaces = true
|
||||
}
|
||||
|
||||
|
||||
build {
|
||||
sources = [
|
||||
"sources.virtualbox-iso.msvsphere-8-vagrant-x86_64",
|
||||
"sources.vmware-iso.msvsphere-8-vagrant-x86_64"
|
||||
]
|
||||
|
||||
provisioner "ansible" {
|
||||
playbook_file = "ansible/vagrant.yml"
|
||||
galaxy_file = "ansible/requirements.yml"
|
||||
roles_path = "ansible/roles"
|
||||
collections_path = "ansible/collections"
|
||||
ansible_env_vars = [
|
||||
"ANSIBLE_PIPELINING=True",
|
||||
"ANSIBLE_REMOTE_TEMP=/tmp",
|
||||
"ANSIBLE_SSH_ARGS='-o ControlMaster=no -o ControlPersist=180s -o ServerAliveInterval=120s -o TCPKeepAlive=yes -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa'"
|
||||
]
|
||||
extra_arguments = [
|
||||
"--extra-vars",
|
||||
"packer_provider=${source.type}"
|
||||
]
|
||||
}
|
||||
|
||||
post-processors {
|
||||
post-processor "vagrant" {
|
||||
compression_level = "8"
|
||||
output = "MSVSphere-${var.os_version_8}-${formatdate("YYYYMMDD", timestamp())}.{{.Provider}}.x86_64.box"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* MSVSphere OS 8 Packer template for building Generic Cloud (OpenStack compatible) images.
|
||||
*/
|
||||
|
||||
source "qemu" "msvsphere-8-yandexcloud-x86_64" {
|
||||
iso_url = var.iso_url_8_x86_64
|
||||
iso_checksum = var.iso_checksum_8_x86_64
|
||||
shutdown_command = var.root_shutdown_command
|
||||
accelerator = "kvm"
|
||||
http_directory = var.http_directory
|
||||
ssh_username = var.gencloud_ssh_username
|
||||
ssh_password = var.gencloud_ssh_password
|
||||
ssh_timeout = var.ssh_timeout
|
||||
vnc_bind_address = var.vnc_bind_address
|
||||
vnc_port_min = var.vnc_port_min
|
||||
vnc_port_max = var.vnc_port_max
|
||||
cpus = var.cpus
|
||||
efi_firmware_code = var.uefi_ovmf_code
|
||||
efi_firmware_vars = var.uefi_ovmf_vars
|
||||
disk_interface = "virtio-scsi"
|
||||
disk_size = var.gencloud_disk_size
|
||||
disk_cache = "unsafe"
|
||||
disk_discard = "unmap"
|
||||
disk_detect_zeroes = "unmap"
|
||||
disk_compression = true
|
||||
format = "qcow2"
|
||||
headless = var.headless
|
||||
machine_type = "q35"
|
||||
memory = var.memory
|
||||
net_device = "virtio-net"
|
||||
qemu_binary = var.qemu_binary
|
||||
vm_name = "MSVSphere-${var.os_version_8}-${formatdate("YYYYMMDD", timestamp())}.yandexcloud.x86_64.qcow2"
|
||||
boot_wait = var.boot_wait
|
||||
boot_command = var.gencloud_boot_cmd_8_x86_64_uefi
|
||||
}
|
||||
|
||||
build {
|
||||
sources = [
|
||||
"qemu.msvsphere-8-yandexcloud-x86_64"
|
||||
]
|
||||
|
||||
provisioner "ansible" {
|
||||
playbook_file = "ansible/yandexcloud.yml"
|
||||
galaxy_file = "ansible/requirements.yml"
|
||||
roles_path = "ansible/roles"
|
||||
collections_path = "ansible/collections"
|
||||
ansible_env_vars = [
|
||||
"ANSIBLE_PIPELINING=True",
|
||||
"ANSIBLE_REMOTE_TEMP=/tmp",
|
||||
"ANSIBLE_SSH_ARGS='-o ControlMaster=no -o ControlPersist=180s -o ServerAliveInterval=120s -o TCPKeepAlive=yes -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa'"
|
||||
]
|
||||
extra_arguments = ["--scp-extra-args", "'-O'"]
|
||||
}
|
||||
}
|
Loading…
Reference in new issue