This was leading to bad /etc/hosts entries, e.g. lucifer lucifer lucifer-unencrypted
When resuming an interrupted spot instance creation, NixOps would generate a new SSH host key. Since the instance would be created with the original host key, this would cause a "REMOTE HOST IDENTIFICATION HAS CHANGED!" warning from ssh.
This causes the right version of GRUB to be selected regardless of whether this is an old or new instance.
…-EC2 backends." This reverts commit 49bb8b8 since it breaks deploying nixos.org: webserver> copying 9 missing paths (2.07 MiB) to ‘firstname.lastname@example.org’... webserver> updating GRUB 2 menu... webserver> installing the GRUB 2 boot loader on /dev/xvda... webserver> Installing for i386-pc platform. webserver> /nix/store/969zn754v76hspiyn32bj44wf6yz1ia6-grub-2.02-git-1de3a4/sbin/grub-install: warning: File system `ext2' doesn't support embedding. webserver> /nix/store/969zn754v76hspiyn32bj44wf6yz1ia6-grub-2.02-git-1de3a4/sbin/grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. webserver> /nix/store/969zn754v76hspiyn32bj44wf6yz1ia6-grub-2.02-git-1de3a4/sbin/grub-install: error: will not proceed with blocklists. webserver> /nix/store/xcni2yv1dkbi07028rn7ha4cqiz3fv7b-install-grub.pl: installation of GRUB on /dev/xvda failed webserver> error: unable to activate new configuration error: activation of 1 of 1 machines failed (namely on ‘webserver’) I.e. it caused a switch from GRUB 1 to 2, which doesn't work. @rbvermaa
The DSA host key generated by NixOps (and stored in the instance's user data) is now only used to connect to the instance and get its ECDSA host public key. After that, the DSA host key is deleted and a new one is generated on the instance. So after that, exposure of the user data no longer matters. Fixes #267.
This is to make it easier to create simple deployments. For instance, you can now fire up a NixOS VirtualBox instance by saying: $ nixops create -d foo -t virtualbox $ nixops deploy -d foo I.e. you no longer need to write a Nix expression. The first command is just sugar for $ nixops create -d foo '<nixops/templates/virtualbox.nix>' but slightly user-friendlier.