aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-02-11 09:13:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-02-11 09:13:48 +0200
commit191e64af54b5dffce9f9288045dca3317af19f8e (patch)
treece27bc90b1523a116856e65266753158b333753b /doc
parent4f96bb013c4ee1ffce17883136308b9d4a67d62b (diff)
Add remove-machine script
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.cli23
1 files changed, 15 insertions, 8 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index abccb8b..91dc68b 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -457,7 +457,7 @@ the \c{build2} toolchain inside.
The \c{<name>-<toolchain>-<xxx>} entries are the temporary snapshots of
\c{<name>-<toolchain>} created by \c{bbot} for building packages.
-A machine can be added, upgraded, or deleted on a live Build OS instance.
+A machine can be added, upgraded, or removed on a live Build OS instance.
This needs to be done in a particular order to avoid inconsistencies and race
conditions.
@@ -493,6 +493,9 @@ build$ btrfs property set -ts linux-gcc_6-1.0 ro true
build$ ln -s linux-gcc_6-1.0 linux-gcc_6-1
\
+\N|The \c{upload-machine} helper script implements this sequence of steps.|
+
+
\h#machines-upgade|Upgrading a Machine|
Continuing with the example started in the previous section, let's assume we
@@ -526,43 +529,47 @@ build$ btrfs property set -ts linux-gcc_6-1.0 ro false
build$ btrfs subvolume delete linux-gcc_6-1.0
\
-\h#machines-delete|Deleting a Machine|
+\N|The \c{upload-machine} helper script implements this sequence of steps.|
+
+\h#machines-remove|Remove a Machine|
Continuing with the example started in the previous section, let's assume we
are no longer interested in the \c{linux-gcc_6} machine and would like to
-delete it. This operation is complicated by the possibility of \c{bbot}
+remove it. This operation is complicated by the possibility of \c{bbot}
instances currently building with this machine.
\
build$ cd /build/machines/default/linux-gcc_6
-# Delete the current machine symlink.
+# Remove the current machine symlink.
#
build$ rm linux-gcc_6-1
# Wait for all the linux-gcc_6-<toolchain>-<xxx> subvolumes
# to disappear.
#
-build$ for d in linux-gcc_6-*-*; do \
+build$ for d in linux-gcc_6-*-*/; do \
while [ -d $d ]; do \
echo \"waiting for $d\" && \
sleep 10; \
done; \
done
-# Delete the initial and bootstrapped machine subvolume(s).
+# Remove the initial and bootstrapped machine subvolume(s).
#
-build$ for d in linux-gcc_6-*; do \
+build$ for d in linux-gcc_6-*/; do \
btrfs property set -ts $d ro false && \
btrfs subvolume delete $d; \
done
-# Delete the machine directory.
+# Remove the machine directory.
#
build$ cd ..
build$ rmdir /build/machines/default/linux-gcc_6
\
+\N|The \c{remove-machine} helper script implements this sequence of steps.|
+
Note also that on reboot the Build OS monitor examines and cleans up
machine directories of any stray subvolumes. As a result, an alternative
approach would be to remove the current machine symlink and reboot the