Skip to content

Commit a0dc6df

Browse files
committed
Deploy preview for PR 20 🛫
1 parent 6e9c3d2 commit a0dc6df

4 files changed

Lines changed: 31 additions & 32 deletions

File tree

‎pr-preview/pr-20/environment-setup/scripts/index.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1319,7 +1319,7 @@ <h2 id="kernel-module-management">Kernel module management<a class="headerlink"
13191319
<tbody>
13201320
<tr>
13211321
<td><code>switch_kmod.bash</code></td>
1322-
<td>Swap the host's <code>agnocast-kmod-v&lt;ver&gt;</code> to another version. For container-based setups where the heaphook travels with the container image and only the host-side kmod needs to be replaced independently. See <a href="../upgrading/#switching-only-the-host-kmod-container-based-setups">Upgrading → Switching only the host kmod</a> for details.</td>
1322+
<td>Swap the host's <code>agnocast-kmod-v&lt;ver&gt;</code> to another version. For container-based setups where the heaphook travels with the container image and only the host-side kmod needs to be replaced independently. See <a href="../../tips/containers/#swapping-the-host-kernel-module">Running in Containers → Swapping the host kernel module</a> for details.</td>
13231323
</tr>
13241324
</tbody>
13251325
</table>

‎pr-preview/pr-20/environment-setup/upgrading/index.html‎

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -510,13 +510,6 @@
510510
Version compatibility
511511
</a>
512512

513-
</li>
514-
515-
<li class="md-nav__item">
516-
<a href="#switching-only-the-host-kmod-container-based-setups" class="md-nav__link">
517-
Switching only the host kmod (container-based setups)
518-
</a>
519-
520513
</li>
521514

522515
</ul>
@@ -1286,13 +1279,6 @@
12861279
Version compatibility
12871280
</a>
12881281

1289-
</li>
1290-
1291-
<li class="md-nav__item">
1292-
<a href="#switching-only-the-host-kmod-container-based-setups" class="md-nav__link">
1293-
Switching only the host kmod (container-based setups)
1294-
</a>
1295-
12961282
</li>
12971283

12981284
</ul>
@@ -1350,22 +1336,6 @@ <h2 id="version-compatibility">Version compatibility<a class="headerlink" href="
13501336
<li><strong>Minor upgrades</strong> (e.g., 2.3.x → 2.4.0) — <code>agnocastlib</code> and <code>agnocast-kmod</code> must be upgraded together, as the kmod syscall API may have changed.</li>
13511337
<li><strong>Major upgrades</strong> — User-facing API may have breaking changes. Review the changelog before upgrading.</li>
13521338
</ul>
1353-
<h2 id="switching-only-the-host-kmod-container-based-setups">Switching only the host kmod (container-based setups)<a class="headerlink" href="#switching-only-the-host-kmod-container-based-setups" title="Permanent link">#</a></h2>
1354-
<p>When Agnocast workloads run inside a container, <code>agnocast-heaphook</code> is bundled with the container image and is swapped by rolling to a new container. In that setup, only the host-side <code>agnocast-kmod</code> needs to be replaced independently to keep the ioctl ABI in sync with the heaphook inside the container.</p>
1355-
<p>The <a href="https://github.com/autowarefoundation/agnocast/blob/main/scripts/switch_kmod.bash"><code>switch_kmod.bash</code></a> script automates the host-side kmod swap:</p>
1356-
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span>&lt;VERSION&gt;
1357-
<span class="c1"># e.g.</span>
1358-
sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span><span class="m">2</span>.4.0
1359-
</code></pre></div>
1360-
<p>The script unloads the current module, purges every installed <code>agnocast-kmod-v*</code> package, cleans any leftover DKMS state, installs the target from apt, and verifies the new load via <code>dmesg</code>.</p>
1361-
<div class="admonition warning">
1362-
<p class="admonition-title">Warning</p>
1363-
<p>All Agnocast containers and ROS nodes must be stopped before running this script — the module cannot be unloaded while <code>/dev/agnocast</code> is held open.</p>
1364-
</div>
1365-
<div class="admonition warning">
1366-
<p class="admonition-title">Warning</p>
1367-
<p>The kmod version on the host and the <code>libagnocast_heaphook.so</code> version inside the container must share the same ioctl ABI. Mismatched versions cause runtime errors. This script does not touch the container; it is the operator's responsibility to roll the container to a matching version.</p>
1368-
</div>
13691339

13701340

13711341

‎pr-preview/pr-20/search/search_index.json‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎pr-preview/pr-20/tips/containers/index.html‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,13 @@
885885
Docker Compose Example
886886
</a>
887887

888+
</li>
889+
890+
<li class="md-nav__item">
891+
<a href="#swapping-the-host-kernel-module" class="md-nav__link">
892+
Swapping the host kernel module
893+
</a>
894+
888895
</li>
889896

890897
</ul>
@@ -1359,6 +1366,13 @@
13591366
Docker Compose Example
13601367
</a>
13611368

1369+
</li>
1370+
1371+
<li class="md-nav__item">
1372+
<a href="#swapping-the-host-kernel-module" class="md-nav__link">
1373+
Swapping the host kernel module
1374+
</a>
1375+
13621376
</li>
13631377

13641378
</ul>
@@ -1445,6 +1459,21 @@ <h2 id="docker-compose-example">Docker Compose Example<a class="headerlink" href
14451459
<span class="w"> </span><span class="nt">devices</span><span class="p">:</span>
14461460
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/dev/agnocast</span>
14471461
</code></pre></div>
1462+
<h2 id="swapping-the-host-kernel-module">Swapping the host kernel module<a class="headerlink" href="#swapping-the-host-kernel-module" title="Permanent link">#</a></h2>
1463+
<p>When you need to change the host's <code>agnocast-kmod</code> version independently of the heaphook bundled in the container (for example, after rolling the container image to a new version, or to reproduce a bug on an older kmod), use <a href="https://github.com/autowarefoundation/agnocast/blob/main/scripts/switch_kmod.bash"><code>switch_kmod.bash</code></a>:</p>
1464+
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span>&lt;VERSION&gt;
1465+
<span class="c1"># e.g.</span>
1466+
sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span><span class="m">2</span>.4.0
1467+
</code></pre></div>
1468+
<p>The script unloads the current module, purges every installed <code>agnocast-kmod-v*</code> package, cleans any leftover DKMS state, installs the target from apt, and verifies the new load via <code>dmesg</code>.</p>
1469+
<div class="admonition warning">
1470+
<p class="admonition-title">Warning</p>
1471+
<p>All Agnocast containers and ROS nodes must be stopped before running this script — the module cannot be unloaded while <code>/dev/agnocast</code> is held open.</p>
1472+
</div>
1473+
<div class="admonition warning">
1474+
<p class="admonition-title">Warning</p>
1475+
<p>The kmod version on the host and the <code>libagnocast_heaphook.so</code> version inside the container must share the same ioctl ABI. Mismatched versions cause runtime errors. This script does not touch the container; it is the operator's responsibility to roll the container to a matching version.</p>
1476+
</div>
14481477

14491478

14501479

0 commit comments

Comments
 (0)