| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This function causes a UnicodeDecodeError for some repositories
when building. Use os.path.isfile() when looking for .gitfat instead.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Reviewed-By: Daniel Silverstone (on IRC)
Reviewed-By: Richard Maw (on IRC)
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
We were building it from a variable in some places and hardcoding it in
others; now we build it from a variable everywhere.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Reviewed by:
Richard Maw
Lars Wirzenius
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | |
| | | | |
Reviewed-by: Richard Maw
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The scripts will be created into the folder:
/baserock/sytem-integration/
The system integration commands have the following
syntax:
name: linux
kind: chunk
...
install-commands:
...
system-integration:
linux-libs:
00-depmod:
- depmod -a
70-more-integration:
- touch /baserock/FILE
- |
for FOLDER in $(ls /)
do
echo "$FOLDER"
done
linux-misc:
70-more-integration:
- echo "Hello world"
In this concrete example, the following files will be created:
$DESTDIR/baserock/system-integration/
00-depmod-linux-libs-0000:
#!/bin/sh
set -xev
depmod -a
70-more-integration-linux-libs-0000
#!/bin/sh
set -xev
touch /baserock/FILE
70-more-integration-linux-libs-0001
#!/bin/sh
set -xev
for FOLDER in $(ls /)
do
echo "$FOLDER"
done
70-more-integration-linux-misc-0000
#!/bin/sh
set -xev
echo "Hello world"
|
| | | | |
|
| |/ / |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
Author: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed by:
* Richard Maw <richard.maw@codethink.co.uk>
* Lars Wirzenius <lars.wirzenius@codethink.co.uk>
* Richard Ipsum <richard.ipsum@codethink.co.uk>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a plugin to implement both `morph push` and `morph pull`.
These commands are wrappers around the corresponding git commands
push and pull, which also implement the functionality of pushing
and pulling large files provided by git-fat.
For example, running `morph pull` will pull any commits from the
remote branch not on your local branch, and then pull any large
files from the separate git-fat/rsync store on the Trove.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a plugin which implements the morph add-binary command. This
command is used to add large files to a git repository. It sets
up the files needed to use git-fat, and then runs `git add` with
git-fat initiated.
|
| | |
| | |
| | |
| | |
| | |
| | | |
When cloning a repository, the files stored using git-fat need to
be pulled. This situation occurs in `morph branch`, `morph edit`,
and `morph checkout`.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These commands are:
* git fat <init|push|pull>
* git pull
They are required for the morph add-binary and push/pull plugins. Also
make sure that GitDirectory is working in the root directory of the
specified git repository, and add some helper functions for handling
paths of files in the working tree.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This hard-coded the expected artifact key, which is dependent on
architecture.
Since we don't care about the output, so much as it failing, let's just
discard it.
|
| | |
| | |
| | |
| | |
| | | |
This is tested in yarns already, and this test breaks the test suite on
any architecture but x86_64.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
They hard-code the expected sha1, so break the test suite for anything
but x86_64.
If we decide tag has a place in the new world order, yarns can be made,
but until then, we're better off without these tests.
|
| | |
| | |
| | |
| | | |
Older versions of btrfs fail with just 10M.
|
| | |
| | |
| | |
| | |
| | | |
uname tends to only give us a valid morph architecture on x86_64,
this makes it work on other architectures.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
./check with no arguments is as-before, similarly ./check --full,
but now you may also specify individual tests to run.
So just the style check is `./check --style`. Everything but style
is `./check --full --no-style`.
I found this convenient when working on the test suite.
|
|\ \
| | |
| | |
| | | |
Reviewed-by: Richard Ipsum and Lars Wirzenius
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit f366960273b026322f7e7cc3c1eb0cd632ebc73e.
These changes break building on x86_64, which is our main development
platform.
Better patches will be forthcoming later.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
uname will return the same string morph expects as an architecture on
x86_64, but the canonical x86_32 architecture names match i?86 instead.
To make it work on 32-bit, we replace calls to uname with morph
print-architecture, which does the translation for us.
|
| | | |
|
| | |
| | |
| | |
| | | |
This also makes it obey status prefix
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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".
|
| | |
| | |
| | |
| | |
| | |
| | | |
These define a vocabulary for altering a cluster morphology's fields,
since defining an implementation that is only used by one scenario for
setup is cumbersome.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Check is now separate from setup, which is now separate from running
the commands.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We don't need to remove the whole thing every time, and for nested
deployments, we want to keep the directories around, since there will
be multiple deploys happening in it concurrently.
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Reviewed-by: Sam Thursfield
Reviewed-by: Adam Coldrick
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make the message "Installing chunk..." be chatty, i.e., only displayed
when the user turns verbosity higher. Most of the time the chunk is
already unpacked in the cache, so installing it takes a fraction of
a second.
Add a new message, at default verbosity, when a chunk needs to be
unpacked. This can take a while, so a message is appropriate, so the
user knows what is happening.
|
|\ \ \
| | | |
| | | |
| | | | |
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously this resulted in a confusing traceback.
This is a quick fix. I'd rather insert the error in the buildcommand
module instead, but that code assumes the source being built is a
system in several places before it actually checks the kind. Those
would all need to be changed, or the code would need to reworked to
call _validate_root_kind() much earlier.
The Application.traverse_morphs() method is rather ugly anyway, so I'm
happy to add further ugliness to it for the time being.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Source.__init__() function assumes that the artifact.split_rules
attribute is not None. Rather than complicating that code with error
checks, let's make it always be correct.
Avoids traceback from Source.__init__() when passing a cluster morph to
`morph build`.
|
|\ \ \ |
|
|/ / /
| | |
| | |
| | | |
My fault for failing to commit the .stdout file when I updated the test.
|