Commit Graph

148 Commits

Author SHA1 Message Date
Graham Christensen
f5994c208d
nixos ec2/create-amis.sh: shellcheck: quote state_dir reference 2020-10-30 12:07:59 -04:00
Graham Christensen
c76692192a
nixos ec2/create-amis.sh: shellcheck: quote region references 2020-10-30 12:07:49 -04:00
Lassulus
d08b81c3b5
Merge pull request #89116 from wagdav/fix-args-create-amis
nixos/maintainers/scripts/ec2/create-amis.sh: fix argument check
2020-08-22 16:47:54 +02:00
Jörg Thalheim
0cb79c953d nixos/ec2: remove dependency on NIX_PATH
This is required when migrating to flakes
2020-08-16 10:56:44 +00:00
zowoq
2b5659c700 nixos/maintainers/*: editorconfig fixes 2020-08-04 00:23:54 +10:00
David Wagner
3b1ed035c3 create-amis: fix argument check
Because this script enables `set -u` when no arguments are provided bash
exits with the error:

    $1: unbound variable

instead of the helpful usage message.
2020-05-28 17:41:45 +02:00
Cole Mickens
7c7e76450b
nixos/azure-new: use local nixpkgs 2020-04-27 02:11:10 -07:00
Cole Mickens
1992768157 nixos/azure: clarify how users work in basic example 2020-03-29 13:56:55 -07:00
Cole Mickens
627ae7e057 nixos/azure: upload-image.sh cleanup $1 handling 2020-03-29 13:56:55 -07:00
Cole Mickens
a5de97f21e nixos/azure: upload-image names the image better 2020-03-29 13:56:55 -07:00
Cole Mickens
c2b2cc6dbd nixos/azure: simplify example image 2020-03-29 13:56:55 -07:00
Cole Mickens
20f981de08 azure: init nixos/maintainers/scripts/azure-new 2020-03-29 13:56:55 -07:00
Benjamin Hipple
129176452c nixos-ami: update nvme_core.io_timeout for linux kernel >= 4.15
NixOS 20.03 is built on kernel 5.4 and 19.09 is on 4.19, so we should update
this option to the highest value possible, per linked upstream instructions from
Amazon.
2020-03-22 00:35:56 -04:00
adisbladis
4e5b0571ed
create-amis: Add eu-north-1 2020-03-05 18:00:28 +00:00
Alyssa Ross
65dcd244bc maintainers/create-azure.sh: run from anywhere
I'm not really sure how the line directly after ended up with this,
but this line didn't...
2020-01-09 20:54:28 +00:00
Andrew Childs
bd61216f55 ec2/create-amis.sh: register root device as /dev/xvda
For the case of blkfront drives, there appears to be no difference
between /dev/sda1 and /dev/xvda: the drive always appears as the
kernel device /dev/xvda.

For the case of nvme drives, the root device typically appears as
/dev/nvme0n1.  Amazon provides the 'ec2-utils' package for their first
party linux ("Amazon Linux"), which configures udev to create symlinks
from the provided name to the nvme device name. This name is
communicated through nvme "Identify Controller" response, which can be
inspected with:

  nvme id-ctrl --raw-binary /dev/nvme0n1 | cut -c3073-3104 | hexdump -C

On Amazon Linux, where the device is attached as "/dev/xvda", this
creates:

- /dev/xvda  -> nvme0n1
- /dev/xvda1 -> nvme0n1p1

On NixOS where the device is attach as "/dev/sda1", this creates:

- /dev/sda1  -> nvme0n1
- /dev/sda11 -> nvme0n1p1

This is odd, but not inherently a problem.

NixOS unconditionally configures grub to install to `/dev/xvda`, which
fails on an instance using nvme storage. With the root device name set
to xvda, both blkfront and nvme drives are accessible as /dev/xvda,
either directly or by symlink.
2019-11-02 05:58:58 +09:00
AmineChikhaoui
dc13a7f26a
ec2-amis.nix: add 19.09 amis
replace /home/deploy -> $HOME to allow running the script from outside
the bastion.
2019-10-28 14:04:20 -04:00
Johan Thomsen
b263e57c57 scripts/gce: make image name configurable 2019-10-25 10:10:42 +02:00
Andrew Childs
84742e2293 amazon-image.nix: upload prebuilt images 2019-09-05 00:52:21 +09:00
Andrew Childs
25bee972e9 amazon-image.nix: add hydra-build-products and improve metadata 2019-09-05 00:52:20 +09:00
Andrew Childs
027e5560bd amazon-image.nix: default to vpc formatted images
These can be imported without converison.
2019-09-05 00:52:20 +09:00
Andrew Childs
5501274b5f amazon-image.nix: add EFI support, enable by default for aarch64 2019-09-05 00:52:17 +09:00
danbst
0f8596ab3f mass replace "flip map -> forEach"
See `forEach`-introduction commit.
```
rg 'flip map ' --files-with-matches | xargs sed -i 's/flip map /forEach /g'
```
2019-08-05 14:03:38 +03:00
danbst
91bb646e98 Revert "mass replace "flip map -> foreach""
This reverts commit 3b0534310c.
2019-08-05 14:01:45 +03:00
danbst
3b0534310c mass replace "flip map -> foreach"
See `foreach`-introduction commit.
```
rg 'flip map ' --files-with-matches | xargs sed -i 's/flip map /foreach /g'
```
2019-07-14 13:46:10 +03:00
Daniel Schaefer
786f02f7a4 treewide: Remove usage of isNull
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-04-29 14:05:50 +02:00
talyz
261372b69c amazon-image.nix: Resolve failure to include resize2fs
Since 34234dcb51, for resize2fs to be automatically included in
initrd, a filesystem needed for boot must be explicitly defined as an
ext* type filesystem.
2019-03-15 17:33:45 +01:00
Ryan Mulligan
d14f102334
Merge pull request #44573 from vincentbernat/feature/cloudstack
nixos/cloudstack-image: initial import
2019-02-24 08:28:42 -08:00
Antoine Eiche
d190b204f0 Rename novaImage to openstackImage
People don't necessary know `nova` is related to Openstack (it is a
component of Openstack). So, it is more explicit to call it
`openstackImage`.
2019-02-11 20:58:44 +01:00
Ding Xiang Fei
88570538b3 google-compute-image: make it a module and the size tuneable (#49854)
* move GCE system configuration to `google-compute-config.nix`
* remove `fetch-ssh-keys` service (disabled in comment)
2018-11-26 14:51:00 +00:00
Vincent Bernat
15f98b7192 nixos/cloudstack-image: initial import
Cloudstack images are simply using cloud-init. They are not headless
as a user usually have access to a console. Otherwise, the difference
with Openstack are mostly handled by cloud-init.

This is still some minor issues. Notably, there is no non-root user.
Other cloud images usually come with a user named after the
distribution and with sudo. Would it make sense for NixOS?

Cloudstack gives the user the ability to change the password.
Cloud-init support for this is imperfect and the set-passwords module
should be declared as `- [set-passwords, always]` for this to work. I
don't know if there is an easy way to "patch" default cloud-init
configuration. However, without a non-root user, this is of no use.

Similarly, hostname is usually set through cloud-init using
`set_hostname` and `update_hostname` modules. While the patch to
declare nixos to cloud-init contains some code to set hostname, the
previously mentioned modules are not enabled.
2018-11-17 20:40:11 +01:00
Eelco Dolstra
b240822cfa create-amis.sh: Change directory for AMIs 2018-07-24 21:19:14 +02:00
volth
2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
Jörg Thalheim
dbdad4b44b maintainers/create-azure.sh: remove hydra.nixos.org as binary cache (#41883) 2018-06-12 14:21:56 +02:00
Ihor Antonov
08ebd830a5 Fix kernel crash caused by absent root device 2018-05-12 02:55:33 +03:00
Ihor Antonov
e4777ae2d8 Fix kernel panic on ec2 kvm instances caused by io timeout on nvme root volume 2018-05-12 02:55:33 +03:00
Maximilian Bosch
9274ea3903
treewide: rename version attributes
As suggested in https://github.com/NixOS/nixpkgs/pull/39416#discussion_r183845745
the versioning attributes in `lib` should be consistent to
`nixos/version` which implicates the following changes:

* `lib.trivial.version` -> `lib.trivial.release`
* `lib.trivial.suffix` -> `lib.trivial.versionSuffix`
* `lib.nixpkgsVersion` -> `lib.version`

As `lib.nixpkgsVersion` is referenced several times in `NixOS/nixpkgs`,
`NixOS/nix` and probably several user's setups. As the rename will cause
a notable impact it's better to keep `lib.nixpkgsVersion` as alias with
a warning yielded by `builtins.trace`.
2018-04-28 14:23:53 +02:00
Rob Vermaas
b894dd8b82
Update create-gce.sh script. Set default option for GCE images to disable host key replacement by service.
(cherry picked from commit 748d96ffa3)
2018-04-06 10:57:31 +02:00
André-Patrick Bubel
26343e3a09 nixos/maintainers/option-usages.nix: Improve spelling and grammar 2018-04-02 01:46:24 +02:00
Tuomas Tynkkynen
962e79ef32 nixos/make-disk-image.nix: Support EFI images
- Add a new parameter `imageType` that can specify either "efi" or
  "legacy" (the default which should see no change in behaviour by
  this patch).

- EFI images get a GPT partition table (instead of msdos) with a
  mandatory ESP partition (so we add an assert that `partitioned`
  is true).

- Use the partx tool from util-linux to determine exact start + size
  of the root partition. This is required because GPT stores a secondary
  partition table at the end of the disk, so we can't just have
  mkfs.ext4 create the filesystem until the end of the disk.

- (Unrelated to any EFI changes) Since we're depending on the
  `-E offset=X` option to mkfs which is only supported by e2fsprogs,
  disallow any attempts of creating partitioned disk images where
  the root filesystem is not ext4.
2018-01-22 11:18:23 +02:00
Eelco Dolstra
014800706a
create-amis.sh: Ass eu-west-3 2017-12-20 16:35:22 +01:00
Dan Peebles
63f7456f6a amazon-image: make derivation name configurable
I'm getting dozens of nixos-disk-image entries in my store and it's
getting hard to track :)
2017-10-23 16:22:24 -04:00
Eelco Dolstra
6c72efe0ba
Don't generate instance-store AMIs
These are obsolete, use EBS AMIs instead.
2017-09-28 17:33:13 +02:00
Jan Tojnar
69698ec11c gnome3: only maintain single GNOME 3 package set (#29397)
* gnome3: only maintain single GNOME 3 package set

GNOME 3 was split into 3.10 and 3.12 in #2694. Unfortunately, we barely have the resources
to update a single version of GNOME. Maintaining multiple versions just does not make sense.
Additionally, it makes viewing history using most Git tools bothersome.

This commit renames `pkgs/desktops/gnome-3/3.24` to `pkgs/desktops/gnome-3`, removes
the config variable for choosing packageset (`environment.gnome3.packageSet`), updates
the hint in maintainer script, and removes the `gnome3_24` derivation from `all-packages.nix`.

Closes: #29329

* maintainers/scripts/gnome: Use fixed GNOME 3 directory

Since we now allow only a single GNOME 3 package set, specifying
the working directory is not necessary.

This commit sets the directory to `pkgs/desktops/gnome-3`.
2017-09-24 12:15:50 +01:00
lewo
3a377e26b2 nixos/nova-image: cleanup image builders (#29242)
There are currently two ways to build Openstack image. This just picks
best of both, to keep only one!

- Image is resizable
- Cloudinit is enable
- Password authentication is disable by default
- Use the same layer than other image builders (ec2, gce...)
2017-09-11 17:33:33 +01:00
Dan Peebles
ca99ec3f58 amazon-image: fix typo in last commit 2017-08-11 02:12:39 +00:00
Dan Peebles
5def5bab3c amazon-image: make image size configurable 2017-08-11 01:57:43 +00:00
Dan Peebles
5f372ef67f amazon-image: support VPC/VHD as an output format for the builder 2017-08-10 22:57:26 +00:00
Dan Peebles
f3f8c584a4 amazon-image: Add disk format option to image builder module 2017-08-10 21:40:42 +00:00
Dan Peebles
f1708a9d7d make-disk-image: change to be less VM-centric
This changes much of the make-disk-image.nix logic (and thus most NixOS
image building) to use LKL to set up the target directory structure rather
than a Linux VM. The only work we still do in a VM is less IO-heavy stuff
that while still time-consuming, is less of the overall load. The goal is
to kill more of that stuff, but that will require deeper changes to NixOS
activation scripts and switch-to-configuration.pl, and I don't want to
bite off too much at once.
2017-04-24 02:30:00 +00:00
Jörg Thalheim
73c8797d16 gce/create-gce.sh: rewrite using nix-shell shebang and bash (#24869)
* google-cloud-sdk: 150.0.0 -> 151.0.0

- gce/create-gce.sh: rewrite using nix-shell shebang and bash
- allows to run the script without being the same directory
- nix-shell install google-cloud-sdk
- some shellcheck cleanups and scripting best practice
- gce/create-gce.sh: do not clobber NIX_PATH: this allows NIX_PATH to be overwritten to build a different release
- gce/create-gce.sh: remove legacy hydra option
2017-04-13 13:42:28 +02:00
Eelco Dolstra
279565c3d6
Revert "Revert "EC2: Disable PV support""
This reverts commit 71710fd099.
2017-04-04 13:03:05 +02:00
Jörg Thalheim
71710fd099
Revert "EC2: Disable PV support"
This reverts commit fbe6d23624.

this breaks every non-ec2 (non-hvm) system

cc @edolstra
2017-04-04 12:05:21 +02:00
Eelco Dolstra
fbe6d23624
EC2: Disable PV support
Unfortunately, somewhere between 16.09 and 17.03, paravirtualized
instances stopped working. They hang at the pv-grub prompt
("grubdom>"). I tried reverting to a 4.4 kernel, reverting kernel
compression from xz to bzip2 (even though pv-grub is supposed to
support xz), and reverting the only change to initrd generation
(5a8147479e). Nothing worked so I'm
giving up.
2017-04-03 17:46:34 +02:00
Eelco Dolstra
e6faf2a4e6
create-amis.sh: Use pv-grub-hd0_1.05 2017-04-03 17:46:34 +02:00
Antoine Eiche
dec7ecbbbc nova-image: refactoring
The nova image configuration is separated from the image build.
2017-02-24 22:17:52 +01:00
Dan Peebles
49641e0de0 make-disk-image.nix: support additional filesystem contents
This makes make-disk-image.nix slightly more consistent with other image
builders we have. Unfortunately I duplicated some code in doing so, but
this is temporary duplication on the path to consolidating everything.
See https://github.com/NixOS/nixpkgs/issues/23052 for more details on that.

I'm also exposing the option in the amazon-image.nix maintainer module.
2017-02-22 23:49:49 +00:00
Eelco Dolstra
a2b8ceb83a Create AMIs for ca-central-1 (Canada) 2017-02-19 23:19:07 +01:00
Eelco Dolstra
4e516363a8 Create AMIs for eu-west-2 (London) 2017-01-17 21:44:01 +01:00
Domen Kožar
49d608ac00 create-amis: use jq instead of json 2016-11-22 01:59:49 +01:00
Domen Kožar
f940d65b2d create-amis: add us-east-2 2016-11-21 21:26:23 +01:00
Domen Kožar
1944c984c3 create-amis: order matters 2016-11-21 16:43:09 +01:00
Domen Kožar
6e08a55474 create-amis.sh: another dep needed for EBS images 2016-11-21 15:56:51 +01:00
Domen Kožar
67f3e2853b create-amis.sh: use nix-shell for convenience 2016-11-16 16:49:32 +01:00
Eelco Dolstra
94cc18e9aa Add AMIs in ap-northeast-2 and ap-south-1 2016-07-12 17:26:25 +02:00
Eelco Dolstra
1e9b8bfb31 Copy AMIs in parallel 2016-07-12 17:26:16 +02:00
Eelco Dolstra
02db7d9821 Create AMIs with Enhanced Networking
Fixes #15956.
2016-07-12 17:25:52 +02:00
obadz
364a4373cf ec2/create-amis.sh: specify the approriate size on snapshots
Should help with #15148
2016-05-07 19:44:39 +01:00
Eelco Dolstra
69c746d06b Update AMI creation script 2016-04-05 11:25:12 +02:00
Eelco Dolstra
0d3738cdcc Fix the EC2 test
We now generate a qcow2 image to prevent hitting Hydra's output size
limit. Also updated /root/user-data -> /etc/ec2-metadata/user-data.

http://hydra.nixos.org/build/33843133
2016-03-30 21:50:23 +02:00
Evgeny Egorochkin
158d723812 virtualization/azure: update the scripts for image maintenance 2016-03-13 13:57:31 +02:00
Eelco Dolstra
9008c9cd5f Hack to parallelize AMI copying 2015-09-29 14:54:12 +02:00
Eelco Dolstra
d06fdade6f Tweak AMI script 2015-09-29 14:54:12 +02:00
Eelco Dolstra
ab0ddac8f9 Make EBS volumes much smaller
Since they're resized on first boot anyway, they don't need to be big.
2015-09-28 22:15:47 +02:00
Eelco Dolstra
aeb31b97ad Update AMI generator
The EBS and S3 (instance-store) AMIs are now created from the same
image. HVM instance-store AMIs are also generated.

Disk image generation has been factored out into a function
(nixos/lib/make-disk-image.nix) that can be used to build other kinds
of images.
2015-09-27 21:06:40 +02:00
Nicolas B. Pierron
c47e89623b Update option-usages.nix expression to work with newer version of the module system. 2015-08-09 17:52:34 +02:00
Dan Peebles
4b758e374e Initial attempt at configuring from EC2 userdata (with input from cstrahan). Now with VM tests! 2015-06-11 23:16:35 -04:00
Dan Peebles
b6c589b2da Simple EC2 user-data VM test 2015-06-11 22:54:04 -04:00
William A. Kennington III
4868649f03 nixos/initrd: Generic library copying 2015-03-28 18:37:29 -07:00
Rob Vermaas
bc09e53343 Minor fixes to EC2 image generation script. Set autoresponder, so no interaction is necessary. Write output in a format that can be easily included in ec2-amis.nix of nixops.
(cherry picked from commit 96904915d9)
2015-01-05 09:35:48 +01:00
Rob Vermaas
1a4164b71d Use nixos-images bucket for GCE images.
(cherry picked from commit bdd3a3bac8)
2015-01-05 09:35:42 +01:00
Rob Vermaas
357f6a2c97 Fixes for script that builds and uploads EC2 s3 backed images. Mostly credential related.
(cherry picked from commit 42c0bc4b8f)
2015-01-05 09:35:38 +01:00
Eelco Dolstra
512d788a68 Create AMIs in the lb-nixos account 2014-12-30 18:32:45 +01:00
Domen Kožar
48a282b913 http://nixos.org -> https://nixos.org
(cherry picked from commit 78bb17dd22e4da4e3810fbc78185d73bb25ea73e)
Signed-off-by: Domen Kožar <domen@dev.si>
2014-12-14 11:26:45 +01:00
Rob Vermaas
5a23232edf Refactor EC2 image generation script. Now uses same procedure for both hvm and pv-grub
images. Root disks are now SSD backed and 20GB by default, both on hvm and pv-grub
(previously was 8GB for HVM). Added new eu-central region to the locations to copy images
to. Also the root disk for HVM instances was not deleted on termination with previous
images, this is fixed as well.
2014-10-27 11:48:43 +01:00
Rob Vermaas
81046b9e5d Initial configuration + image generation script for Micro$oft Azure. Work in progress for #3986. 2014-09-06 21:37:46 +02:00
Russell O'Connor
a7ef1a50cb Replace depricated gcutil with gcloude compute in gce/create-gce.sh 2014-08-28 21:42:49 +00:00
Russell O'Connor
cef0d1a41b Abstract bucket name in gce/create-gce.sh 2014-08-28 21:41:30 +00:00
Rob Vermaas
973fa21b52 Better support for HVM instances. Now the NixOS images can
be used on HVM instances without needing nixops. Previously
the grub setup was incorrect, so a plain 'nixos-rebuild switch'
and a reboot would result in a broken system.

Also added growing of the partition of the root disk in the initrd,
so you can run resize2fs after initial boot, without needing an
extra reboot. This is useful especially for nixops'
deployment.ec2.ebsInitialRootDiskSize option.

(cherry picked from commit 044a24e58b)
2014-05-21 16:37:55 +02:00
Rob Vermaas
cdfb8738a4 Use HVM instance for EBS creator, guarantees everything is created in the correct zone.
(cherry picked from commit c9763e20e5)
2014-05-21 16:37:55 +02:00
Rob Vermaas
de1c182b0a Fix EC2 creation script for latest nixops
(cherry picked from commit 361eb3a5f5)
2014-04-28 15:46:49 +02:00
Rob Vermaas
3f15f8b703 Add script to create and upload GCE image. 2014-04-14 14:38:52 +02:00
Rob Vermaas
61eae53709 Add all AWS regions to EBS AMI creation script. 2014-02-11 13:26:46 +01:00
Eelco Dolstra
4df8a04f14 Don't include the code name in the EBS AMI name 2013-11-19 19:09:48 +01:00
Rob Vermaas
001550d5fe Adapt S3 ami creation script to new nixpkgs structure 2013-11-08 12:49:44 +01:00
Rob Vermaas
e9921632ef Updating EC2 EBS HVM creation script.
* Use smaller instances to generate HVM images
* Use HVM base image that has 4 ephemeral disks in device mapping
* As grub is not on the base images anymore, install it first before copying parts of its contents
2013-11-08 12:49:44 +01:00
Rob Vermaas
f3eccb26f7 Fix test deployment in EC2 creation script 2013-11-08 12:49:44 +01:00
Eelco Dolstra
5c1f8cbc70 Move all of NixOS to nixos/ in preparation of the repository merge 2013-10-10 13:28:20 +02:00