ACPI power buttons are input devices! Without this it isn't possible to
trigger a graceful shutdown via qemu's command 'system_powerdown' or
whatever libvirt and similar APIs that are layered on top of it.
Probably applicable to other things too that we just don't know about.
Create a meta-ebuild for the SDK based on the packages currently listed
explicitly in bootstrap_sdk.sh and a buildhost ebuild that expands on
that, adding packages that are required in containers used by build
slave instances.
Creating a new category for this, coreos-base is overused and dev-python
didn't seem right for custom infrastructure tools. Going forward I'd
like to put SDK and build host specific stuff in this category when
previously coreos-base would be used. Things that actually land in
images would stick with coreos-base.
Important notice to all using curl: by default a 404 is not an error!
I noticed that instances created without any user data were attempting
to connect to a *lot* of random IP addresses and failing. After
attempting the curl command c10n uses to fetch user data it would seem
we have lots of virtual machines using the following as a secret key:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>404 - Not Found</title>
</head>
<body>
<h1>404 - Not Found</h1>
</body>
</html>
ᕙ(⇀‸↼‶)ᕗ
The --fail option is required for curl to behave responsibly.
thie patch does a few things
1) Add the etcd user and run etcd as that user
2) Add the /var/lib/etcd directory and have it owned by the etcd user
3) Move /media/state/etcd/* files into /var/lib/etcd/ and chown them to
etcd
Test-plan: Build an AMI and ensure this all works with the
bootstrapping.
1) Make default.target be multi-user.target instead of the default,
graphical.target
2) Move daemons out of coreos-startup and just have them wantedby
default.target
3) Have update-engine not rely on coreos-startup and add itself to
default.target.wants
4) Grab the new init code that does the above
5) Add the local-enable.service which will add /media/state/units to
/run/systemd/system and start local.target
As of Linux 3.2 loopback supports discard by punching holes in the
underlying file. This doesn't actually seem to impact things right now
since we are writing to fresh filesystems but might as well do this to
prevent wasted space from sneaking in later on.
Enable sparse files for all dd and cp commands and replace some dd
commands that are really better off being truncate commands.
While in the neighborhood there were a number of useless sudo commands
for things that just happen to be in sbin. Call them directly instead.
Ever since adding prod it hasn't been possible to build just dev and
prod without explicitly building base. Base is always built but usually
there is no point to keeping it around. Add some logic to make dev not
conflict with prod and make sure base is deleted and not uploaded if it
wasn't explicitly requested.
Its single use is in build_common and even then having a little progress
bar for copying images isn't that interesting, they just get lost in the
noise of the emerge output. Keep it simple, use cp.
Our SDK tarballs aren't compressed using pbzip2 so there is no advantage
to using pbzip2 to decompress them over bzip2, however lbzip2 does offer
a big advantage. Also trust that the portage config defines a valid
version of bzip2 since we have control over the tarball creation and can
make sure to always include required utilities.
The build host will start generating production ami disk images so to
simplify the next step this script can automatically fetch them from
that location by version. The default sticks with the existing 'master'
versioning scheme. Added logging and turned off -x by default to make
the output log more readable.
Removing the zip_and_ship script since it isn't useful with officially
built disk images and only works with locally built images and a very
particular ec2 host. A different long term automation scheme will have
to be found.