summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Be consistent with nfsboot_root pathSam Thursfield2014-03-241-3/+4
| | | | | | | | | | We were building it from a variable in some places and hardcoding it in others; now we build it from a variable everywhere.
| * Make sanity checks for nfsboot deployments run earlierSam Thursfield2014-03-182-55/+70
| | | | | | | | | | | | | | | | | | | | | | Move some code to the '.check' extension to verify that the deployment can happen *before* spending 5 minutes unpacking and configuring the rootfs. This is not a perfect solution yet because when multiple systems are being deployed in a cluster, we do not check all systems and then deploy them all. Instead, we check one, then deploy it, then check the second, etc.
| * Improve comment in nfsboot.configureSam Thursfield2014-03-181-1/+3
| |
| * Remove fstab hack from nfsboot.configureSam Thursfield2014-03-181-4/+1
| | | | | | | | | | | | | | | | | | There is no longer a default /etc/fstab in the Baserock fhs-dirs chunk, and the nfsboot.write extension does not use the default Btrfs system layout so no entry is added for / to /etc/fstab at deploy-time. We cannot have / in /etc/fstab for nfsboot deployments because it causes systemd to remount / during bootup, which breaks everything.
| * Add sysroot write extensionRichard Maw2014-03-141-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | This moves the deployed system to somewhere on the host. Any existing contents of the directory is deleted, so don't try to be clever and deploy a new system on top of / in place of a proper upgrade. It can be used to deploy a chroot, sysroot or container, but its current use is to allow for nested deployments to include another system in itself, since the parent deployment's "$1" is prepended to the sub-deployment's "$2".
| * deploy: Fix double exception in rawdisk.writeSam Thursfield2014-03-041-1/+2
| | | | | | | | | | | | | | If the disk image was not yet created then the os.remove() call fails and the original exception gets lost, causing confusion and sadness. Also print status earlier on failure
| * deploy: Check the --upgrade flag has been used correctly.Sam Thursfield2014-03-046-0/+199
| | | | | | | | | | Most write extensions don't handle both initial deployments and upgrades of a system.
| * deploy: Honour AUTOSTART in ssh-rsync extensionSam Thursfield2014-03-041-0/+5
| | | | | | | | | | Now you can deploy an upgrade, set it to be the default version and reboot into it all with one call to `morph deploy`.
| * Make parse_autostart() into more general get_environment_boolean()Sam Thursfield2014-03-043-4/+4
| | | | | | | | | | Also, be more flexible when parsing environment booleans -- convert to lower case and match 0/1 and true/false as well as yes/no.
| * deploy: Always set new system as defaultSam Thursfield2014-03-041-0/+5
| |
| * deploy: Depend on client OS version manager to deploy upgradesSam Thursfield2014-03-041-91/+41
| | | | | | | | | | | | We now have a OS version manager tool in Baserock (in tbdiff.git). The code to deploy a new base OS version should live there, to minimise duplication between write extensions.
| * deploy: Finish off the Btrfs system layout implementationSam Thursfield2014-03-042-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shared state directories defined in writeexts.py (/var, /home etc.) are now separate Btrfs subvolumes that are mounted in place using fstab. There are some warnings on mounting /var and /srv about the mountpoint not being empty. Not yet investigated. If a configure extension has already added / to the fstab, use the device it chose rather than assuming /dev/sda. This is required for the vdaboot.configure extension that we use for OpenStack deployments. Similarly, if a configure extension has added an entry for a state directory in /etc/fstab already, we don't replace it with a /state/xxx directory. That's only done as a default behaviour.
| * Fix copyright year in previous commitRichard Maw2014-01-281-1/+1
| |
| * virtualbox-ssh: Work around change in VBox optionsRichard Maw2014-01-281-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | VirtualBox changed a command line option in 4.3 incompatibly, so we now have to check the version number and change an option from --sataportcount to --portcount if the version of VirtualBox running on the target is at least 4.3 This turns the version into a tuple and compares it against another, since it's more reliable than comparing strings, which will count '1.10' as earlier than '1.2', and more convenient than comparing the digits individually.
| * Add optional overwrite optionRichard Ipsum2014-01-161-11/+31
| | | | | | | | | | | | | | | | | | | | | | This option lets the install-files config extension overwrite existing files. A file will only be overwritten if the overwrite flag is specified for that file. Since the overwrite arg is optionally prepended to the manifest line, this patch should not break existing manifests With this patch default config files can be replaced with project specific config files
| * Merge remote-tracking branch 'refs/remotes/origin/danielfirth/S9122'Lars Wirzenius2013-11-061-162/+0
| |\
| | * Removed ssh.configure extensionDan Firth2013-10-081-162/+0
| | |
| * | Merge remote-tracking branch 'origin/liw/fstab.configure'Lars Wirzenius2013-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | Reviewed-by: Richard Maw At his suggestion, fixed the call to sorted() to be a call to asciibetical().
| * | Add fstab.configureLars Wirzenius2013-10-241-0/+40
| | | | | | | | | | | | | | | This will allow the user to append text to /etc/fstab during a deployment, without having to write custom configuration extensions.
| * | Deployment failures will now remove the disk imageDan Firth2013-10-143-3/+10
| |/
| * exts: Remove tab from vdaboot.configureRichard Maw2013-09-161-1/+1
| | | | | | | | | | This snuck in since the test suite could not be run when TMPDIR was on a tmpfs.
| * exts: Add openstack configure/write extsPedro Alvarez2013-09-112-0/+174
| | | | | | | | | | | | | | | | | | openstackssh.write: Write extension which deploy a raw image of baserock directly to an OpenStack machine using python-glanceclient. The raw image deployed has modified its bootloader to use virtio disks. vdaboot.configure: Configuration extension to change the mount point of "/" to use virtio disks (/dev/vda).
| * Fix naming of SATA Controller in VirtualBox deploymentsLars Wirzenius2013-08-191-3/+3
| | | | | | | | Patch from Paul Sherwood.
| * Allow to set the number of cpus for virtualbox and kvm deployments.Tiago Gomes2013-07-022-3/+9
| |
| * Improvements to ssh-rsync extensionTiago Gomes2013-07-011-70/+80
| |
| * Run the merge mode of baserock-system-config-sync when upgrading running ↵Tiago Gomes2013-06-171-0/+9
| | | | | | | | systems.
| * Add a missing trailing slash to the source directory of rsyncTiago Gomes2013-06-171-1/+2
| | | | | | | | | | | | | | | | | | Accordingly the rsync manual: "A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination. You can think of a trailing / on a source as meaning "copy the contents of this directory" as opposed to "copy the directory by name".
| * Unmount the remote mouting point instead of the root diskTiago Gomes2013-06-151-1/+1
| | | | | | | | Unmounting the root disk as the side effect of turn it to be read only
| * Don't dereference the default symbolic link when updating itTiago Gomes2013-06-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Or else this ln -s -f update1 /mp/systems/default will do this '/pp/systems/default/update1' -> 'update1 When we want '/pp/systems/default' -> 'update1
| * Write extensions: pass -s to rsyncRichard Maw2013-06-093-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | -s, or --protect-args prevents the file path components of destination or source paths being interpreted by the remote shell. This is for wildcards or other shell features, but it breaks when paths have whitespace. We tend to always use absolute paths, so all uses of rsync now pass -s. kvm.write needs it, since the disk can be written to a path with spaces. Nfsboot and ssh-rsync need it because version labels are used, which may have spaces, and temporary directories are used, which could have spaces in weird TMPDIR configurations.
| * kvm.write uses NIC_CONFIGJonathan Maw2013-06-191-0/+5
| |
| * Fix a typoTiago Gomes2013-06-191-1/+1
| |
| * Support upgrades in older running versions.Tiago Gomes2013-06-141-3/+11
| | | | | | | | | | | | | | Verify if are using and older extlinux configuration and upgrade it if the case, by checking if the "default" symbolic link exists on the target. Note that with the symbolic link we don't need to update extlinux configuration after an upgrade
| * Create a symbolic link to the default system version when upgrading running ↵Tiago Gomes2013-06-141-2/+6
| | | | | | | | systems.
| * Only upgrade an older extlinux configuration if we want one.Tiago Gomes2013-06-141-1/+2
| |
| * Merge branch 'baserock/tiagogomes/vbox-networking2' of ↵Tiago Gomes2013-06-171-7/+65
| |\ | | | | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph Reviewed by Richard Maw, Lars Wirzenis, Daniel Silverstone and Jonathan Maw.
| | * Improve network setup of the virtualbox write extension.Tiago Gomes2013-06-061-7/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VirtualBox deployment write extension will configure networking in the following manner: - One host-only network interface will be used to group the virtual machines together (and to give access between the host and the virtual machines). It will be bound to eth0 of the virtual machine. - One NAT (or Bridge) network interface will be used to allow the virtual machines access to the wider network. This will be bound to eth1 of the virtual machine. Now deployment to virtual box will require that both HOST_IPADDR and NETMASK environment variables be set, and also configuration for eth0 and eth1 is expected in the NETWORK_CONFIG environment variable. This commit also replaces some run_cmd with ssh_runcmd.
| * | Merge branch 'baserock/tiagogomes/default-symlink' of ↵Tiago Gomes2013-06-171-1/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph Reviewed by Richard Maw and Lars Wirzenius
| | * | Set up a symlink to the default system version in rawdisk/kvm/vboxTiago Gomes2013-06-141-1/+9
| | |/ | | | | | | | | | | | | | | | | | | deployments Also Change them to use the "default" symlink in the extlinux.conf they create, instead of hardcoding the current system version name
| * | Change the symbolic link target and directory the default system on NFS server.Tiago Gomes2013-06-171-9/+9
| |/ | | | | | | | | | | | | | | | | With this we'll have "default -> factory" instead of "default-run" -> "factory/run". Also change to use VERSION_LABEL instead of VERSION and "factory" instead of "version1", to be more consistent with other parts of the code.
| * Add the install-files extension to morphJonathan Maw2013-06-061-0/+112
| |
| * kvm.write: Set VM to autostart if specifiedJonathan Maw2013-06-031-0/+3
| |
| * kvm.write: use ssh_runcmdJonathan Maw2013-06-031-4/+3
| |
| * Fix tar write extensionJonathan Maw2013-05-311-1/+1
| |
| * Tar write extension fails if arguments not setJonathan Maw2013-05-301-0/+2
| |
| * Add tar write extensionJonathan Maw2013-05-301-0/+19
| |
| * Add ssh-rsync write extensionJonathan Maw2013-05-281-0/+181
| | | | | | | | | | This is used to perform upgrades on running baserock systems. It requires rsync on the target system
| * Merge remote-tracking branch 'origin/baserock/richarddale/metadata_contents'Lars Wirzenius2013-05-280-0/+0
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: morphlib/app.py Also fixed copyright year in tests/trove-id.script, which was not from Richard's patch, but from an earlier commit, and all my own fault.
| | * Fix kvm working without autostartJonathan Maw2013-05-281-1/+1
| | |
| * | Fix kvm working without autostartJonathan Maw2013-05-241-1/+1
| |/