[deadline in 1 week] 8th Workshop on Virtualization in High-Performance Cloud Computing (VHPC '13)
by VHPC 15
we apologize if you receive multiple copies of this CfP
=================================================================
CALL FOR PAPERS
8th Workshop on Virtualization in High-Performance Cloud Computing (VHPC '13)
held in conjunction with SC 13, Denver, Colorado | in cooperation with
ACM SIGHPC
=================================================================
Date: November 22, 2013
Workshop URL: http://vhpc.org
Paper Submission Deadline: September 23, 2013 (firm)
Invited Talks:
- John Goodacre, Director, Technology and Systems, ARM Processor Division
The Evolution of the ARM Architecture Towards Big Data and the Data-Centre.
- Jacob Bower, VP of Application Engineering, Maxeler Technologies Ltd.
Maximizing Performance with cloud-virtualized Dataflow Engine oo-processors.
CALL FOR PAPERS
Virtualization has become a common abstraction layer in modern data
centers, enabling resource owners to manage complex infrastructures
independently of their applications. Conjointly, virtualization is becoming
a driving technology for a manifold of industry grade IT services. The
cloud concept includes the notion of a separation between resource
owners and users, adding services such as hosted application
frameworks and queueing. Utilizing the same infrastructure, clouds
carry significant potential for use in cpu-intensive or data-intensive
high-throughput computing. The ability of clouds to provide for
requests and releases
of vast computing resources dynamically and close to the marginal
cost of providing the services is unprecedented in the history of
scientific and commercial computing.
This workshop aims to bring together industrial providers with the
application community in order to foster discussion, collaboration
and mutual exchange of knowledge and experience.
The workshop will be one day in length, composed of 20 min paper
presentations, each followed by 10 min discussion sections. Lightning
talks are limited to 5 minutes. Presentations may be accompanied by
interactive demonstrations.
TOPICS
Topics of interest include, but are not limited to:
- Management, deployment and monitoring of VM-based environments
- Language-process virtual machines
- VM-cloud performance monitoring
- VM cloud topology management and optimization
- VMs for high-throughput large data analytical workloads
- Operating systems virtualization support optimization
- VM-based cloud performance modelling
- Network virtualization for VM-environments
- Data virtualization
- Cloudbursting
- Evolved grid architectures including such based on network virtualization
- Workload characterization for VM-based environments
- Optimized communication libraries/protocols in the cloud
- System and process/bytecode VM convergence
- Cloud frameworks and APIs
- GPU Virtualization architectures and APIs
- Checkpointing/migration of large compute jobs
- Instrumentation interfaces and languages
- VMM performance (auto-)tuning on various load types
- Cloud reliability, fault-tolerance, and security
- Heterogeneous virtualized environments
- Paravirtualized I/O
- Services in cloud HPC
- Research and education use cases
- Virtualization in cloud, cluster and grid environments
- Cross-layer VM optimizations
- Cloud HPC use cases including optimizations
- Energy-aware virtualization
- Performance and cost modelling
- QoS and and service levels
- Languages for describing highly-distributed compute jobs
- VM cloud and cluster distribution algorithms, load balancing
- Instrumentation interfaces and languages
- Hypervisor extensions and tools for cluster and grid computing
- Virtual machine monitor platforms
- Cluster provisioning in the cloud
Important Dates:
Rolling Paper registration
September 23, 2013 - Full paper submission (firm)
October 9, 2013 - Acceptance notification
October 21, 2013 - Camera-ready version due
November 22, 2013 - Workshop Date
TPC
CHAIR
Michael Alexander (chair), TU Wien, Austria
Gianluigi Zanetti (co-chair), CRS4, Italy
Anastassios Nanos (co-chair), NTUA, Greece
PROGRAM COMMITTEE
Costas Bekas, IBM, Switzerland
Jakob Blomer, CERN
Giovanni Busonera, CRS4, Italy
Roberto Canonico, University of Napoli Federico II, Italy
Simon Crosby, Bromium, USA
Tommaso Cucinotta, Alcatel-Lucent Bell Labs, Ireland
Michael Day, IBM, USA
Casimer DeCusatis, IBM, USA
William Gardner, University of Guelph, USA
Marcus Hardt, Forschungszentrum Karlsruhe, Germany
Sverre Jarp, CERN, Switzerland
Xuxian Jiang, NC State, USA
Krishna Kant, George Mason University, USA
Romeo Kinzler, IBM, Switzerland
Nectarios Koziris, National Technical University of Athens, Greece
Simone Leo, CRS4, Italy
Jean-Marc Menaud, Ecole des Mines de Nantes, France
Dimitrios Nikolopoulos, Queen's University of Belfast, UK
Josh Simons, VMWare, USA
Borja Sotomayor, University of Chicago, USA
Yoshio Turner, HP Labs, USA
Kurt Tutschku, Blekinge Institute of Technology, Sweden
Chao-Tung Yang, Tunghai University, Taiwan
PAPER SUBMISSION-PUBLICATION
Papers submitted to the workshop will be reviewed by at least two
members of the program committee and external reviewers. Submissions
should include abstract, key words, the e-mail address of the
corresponding author, and must not exceed 8 pages, including tables
and figures at a main font size no smaller than 11 point. Submission
of a paper should be regarded as a commitment that, should the paper
be accepted, at least one of the authors will register and attend the
conference to present the work.
Accepted papers will be published in the ACM International Conference
Proceedings Series. The format must be according to the ACM SIG style.
Initial submissions are in PDF; authors of accepted papers will be
requested to provide source files.
Format Guidelines:
http://www.acm.org/sigs/publications/sigguide-v2.2sp
Style template:
http://www.acm.org/sigs/publications/proceedings-templates
Abstract Submission Link:
http://edas.info/newPaper.php?c=14791
LIGHTNING TALKS
Lightning Talks are non-paper track synoptical in nature that are strictly
limited to 5 minutes. They can be used to gain early feedback on ongoing
research, for demonstrations, to present research results, early research
ideas, perspectives and positions of interest to the community.
GENERAL INFORMATION
The workshop will be held in conjunction with SC’13, Denver, Colorado.
SC 2013: http://sc13.supercomputing.org/
10 years, 7 months
Future directions for Fedora Cloud
by Matthew Miller
By now, many of us will have seen the "Three Products" strategy for Fedora
as discussed at Flock and approved by the board last week. (If not, see
<https://fedoraproject.org/wiki/Fedora.next/boardproposal>).
Although the initial Cloud SIG focus was on producing a great guest image,
generally we've got participants interested in all things cloud, from
private cloud IAAS software running on metal all the way to the top of the
stack. I don't think that will (or should) change -- it's good to have a
broad group interested in the whole picture.
The new Fedora Cloud Working Group (which I hope to see many of you signing
up for -- there will be a call-for-participation message coming soon) will
be a subset working specifically on Fedora as a cloud guest OS. What that
exactly _means_ will be up to the working group to determine.
The split from Fedora Server gives us some interesting room for exploration.
It _could_ simply be that the cloud image is the Fedora Server OS, but
tailored to run in a virtual environment and with cloud-init. That's roughly
what we do now, really. But, if we want to, we can draw the division very
differently.
I've been thinking of two other possible approaches for this and I'd like to
hear your thoughts (and, again, get your involvement in the working group).
Both of these ideas might include the idea of having the Fedora Server
product actually also produce AMIs and qcow2 images as we do now from this
SIG. That would cover the use cases which are basically "I want a
traditional Fedora system, but I want it in the cloud". For that reason,
we'd probably want a different marketing name than Fedora Cloud.
(Suggestions eventually welcome, but let's talk about the bigger ideas
first.)
So, idea one is to make something like CoreOS (http://coreos.com/): a
lightweight distribution made for running containers on top of. We wouldn't
attempt to be _as_ lightweight as CoreOS (for that, there's CoreOS), but aim
to be small while still providing key features like SELinux. Perhaps this
could be built with Colin Walter's OSTree (see
https://wiki.gnome.org/OSTree) for atomic updates. Then, we would provide
something like Docker or an OpenShift interface for launching and running
the actual code on top of that.
Idea two is to focus instead on what goes _in_ those containers. As far as I
can see, this is a largely open space and not very well addressed overall,
let alone within Fedora. We could focus on 1) a process for building
container images out of Fedora through release engineering (tracking source
code all the way to the end result, helping with license compliance issues
and verifiability) and 2) an easy way to remix these images plus a
marketplace for those remixes.
With idea two, we could either _also_ do idea one (or idea zero, continuing
on the current path), or we could simply ask the Fedora Server product to
please provide the underlying layer.
Does this sound interesting / valuable? Are there other directions you'd
like to see us go?
--
Matthew Miller ☁☁☁ Fedora Cloud Architect ☁☁☁ <mattdm(a)fedoraproject.org>
10 years, 7 months
mattdm @ LinuxCon / CloudOpen this week
by Matthew Miller
Hi all. I am at LinuxCon NA this week, which I guess has three effects:
1) I'm probably going to be a bit slow at responding to e-mail and other
things,
2) I'm definitely going to be distracted from the things I normally
do, including F20 cloud image work (but I'll try to keep up with what's
going on for the alphas), and
3) if you're here, find me and say hi!
--
Matthew Miller ☁☁☁ Fedora Cloud Architect ☁☁☁ <mattdm(a)fedoraproject.org>
10 years, 7 months
3 commits - container/container-minimal-20.ks container/fedora-20-container.ks
by Matthew Miller
container/container-minimal-20.ks | 126 ++++++++++++++++++++++++++++++++++++++
container/fedora-20-container.ks | 12 ++-
2 files changed, 133 insertions(+), 5 deletions(-)
New commits:
commit f4c8d1b5bbcf889783593b7c85f44ed397690791
Author: Matthew Miller <mattdm(a)mattdm.org>
Date: Fri Sep 13 13:54:51 2013 -0400
rename this
diff --git a/container/container-minimal-20.ks b/container/container-minimal-20.ks
new file mode 100644
index 0000000..0422064
--- /dev/null
+++ b/container/container-minimal-20.ks
@@ -0,0 +1,126 @@
+# This is a kickstart for making a non-bootable container environment.
+#
+# Convert the result to a tarfile with
+#
+# virt-tar-out -a fedora.qcow2 / - | bzip2 --best > fedora.tar.bz2
+#
+#
+# This kickstart file is designed to be used with appliance-creator and
+# may need slight modification for use with actual anaconda or other tools.
+# We intend to target anaconda-in-a-vm style image building for F20, but
+# not necessarily for containers -- that's yet to be worked out.
+
+lang en_US.UTF-8
+keyboard us
+timezone --utc Etc/UTC
+
+auth --useshadow --enablemd5
+selinux --enforcing
+rootpw --lock --iscrypted locked
+
+zerombr
+clearpart --all
+part / --size 1024 --fstype ext4
+
+# Repositories
+repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-20&arch=$basearch
+repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f20&arch=$basearch
+
+reboot
+
+# Package list.
+%packages --excludedocs
+
+bash
+coreutils
+filesystem
+setup
+yum
+
+# removed below
+findutils
+passwd
+# https://bugzilla.redhat.com/show_bug.cgi?id=1004976
+firewalld
+
+%end
+
+
+
+%post --erroronfail
+
+# setup systemd to boot to the right runlevel
+echo -n "Setting default runlevel to multiuser text mode"
+rm -f /etc/systemd/system/default.target
+ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+echo .
+
+echo -n "Network fixes"
+# initscripts don't like this file to be missing.
+cat > /etc/sysconfig/network << EOF
+NETWORKING=yes
+NOZEROCONF=yes
+EOF
+
+# For cloud images, 'eth0' _is_ the predictable device name, since
+# we don't want to be tied to specific virtual (!) hardware
+rm -f /etc/udev/rules.d/70*
+ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
+
+# simple eth0 config, again not hard-coded to the build hardware
+cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
+DEVICE="eth0"
+BOOTPROTO="dhcp"
+ONBOOT="yes"
+TYPE="Ethernet"
+EOF
+
+# generic localhost names
+cat > /etc/hosts << EOF
+127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
+::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
+
+EOF
+echo .
+
+
+# Because memory is scarce resource in most cloud/virt environments,
+# and because this impedes forensics, we are differing from the Fedora
+# default of having /tmp on tmpfs.
+echo "Disabling tmpfs for /tmp."
+systemctl mask tmp.mount
+
+echo "Removing random-seed so it's not the same in every image."
+rm -f /var/lib/random-seed
+
+
+echo "Compressing cracklib."
+gzip -9 /usr/share/cracklib/pw_dict.pwd
+
+echo "Minimizing locale-archive."
+localedef --list-archive | grep -v en_US | xargs localedef --delete-from-archive
+mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
+/usr/sbin/build-locale-archive
+
+echo "Removing extra packages."
+yum -C -y remove passwd --setopt="clean_requirements_on_remove=1"
+yum -C -y remove findutils --setopt="clean_requirements_on_remove=1"
+yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
+
+
+echo "Cleaning old yum repodata."
+yum clean all
+truncate -c -s 0 /var/log/yum.log
+
+echo "Fixing SELinux contexts."
+/usr/sbin/fixfiles -R -a restore
+
+
+echo "Zeroing out empty space."
+# This forces the filesystem to reclaim space from deleted files
+dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
+rm -f /var/tmp/zeros
+echo "(Don't worry -- that out-of-space error was expected.)"
+
+%end
+
commit 8727de5bf045f4717665fc97e74788af505e322f
Author: Matthew Miller <mattdm(a)mattdm.org>
Date: Fri Sep 13 13:29:06 2013 -0400
add and then remove firewalld (bz #1004976)
diff --git a/container/fedora-20-container.ks b/container/fedora-20-container.ks
index a2d9e8d..0422064 100644
--- a/container/fedora-20-container.ks
+++ b/container/fedora-20-container.ks
@@ -40,6 +40,8 @@ yum
# removed below
findutils
passwd
+# https://bugzilla.redhat.com/show_bug.cgi?id=1004976
+firewalld
%end
@@ -103,6 +105,7 @@ mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
echo "Removing extra packages."
yum -C -y remove passwd --setopt="clean_requirements_on_remove=1"
yum -C -y remove findutils --setopt="clean_requirements_on_remove=1"
+yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
echo "Cleaning old yum repodata."
commit f7f9910c919cda1ff6e942424fd06105c7d81ad1
Author: Matthew Miller <mattdm(a)mattdm.org>
Date: Fri Sep 13 13:22:13 2013 -0400
f20 instead of rawhide
diff --git a/container/fedora-20-container.ks b/container/fedora-20-container.ks
index 1423c9e..a2d9e8d 100644
--- a/container/fedora-20-container.ks
+++ b/container/fedora-20-container.ks
@@ -7,7 +7,8 @@
#
# This kickstart file is designed to be used with appliance-creator and
# may need slight modification for use with actual anaconda or other tools.
-# We intend to target anaconda-in-a-vm style image building for F20.
+# We intend to target anaconda-in-a-vm style image building for F20, but
+# not necessarily for containers -- that's yet to be worked out.
lang en_US.UTF-8
keyboard us
@@ -22,10 +23,8 @@ clearpart --all
part / --size 1024 --fstype ext4
# Repositories
-#repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-20&arch=$basearch
-#repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f20&arch=$basearch
-repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
-
+repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-20&arch=$basearch
+repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f20&arch=$basearch
reboot
10 years, 7 months
Removing the update_hostname cloud-init module from AMI's
by Sam Kottler
Hi! Sorry about two emails in a row :-)
I think the update_hostname module causes some confusion on EBS-backed instances. Users expect the hostname of their instance to remain consistent across reboots and the update_hostname module causes it to be reset on boot.
What do you all think about removing it from the cloud-init configuration?
-Sam
10 years, 7 months
Self Introduction
by Michael Hampton
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi everyone,
I'm Michael Hampton. I've been using Fedora for its entire existence, and Red Hat Commercial Linux before that, starting around 3.0.3 or so. Until now, though, I've never really had a good opportunity to contribute back, aside from the occasional bug report.
I've been a system administrator for many years, working for myself and clients of my choice. I am perhaps most obviously visible as a community moderator of Server Fault, a site in the Stack Exchange network. http://serverfault.com/users/126632
I do drop in on Freenode on occasion, but since my nick is io_error I am often confused with a famous individual, and as a result I don't spend much time there.
I am doing some work with Windows Azure, and I need to run Fedora on it. While the kernel contains all the necessary drivers, the Linux agent software that Microsoft provides, and which Linux VMs need to be provisioned properly on Azure, isn't packaged for Fedora. I intend to change that, and I have submitted a review request for my packaging of the agent. Since I haven't officially packaged for Fedora before, I need a sponsor.
The review request can be found at: https://bugzilla.redhat.com/show_bug.cgi?id=1006116 I would appreciate your comments and, if you can, your sponsorship.
Ultimately I want to look at automating cloud image builds of Fedora for Windows Azure similarly to the way it is done for Amazon EC2, and I would appreciate hearing from anyone who can tell me more about how Fedora currently does this.
Thanks for reading,
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSL6BiAAoJEJICkBIKCqxcV04P/2vh8mIR82DvFE6rJ2tqlZDf
51q5TlWDrmRHGFpk5nBEi9sdq4wt3bro1QnfH2ZW0INchMGy1kVH0ZU4fqtP8M5Y
J9XzxkWB7+fTsmDuY7jINv4lrfxkvwMW3bxeNj5uVXuyCAjdW9GLqonarPFVVbxA
IdIoX4hPW59FYduCyci6Uj97ZbeMz6qABQZw878Hl/bXo07fHXUNJNt4pJ1sR4js
vM/UhhIKEwS4ro5mlEZW4EkGRwVOBT15+SKoX0t21indW/RUafLYyL7twmHz9iG4
v8T9MGvvkHfRplfOK/tVRnToypYFK3s9cO9XIH3SIo0JRR6FZrE1e9P4L8eor/2O
iPNbWve8RtKplh6RtIPdNIlol82eM09FUcR4zPQserGHlJ4yXszNLcQ7OhTDrnts
wj2XLvX9a1p6OTItsUE3xLG3YiMLyA2g8fIBw2hVGDrgl/Qkz9Ba8MV/jcD0MFHj
bgv9Vb4UrOTp3vLEyAMItO4vInD91fHdSkJSLDCJ5UUo7Z+sDSlMMZlH85//RY2v
dCiSiwpeBGCH0lOgUWbRRflRwc+10/zMQCfAV5h5KuQd4SC5wT/kUtSEstMgoBvv
imazIjrco5Z5luO78HpZuboYN33X76KIPP72dLZ4/SUjTqN0biFMT3rqGpuz8/Tj
bRP/Y2TYeurUAp79fVLx
=RObu
-----END PGP SIGNATURE-----
10 years, 7 months
Howto update the kernel on ec2
by sean darcy
First congratulations on a great setup to allow us clueless ones to pick
an ec2 image and launch it directly into the region of our choice.
Very slick!
But...when you do it you get to a dialog where you can choose the kernel
to use. The drop down list includes default and a number of AKI's
(Amazon Kernel Images??) . How do you find out what the AKI's refer to
in Fedora speak, i.e. kernel-3.10.10-100.fc18.x86_64 ?? I googled some
of the aki's , but found nothing.
Also, since the F19 ec2 instance only has one partition:
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 2032912 1088744 907784 55% /
devtmpfs 280236 0 280236 0% /dev
tmpfs 302208 0 302208 0% /dev/shm
tmpfs 302208 188 302020 1% /run
tmpfs 302208 0 302208 0% /sys/fs/cgroup
we should use an hd0 ( and not hd00 ) aki, correct?
But now I have an F19 instance running. Will I need to do some magic to
upgrade the kernel, or is yum upgrade sufficient?
sean
10 years, 7 months
2 commits - boxgrinder/f15 boxgrinder/f18 container/fedora-20-container.ks
by Matthew Miller
boxgrinder/f15/fedora15.appl | 17 -----
boxgrinder/f18/fedora18.appl | 14 ----
container/fedora-20-container.ks | 124 +++++++++++++++++++++++++++++++++++++++
3 files changed, 124 insertions(+), 31 deletions(-)
New commits:
commit c34846d3aaeda808f48fea6d8457e9dd3dc14914
Author: Matthew Miller <mattdm(a)mattdm.org>
Date: Thu Sep 5 21:55:13 2013 -0400
remove boxgrinder, because these templates aren't maintained
diff --git a/boxgrinder/f15/fedora15.appl b/boxgrinder/f15/fedora15.appl
deleted file mode 100644
index dbaf50f..0000000
--- a/boxgrinder/f15/fedora15.appl
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Fedora-15
-summary: Fedora 15
-os:
- name: fedora
- version: 15
-hardware:
- partitions:
- "/":
- size: 10
-packages:
- - @base
- - @core
- - yum
- - openssh-server
- - openssh-clients
- - system-config-firewall-base
- - sudo
diff --git a/boxgrinder/f18/fedora18.appl b/boxgrinder/f18/fedora18.appl
deleted file mode 100644
index e3f269a..0000000
--- a/boxgrinder/f18/fedora18.appl
+++ /dev/null
@@ -1,14 +0,0 @@
-name: Fedora-18-min
-summary: Fedora 18 Minimal
-os:
- name: fedora
- version: 18
- release: 0
-hardware:
- partitions:
- "/":
- size: 10
-packages:
- - @core
- - pciutils
- - kernel
commit 3b76f286bcace88de625ba732ecd8e3c7c4ab9cf
Author: Matthew Miller <mattdm(a)mattdm.org>
Date: Thu Sep 5 21:33:33 2013 -0400
first cut at a kickstart to generate a (non-bootable) container image
diff --git a/container/fedora-20-container.ks b/container/fedora-20-container.ks
new file mode 100644
index 0000000..1423c9e
--- /dev/null
+++ b/container/fedora-20-container.ks
@@ -0,0 +1,124 @@
+# This is a kickstart for making a non-bootable container environment.
+#
+# Convert the result to a tarfile with
+#
+# virt-tar-out -a fedora.qcow2 / - | bzip2 --best > fedora.tar.bz2
+#
+#
+# This kickstart file is designed to be used with appliance-creator and
+# may need slight modification for use with actual anaconda or other tools.
+# We intend to target anaconda-in-a-vm style image building for F20.
+
+lang en_US.UTF-8
+keyboard us
+timezone --utc Etc/UTC
+
+auth --useshadow --enablemd5
+selinux --enforcing
+rootpw --lock --iscrypted locked
+
+zerombr
+clearpart --all
+part / --size 1024 --fstype ext4
+
+# Repositories
+#repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-20&arch=$basearch
+#repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f20&arch=$basearch
+repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
+
+
+reboot
+
+# Package list.
+%packages --excludedocs
+
+bash
+coreutils
+filesystem
+setup
+yum
+
+# removed below
+findutils
+passwd
+
+%end
+
+
+
+%post --erroronfail
+
+# setup systemd to boot to the right runlevel
+echo -n "Setting default runlevel to multiuser text mode"
+rm -f /etc/systemd/system/default.target
+ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+echo .
+
+echo -n "Network fixes"
+# initscripts don't like this file to be missing.
+cat > /etc/sysconfig/network << EOF
+NETWORKING=yes
+NOZEROCONF=yes
+EOF
+
+# For cloud images, 'eth0' _is_ the predictable device name, since
+# we don't want to be tied to specific virtual (!) hardware
+rm -f /etc/udev/rules.d/70*
+ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
+
+# simple eth0 config, again not hard-coded to the build hardware
+cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
+DEVICE="eth0"
+BOOTPROTO="dhcp"
+ONBOOT="yes"
+TYPE="Ethernet"
+EOF
+
+# generic localhost names
+cat > /etc/hosts << EOF
+127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
+::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
+
+EOF
+echo .
+
+
+# Because memory is scarce resource in most cloud/virt environments,
+# and because this impedes forensics, we are differing from the Fedora
+# default of having /tmp on tmpfs.
+echo "Disabling tmpfs for /tmp."
+systemctl mask tmp.mount
+
+echo "Removing random-seed so it's not the same in every image."
+rm -f /var/lib/random-seed
+
+
+echo "Compressing cracklib."
+gzip -9 /usr/share/cracklib/pw_dict.pwd
+
+echo "Minimizing locale-archive."
+localedef --list-archive | grep -v en_US | xargs localedef --delete-from-archive
+mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
+/usr/sbin/build-locale-archive
+
+echo "Removing extra packages."
+yum -C -y remove passwd --setopt="clean_requirements_on_remove=1"
+yum -C -y remove findutils --setopt="clean_requirements_on_remove=1"
+
+
+echo "Cleaning old yum repodata."
+yum clean all
+truncate -c -s 0 /var/log/yum.log
+
+echo "Fixing SELinux contexts."
+/usr/sbin/fixfiles -R -a restore
+
+
+echo "Zeroing out empty space."
+# This forces the filesystem to reclaim space from deleted files
+dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
+rm -f /var/tmp/zeros
+echo "(Don't worry -- that out-of-space error was expected.)"
+
+%end
+
10 years, 7 months