Skip to content

[DOCS]: Resource pools required for carbide-api startup but not documented in helm chart docs #494

@benhuntley

Description

@benhuntley

Version

v0.4.0

Which installation method(s) does this occur on?

No response

Describe the bug.

Issue:

carbide-api requires resource pools to be defined in the site config or it fails on startup with:
Error: resource pools are not defined in carbide config

This is enforced at crates/api/src/setup.rs:276:

db::resource_pool::define_all_from(
    &mut txn,
    carbide_config.pools.as_ref().ok_or_else(|| {
        DefineResourcePoolError::InvalidArgument(String::from(
            "resource pools are not defined in carbide config",
        ))
    })?,
)

However, neither helm/PREREQUISITES.md nor helm/README.md document that resource pools must be configured. A working example exists in deploy/files/carbide-api/carbide-api-site-config.toml but is not referenced from the helm docs.
Users must set carbide-api.siteConfig.enabled: true and provide a carbideApiSiteConfig TOML value that includes at minimum the four required pool definitions. Without this, carbide-api starts but immediately exits.
Minimum required configuration:

carbide-api:
  siteConfig:
    enabled: true
    carbideApiSiteConfig: |
      [pools.lo-ip]
      type = "ipv4"
      ranges = [{ start = "10.0.0.0", end = "10.0.1.0" }]

      [pools.vlan-id]
      type = "integer"
      ranges = [{ start = "100", end = "501" }]

      [pools.vni]
      type = "integer"
      ranges = [{ start = "1024500", end = "1024800" }]

      [pools.vpc-vni]
      type = "integer"
      ranges = [{ start = "0", end = "100" }]

Proposed Fix:

  1. Add a "Site Configuration" section to helm/PREREQUISITES.md documenting the required pools and referencing deploy/files/carbide-api/carbide-api-site-config.toml as a full example.
  2. Update helm/charts/carbide-api/values.yaml comment on siteConfig.carbideApiSiteConfig to indicate it is effectively required (not optional) and list the expected pool names.
  3. Add a working carbideApiSiteConfig example to helm/examples/values-minimal.yaml.

Minimum reproducible example

Relevant log output

Other/Misc.

No response

Code of Conduct

  • I agree to follow NVIDIA Bare Metal Manager's Code of Conduct
  • I have searched the open bugs and have found no duplicates for this bug report

Metadata

Metadata

Labels

No labels
No labels

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions