<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>openstack/cyborg — Stackers Network</title>
    <link>https://stackers.network/projects/openstack-cyborg/</link>
    <description>Weekly code-activity digest for openstack/cyborg from Stackers Network.</description>
    <item>
      <title>openstack/cyborg — Week of 2026-07-11</title>
      <link>https://stackers.network/projects/openstack-cyborg/2026-07-11</link>
      <guid>https://stackers.network/projects/openstack-cyborg/2026-07-11</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate>
      <description>PCI simulation tooling. The dominant landing is a ~9,000-line addition of local validation tooling under pci-sim, giving contributors a way to exercise Cyborg against simulated PCI devices without real hardware. A follow-up extends the same tooling with CentOS Stream 10 support…</description>
      <content:encoded><![CDATA[<p><strong>PCI simulation tooling.</strong> The dominant landing is a ~9,000-line addition of local validation tooling under <code translate="no">pci-sim</code>, giving contributors a way to exercise Cyborg against simulated PCI devices without real hardware. A follow-up extends the same tooling with CentOS Stream 10 support, rounding out the initial distro coverage.</p>
<p><strong>Policy and WSGI plumbing.</strong> Cyborg was adapted to always-enforced policy scope, trimming ~70 net lines as scope handling moves out of per-rule logic. On the WSGI side, <code translate="no">http_proxy_to_wsgi</code> middleware was wired in, along with a missing <code translate="no">oslo.middleware</code> dependency and Paste/PasteDeploy entries in requirements to make the pipeline actually resolvable. <code translate="no">RequestContext</code> was refactored and unused context properties dropped, and a stray <code translate="no">[glance] debug</code> reference was cleaned up.</p>
<p><strong>API reference and hacking.</strong> The api-ref was corrected where request samples had shipped curl invocations instead of JSON bodies (<a href="https://review.opendev.org/c/openstack/cyborg/+/994815">995867 companion fix here</a>). A new <code translate="no">C300</code> hacking check bans set literals in logging calls, catching a class of formatting bugs at review time.</p>
<p><strong>Maintenance.</strong> A redundant <code translate="no">doc8</code> entry was removed from tooling config.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/cyborg — Week of 2026-05-23</title>
      <link>https://stackers.network/projects/openstack-cyborg/2026-05-23</link>
      <guid>https://stackers.network/projects/openstack-cyborg/2026-05-23</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <description>Documentation push. Cyborg's week was almost entirely a documentation sprint, with four substantial guides landing back-to-back. A new NVMe driver development environment writeup (982711) walks contributors through standing up the accelerator stack end-to-end, paired with a…</description>
      <content:encoded><![CDATA[<p><strong>Documentation push.</strong> Cyborg's week was almost entirely a documentation sprint, with four substantial guides landing back-to-back. A new NVMe driver development environment writeup (<a href="https://review.opendev.org/c/openstack/cyborg/+/982711">982711</a>) walks contributors through standing up the accelerator stack end-to-end, paired with a fresh VM setup guide for development and a user guide for booting instances with accelerators attached. A separate doc covers running Cyborg's tempest and grenade jobs locally, closing a long-standing gap for anyone trying to reproduce CI results offline. Together these add roughly 1,400 lines of contributor- and operator-facing docs in a project that has historically been thin on them.</p>
<p><strong>Devstack and config.</strong> Multinode devstack gained a proper placement client configuration block, smoothing setup for split-node accelerator testing.</p>
<p><strong>Maintenance.</strong> The rest of the queue was cleanup: dropping a stale <code translate="no">static_root</code> setting, switching the SQLAlchemy models to the built-in declarative base, removing references to legacy keystonemiddleware options, pruning the unused <code translate="no">microversion-parse</code> dependency, and skipping the grenade job on test-only changes to save CI cycles.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
