| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I309c183ce8b9ff9d0f5ac4807244547f2cc4ddf5
|
|
|
|
| |
Change-Id: I9a523f5bbe744225b1f5fe30f29d197596337290
|
|
|
|
| |
Change-Id: I12e7c03b30da78da1eb220d2826ce0003d6efe2e
|
|\
| |
| |
| |
| | |
This merge commit merges the deployment extensions and all relevant
history from morphlib into definitions.
|
| |
| |
| |
| |
| |
| |
| | |
Switching to the keystoneclient python api
gives us a more reliable means of detecting auth failure.
Change-Id: I5f734bbfe5568c855f524a3448357f7cf46ab254
|
| |
| |
| |
| |
| |
| | |
The * should not be in quotes.
Change-Id: Ieebdc7532ba1bff5ba9742f72440ed00b0c0de2a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 807e6a90876c5469d242 changed the behaviour of sysroot.write to
avoid deleting the contents of the sysroot. This was done so if you
accidentally set 'sysroot=/' it wouldn't delete your whole system.
It turns out that SDK deployments like
clusters/sdk-example-cluster.morph depended on the contents of the
directory being deleted. The system
armv7lhf-cross-toolchain-system-x86_64.morph has a bunch of files
installed by the cross-toolchain in
/usr/armv7lhf-baserock-linux-gnueabi/sys-root. Previously sysroot.write
would delete these, but since commit 807e6a90876c5469d242 it would
fail with several errors like:
mv: can't rename '/src/tmp/deployments/usr/armv7l.../sys-root/sbin'
If we use 'cp -a' instead of 'mv' then it is slower to deploy, but there
are no errors.
I am still unsure why files from the cross-toolchain system are
installed and then deleted. Although this patch fixes the immediate
issue, I don't know if it's the right thing to do. It seems better to
not install those files in the first place, if we do not need them.
This commit also removes the check for the sysroot target location being
empty. This doesn't work, because it runs /before/ the system being
deployed is unpacked.
Change-Id: I10671c2f3b2060cfb36f880675b83351c6cdd807
|
| |
| |
| |
| |
| |
| | |
os.symlink will fail if the origin file/link already exist
Change-Id: I8175c8dce699e55c3e39e35dfd45c0c19b8bd96d
|
| |
| |
| |
| | |
Change-Id: I4e7888cbff2e4708154538f8f0a48aeaa1a8a811
|
| |
| |
| |
| |
| |
| | |
This fixes morph check.
Change-Id: I5f9c8f5e73c1976b623f9a75f97b5e9aa1887c44
|
| |
| |
| |
| |
| |
| |
| | |
This is meant to add essential system files like
/etc/profile, /etc/os-release ...
Change-Id: I3d67b3a452b32205c5d3c7303d128bda80ce75de
|
| |
| |
| |
| | |
Change-Id: Ibf7cf1f81998678f9354d77f52e54344294e89f7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The nfsboot.write deployment extension has been deprecated for a while
because it's not generally useful. It's only used for deploying
distbuild nodes to a Trove, as far as I know.
We still need to support setting up a bunch of machines that boot over
NFS from a Trove. But we can do this in a special-purpose .write
extension.
The new distbuild-trove-nfsboot.write is much more efficient than
the more generic nfsboot.write: instead of treating each system
individually (thus copying an almost identical ~2GB rootfs to the Trove
once per node) it copies the system image to the Trove once, and /then/
sets up a rootfs per node.
Upgrades are now supported, although the code assumes distbuild nodes
are stateless (as they should be) so nothing special is done for
upgrades, other than checking that there is already a version of the
given system in existance. The new extension does not create an
orig/ and run/ version of each system, because there is no need when the
deployed system is stateless.
There could be further gains in efficiency, but I don't have time to do
them right now. This write extension is full of compromises, its goal is
to better support the existing users who have a Trove and a distbuild
network deployed via NFS. It is specifically not intended to be useful
for other purposes.
Change-Id: I9a50c58b714ed272212d1d6c55b289aaa96051b1
|
| |
| |
| |
| | |
Change-Id: I0f4490d76caca802536b21085ea0d770fb8c0798
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds an optional 'template' option to the install-files manifest format.
A file declared as a template will be rendered using jinja2
with variables substituted in from the environment.
Change-Id: I2ed6fe58f5fff315b42b7e4ec478ada851e0a70d
|
| |
| |
| |
| |
| |
| |
| | |
This allows us to catch a case where virt-install hasn't been installed
on the host we're deploying to much earlier in the deployment process.
Change-Id: I413ad804a7e8bef4fc2d1231411e01d30d0cb9e8
|
| |
| |
| |
| |
| |
| | |
Also ensure NIC_CONFIG begins with 'network=', 'bridge=' or is 'user'
Change-Id: I3bcbd25eb2c9a05b7fa276697f97a1080cb0316e
|
| |
| |
| |
| | |
Change-Id: I1521c0bdec4d7a6812f8988a2349e66b08161de8
|
| |
| |
| |
| | |
Change-Id: I44693d15aa5e92d5f09720065788adff34f8685c
|
| |
| |
| |
| | |
Change-Id: If011a5518fd30914c89b00099b9d05cff5cd3959
|
| |
| |
| |
| | |
Change-Id: Ic715815bbad3ef1ee9ab457b62a194eaef45744c
|
| |
| |
| |
| |
| |
| | |
This adds a new config extension to allow deployments to write to /etc/hosts
by adding HOSTS_x: </etc/hosts line> to a cluster morph in a similar manner
to the fstab.configure extension.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some lines were more than 79 characters long. This was causing
./check --full to fail on master of morph. This commit fixes the
lines in question.
Change-Id: I80969d2d89d3922e021b716c250796188d7a7f4c
|
| |\
| | |
| | |
| | |
| | | |
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| | |
| | |
| | |
| | |
| | | |
Rename instead removal in case the user is already using a
10-dhcp.network file
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use DHCP by defaul in the default interfaces:
- for /etc/networ/interfaces: "lo:loopback;eth0:dhcp,hostname=$(hostname)"
- for networkd: "e*:dhcp"
|
| | | |
|
| | |
| | |
| | |
| | | |
255.255.255.0 -> 24
|
| | | |
|
| | |
| | |
| | |
| | | |
a function
|
| | |
| | |
| | |
| | | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| |/
| |
| |
| | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| |\
| | |
| | |
| | |
| | |
| | | |
Reviewed-By: Paul Sherwood <paul.sherwood@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
|
| | |
| | |
| | |
| | | |
An exception will be raised if any needed networks are not started
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Javier Jardón <javier.jardon@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| | |/ |
|
| |\ \
| | |/
| |/|
| | |
| | |
| | | |
Reviewed-by: Pedro Alvarez
Reviewed-by: Francisco Redondo Marchena
Reviewed-by: Richard Maw
|
| | |
| | |
| | |
| | | |
An exception will be raised if any needed networks are not started
|
| | | |
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
network_config isn't used anywhere in this function. The purpose
of this function (getting the name of an appropriate host-only
network interface) doesn't seem to depend on it either. eth0 and
eth1 won't always be present (several Baserock systems will have
enp0s3, etc). So I think these checks should be removed.
|
| |
| |
| |
| |
| |
| | |
Ensure that
a) the deployment directory must not exist
b) the extension can not be used to upgrade a system
|
| |\
| | |
| | |
| | |
| | | |
Reviewed-By: James Thomas <james.thomas@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
parameters
|
| | | |
|