Skip to content

Commit

Permalink
Merge pull request #29 from osuosl/hodgesto/update-centos-images
Browse files Browse the repository at this point in the history
hodgesto/update centos images
  • Loading branch information
Tobias Hodges committed Jun 30, 2017
2 parents 6d90fdf + 6f00fbd commit 337202a
Show file tree
Hide file tree
Showing 8 changed files with 252 additions and 11 deletions.
2 changes: 1 addition & 1 deletion packer/centos-7.2-ppc64-openstack.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
],
"accelerator": "kvm",
"boot_wait": "6s",
"disk_size": 2048,
"disk_size": 3072,
"headless": true,
"http_directory": "http",
"iso_checksum": "a4e6b6a69d86a704f0108983bb3c3d86",
Expand Down
55 changes: 55 additions & 0 deletions packer/centos-7.3-ppc64-openstack.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"builders": [
{
"boot_command": [
"c<wait5><wait10>",
"linux /ppc/ppc64/vmlinuz ro ",
"ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos-7.3/ks-ppc64.cfg<enter>",
"initrd /ppc/ppc64/initrd.img<enter>",
"boot<enter><wait>"
],
"accelerator": "kvm",
"boot_wait": "6s",
"disk_size": 3072,
"headless": true,
"http_directory": "http",
"iso_checksum": "dc71169b8f5ded685bdec39439f8154a",
"iso_checksum_type": "md5",
"iso_url": "{{user `mirror`}}/7.3.1611/isos/ppc64/CentOS-7-AltArch-ppc64-NetInstall-1611.iso",
"output_directory": "packer-centos-7.3-ppc64-openstack",
"shutdown_command": "echo 'centos'|sudo -S shutdown -P now",
"qemuargs": [
[ "-m", "2048M" ],
[ "-boot", "strict=on" ]
],
"qemu_binary": "/usr/libexec/qemu-kvm",
"machine_type": "pseries",
"ssh_password": "centos",
"ssh_port": 22,
"ssh_username": "centos",
"ssh_wait_timeout": "10000s",
"type": "qemu",
"vm_name": "packer-centos-7.3-ppc64"
}
],
"provisioners": [
{
"execute_command": "echo 'centos' | {{.Vars}} sudo -E -S bash '{{.Path}}'",
"scripts": [
"scripts/centos/fix-slow-dns.sh",
"scripts/common/sshd.sh",
"scripts/common/vmtools.sh",
"scripts/centos/chef-ppc64.sh",
"scripts/centos/osuosl-altarch.sh",
"scripts/centos/epel-7.sh",
"scripts/centos/openstack.sh",
"scripts/centos/cleanup.sh",
"scripts/common/minimize.sh"
],
"type": "shell"
}
],
"variables": {
"mirror": "http://centos-altarch.osuosl.org"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@
"boot_command": [
"c<wait5><wait10>",
"linux /ppc/ppc64/vmlinuz ro ",
"ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos-7.2/ks-ppc64le-openstack.cfg<enter>",
"ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos-7.3/ks-ppc64le.cfg<enter>",
"initrd /ppc/ppc64/initrd.img<enter>",
"boot<enter><wait>"
],
"accelerator": "kvm",
"boot_wait": "6s",
"disk_size": 2048,
"disk_size": 3072,
"headless": true,
"http_directory": "http",
"iso_checksum": "1356f0336d7a3c37bc6d10502d51cbf7",
"iso_checksum": "2db56edf6a3045be1f02cd74a9ef0a53",
"iso_checksum_type": "md5",
"iso_url": "{{user `mirror`}}/7.2.1511/isos/ppc64le/CentOS-7-AltArch-ppc64le-NetInstall-1511.iso",
"output_directory": "packer-centos-7.2-ppc64le-openstack",
"iso_url": "{{user `mirror`}}/7.3.1611/isos/ppc64le/CentOS-7-AltArch-ppc64le-NetInstall-1611.iso",
"output_directory": "packer-centos-7.3-ppc64le-openstack",
"shutdown_command": "echo 'centos'|sudo -S shutdown -P now",
"qemuargs": [
[ "-m", "2048M" ],
Expand All @@ -29,7 +29,7 @@
"ssh_username": "centos",
"ssh_wait_timeout": "10000s",
"type": "qemu",
"vm_name": "packer-centos-7.2-ppc64le"
"vm_name": "packer-centos-7.3-ppc64le"
}
],
"provisioners": [
Expand Down
87 changes: 87 additions & 0 deletions packer/http/centos-7.3/ks-ppc64.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
install
cdrom
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp
rootpw centos
firewall --disabled
selinux --permissive
timezone UTC
unsupported_hardware
bootloader --location=mbr
text
skipx
zerombr
clearpart --all --initlabel
part prepboot --fstype=prepboot --asprimary --size=8 --ondisk=vda
part / --fstype="ext4" --grow --size=100 --ondisk=vda
auth --enableshadow --passalgo=sha512 --kickstart
firstboot --disabled
reboot
user --name=centos --plaintext --password centos
url --url=http://centos-altarch.osuosl.org/7.3.1611/os/ppc64
repo --name=updates --baseurl=http://centos-altarch.osuosl.org/7.3.1611/updates/ppc64

%packages --nobase --ignoremissing
openssh-clients
sudo
wget
nfs-utils
net-tools
perl-libwww-perl
bzip2
vim
rsync
man
man-pages
-fprintd-pam
-intltool

# unnecessary firmware
-aic94xx-firmware
-atmel-firmware
-b43-openfwwf
-bfa-firmware
-ipw2100-firmware
-ipw2200-firmware
-ivtv-firmware
-iwl1000-firmware
-iwl100-firmware
-iwl105-firmware
-iwl135-firmware
-iwl2000-firmware
-iwl2030-firmware
-iwl3160-firmware
-iwl3945-firmware
-iwl4965-firmware
-iwl5000-firmware
-iwl5150-firmware
-iwl6000-firmware
-iwl6000g2a-firmware
-iwl6000g2b-firmware
-iwl6050-firmware
-iwl7260-firmware
-libertas-sd8686-firmware
-libertas-sd8787-firmware
-libertas-usb8388-firmware
-ql2100-firmware
-ql2200-firmware
-ql23xx-firmware
-ql2400-firmware
-ql2500-firmware
-rt61pci-firmware
-rt73usb-firmware
-xorg-x11-drv-ati-firmware
-zd1211-firmware
%end

%post
yum -y upgrade
# update root certs
wget https://raw.githubusercontent.com/bagder/curl/master/lib/mk-ca-bundle.pl
perl mk-ca-bundle.pl /etc/pki/tls/certs/ca-bundle.crt
rm certdata.txt mk-ca-bundle.pl
# sudo
echo "%centos ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/centos
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
%end
87 changes: 87 additions & 0 deletions packer/http/centos-7.3/ks-ppc64le.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
install
cdrom
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp
rootpw centos
firewall --disabled
selinux --permissive
timezone UTC
unsupported_hardware
bootloader --location=mbr
text
skipx
zerombr
clearpart --all --initlabel
part prepboot --fstype=prepboot --asprimary --size=8 --ondisk=vda
part / --fstype="ext4" --grow --size=100 --ondisk=vda
auth --enableshadow --passalgo=sha512 --kickstart
firstboot --disabled
reboot
user --name=centos --plaintext --password centos
url --url=http://centos-altarch.osuosl.org/7.3.1611/os/ppc64le
repo --name=updates --baseurl=http://centos-altarch.osuosl.org/7.3.1611/updates/ppc64le

%packages --nobase --ignoremissing
openssh-clients
sudo
wget
nfs-utils
net-tools
perl-libwww-perl
bzip2
vim
rsync
man
man-pages
-fprintd-pam
-intltool

# unnecessary firmware
-aic94xx-firmware
-atmel-firmware
-b43-openfwwf
-bfa-firmware
-ipw2100-firmware
-ipw2200-firmware
-ivtv-firmware
-iwl1000-firmware
-iwl100-firmware
-iwl105-firmware
-iwl135-firmware
-iwl2000-firmware
-iwl2030-firmware
-iwl3160-firmware
-iwl3945-firmware
-iwl4965-firmware
-iwl5000-firmware
-iwl5150-firmware
-iwl6000-firmware
-iwl6000g2a-firmware
-iwl6000g2b-firmware
-iwl6050-firmware
-iwl7260-firmware
-libertas-sd8686-firmware
-libertas-sd8787-firmware
-libertas-usb8388-firmware
-ql2100-firmware
-ql2200-firmware
-ql23xx-firmware
-ql2400-firmware
-ql2500-firmware
-rt61pci-firmware
-rt73usb-firmware
-xorg-x11-drv-ati-firmware
-zd1211-firmware
%end

%post
yum -y upgrade
# update root certs
wget https://raw.githubusercontent.com/bagder/curl/master/lib/mk-ca-bundle.pl
perl mk-ca-bundle.pl /etc/pki/tls/certs/ca-bundle.crt
rm certdata.txt mk-ca-bundle.pl
# sudo
echo "%centos ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/centos
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
%end
5 changes: 5 additions & 0 deletions packer/scripts/centos/openstack.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#!/bin/bash -eux

if [ $(uname -m)=="ppc64" -o $(uname -m)=="ppc64le" ]
then
yum -y install ppc64-diag
fi

yum -y install cloud-init cloud-utils dracut-modules-growroot cloud-utils-growpart
dracut -f

Expand Down
5 changes: 3 additions & 2 deletions packer/scripts/common/sshd.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#!/bin/bash -eux

echo "UseDNS no" >> /etc/ssh/sshd_config
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
echo "GSSAPIAuthentication no" >> /etc/ssh/sshd_config
echo "ChallengeResponseAuthentication no" >> /etc/ssh/sshd_config
echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication .*/PasswordAuthentication no/Ig' /etc/ssh/sshd_config
sed -i 's/ChallengeResponseAuthentication .*/ChallengeResponseAuthentication no/Ig' /etc/ssh/sshd_config
10 changes: 8 additions & 2 deletions scripts/build-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,11 @@ IMAGE_NAME=$(grep vm_name $TEMPLATE | awk '{print $2}' | sed -e 's/\"//g' | sed
set -xe
cd packer
packer build -var "chef_version=$CHEF_VERSION" $(basename $TEMPLATE)
qemu-img convert -o compat=0.10 -O qcow2 -c ${DIR_NAME}/${IMAGE_NAME}.qcow2 \
${DIR_NAME}/${IMAGE_NAME}-compressed.qcow2

if [ "$(packer version | grep ^Packer)" == "Packer v0.7.5" ] ; then
qemu-img convert -o compat=0.10 -O qcow2 -c ${DIR_NAME}/${IMAGE_NAME}.qcow2 \
${DIR_NAME}/${IMAGE_NAME}-compressed.qcow2
else
qemu-img convert -o compat=0.10 -O qcow2 -c ${DIR_NAME}/${IMAGE_NAME} \
${DIR_NAME}/${IMAGE_NAME}-compressed.qcow2
fi

0 comments on commit 337202a

Please sign in to comment.