diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-02-11 09:13:48 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-02-11 09:13:48 +0200 |
commit | 191e64af54b5dffce9f9288045dca3317af19f8e (patch) | |
tree | ce27bc90b1523a116856e65266753158b333753b /doc/manual.cli | |
parent | 4f96bb013c4ee1ffce17883136308b9d4a67d62b (diff) |
Add remove-machine script
Diffstat (limited to 'doc/manual.cli')
-rw-r--r-- | doc/manual.cli | 23 |
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 |