Skip to content

[Nexthop] Add 'hostname' package to FBOSS build container#1131

Closed
marif-nexthop wants to merge 1 commit into
facebook:mainfrom
nexthop-ai:no-nos-add-hostname-package-to-fboss
Closed

[Nexthop] Add 'hostname' package to FBOSS build container#1131
marif-nexthop wants to merge 1 commit into
facebook:mainfrom
nexthop-ai:no-nos-add-hostname-package-to-fboss

Conversation

@marif-nexthop

Copy link
Copy Markdown
Contributor

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run

Summary

The build container image was missing the hostname utility, requiring a manual sudo dnf install hostname after entering the container.

it was observed while trying to generate asic_config_v2 ouput

./fboss/lib/asic_config_v2/run-helper.sh
...
...
FileNotFoundError: [Errno 2] No such file or directory: 'hostname'

In this PR:

  • Install it at image-build time alongside the other packages.

Test Plan

Docker container built with new image contains hostname utility.
When hostname utility is available, asic_config_v2/run-helper.sh moves past this initial failure mentioned above in the description.

Signed-off-by: marif-nexthop <marif@nexthop.ai>
@meta-codesync

meta-codesync Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@joseph5wu has imported this pull request. If you are a Meta employee, you can view this in D108351751.

@meta-codesync meta-codesync Bot closed this in ceb29b0 Jun 12, 2026
@meta-codesync meta-codesync Bot added the Merged label Jun 12, 2026
@meta-codesync

meta-codesync Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

@joseph5wu merged this pull request in ceb29b0.

@rabbit-nexthop rabbit-nexthop deleted the no-nos-add-hostname-package-to-fboss branch June 12, 2026 07:59
meta-codesync Bot pushed a commit that referenced this pull request Jun 17, 2026
Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

Implements `asic_config_v3` design.

Add `fboss/lib/asic_config_v3/` Python package skeleton along with a fully defined CMake build target. This creates the basic infra of the data-driven ASIC config generator (`asic_config_v3`) that will replace the code-driven `asic_config_v2` path.

The `gen.py` entry point is included with an empty `_GENERATOR_REGISTRY` so the `fboss-asic-config-v3-gen` target is buildable immediately; registry entries for concrete ASIC families will be added in follow-up commits.

Pull Request resolved: #1198

Test Plan:
Ran `fboss/lib/asic_config_v3/run-helper.sh`.

Note: `fboss/lib/asic_config_v3/run-helper.sh` will not generate any output until "asic_config_v3" part 4 PR.

----

**This PR is created on top of**
- #1131
- #1149

**so it contains diff from it. When that PR will merge, this PR will have a shorter diff.**

Reviewed By: Scott8440

Differential Revision: D108936778

Pulled By: joseph5wu

fbshipit-source-id: d51ab3e7eba2d90b992914abfbee1e0614e0805b
meta-codesync Bot pushed a commit that referenced this pull request Jun 19, 2026
Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

Implements `asic_config_v3` design.

Add strict JSON schemas for the Broadcom `XGS` ASIC config, the platform config, and the shared vendor common JSONs. Include a validation script that scans the `asic_config_v3` directory tree and validates every matching file against its schema.

Pull Request resolved: #1199

Test Plan:
Install required package `python3 -m pip install jsonschema`
Run schema validation
```
python3 fboss/lib/asic_config_v3/validation/validate_asic_configs.py
Vendor common configs (vendor_common.schema.json):
  No files found.
Broadcom XGS ASIC configs (broadcom_xgs_asic_config.schema.json):
  No files found.
Platform configs (platform_config.schema.json):
  No files found.
0 passed, 0 failed
```
_Note: There are no json files to validate at this point. Will be added in the next PR._

----

**This PR is created on top of**
- #1131
- #1149
- #1198

**so it contains diff from these PRs. When these PRs will merge, this PR will have a shorter diff.**

Reviewed By: srikrishnagopu

Differential Revision: D109061608

Pulled By: joseph5wu

fbshipit-source-id: 52ca32802e0db6b7dd3ac5c97a53ee262a4f15fe
meta-codesync Bot pushed a commit that referenced this pull request Jun 24, 2026
Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

Implements `asic_config_v3` design.

In this PR, introduce the `asic_config_v3` Broadcom XGS generator class along with the shared XGS SDK and SAI common JSONs, and per-ASIC JSONs for Tomahawk 5 and Tomahawk 6. Registered both ASICs in gen.py's `_GENERATOR_REGISTRY` and extend the CMake target SOURCES with the new generator file.

After this commit the `asic_config_v3` package can generate XGS configs for any platform whose `asic_config.json` references `tomahawk5` or `tomahawk6`.

No platforms are registered yet but will be added in the following PRs.

Pull Request resolved: #1220

Test Plan:
Running `fboss/lib/asic_config_v3/run-helper.sh` is no-op as there are no platforms added yet. The platforms will be added in the following PRs.

Schema validation passes for all files.
```
$ python3 ./fboss/lib/asic_config_v3/validation/validate_asic_configs.py
Vendor common configs (vendor_common.schema.json):
  vendors/broadcom/xgs/sai_common.json: PASSED
  vendors/broadcom/xgs/sdk_common.json: PASSED

Broadcom XGS ASIC configs (broadcom_xgs_asic_config.schema.json):
  vendors/broadcom/xgs/asics/tomahawk5.json: PASSED
  vendors/broadcom/xgs/asics/tomahawk6.json: PASSED

Platform configs (platform_config.schema.json):
  No files found.
4 passed, 0 failed
```

----

**This PR is created on top of**
- #1131
- #1149
- #1198
- #1199

**so it contains diff from these PRs. When these PRs will merge, this PR will have a shorter diff.**

Reviewed By: daiwei1983

Differential Revision: D109338944

Pulled By: joseph5wu

fbshipit-source-id: 454fd40e05ba8504a5929ceee1efdd328e8c2b68
meta-codesync Bot pushed a commit that referenced this pull request Jun 25, 2026
Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

Implements `asic_config_v3` design.

In this PR, add platform configurations for the four core XGS platforms which were originally generated by `asic_config_v2`:
- montblanc
- icecube800bc
- icecube800banw
- wedge800bact

After this commit the `asic_config_v3` generator produces four XGS output files which should be identical to the `asic_config_v2` output.

**Note: After review comments, changed variant name `base` to `default`.**
v2: montblanc_base.yml
v3: montblanc_defaultyml

v2: wedge800bact_base.yml
v3: wedge800bact_default.yml

Pull Request resolved: #1221

Test Plan:
Ran `fboss/lib/asic_config_v3/run-helper.sh` to generate `asic_config_v3` output:
```
Completed build for fboss-asic-config-v3-gen.GEN_PY_EXE
...
Writing to /var/FBOSS/fboss/fboss/lib/asic_config_v3/generated_asic_configs/icecube800banw_default.yml
...
Writing to /var/FBOSS/fboss/fboss/lib/asic_config_v3/generated_asic_configs/wedge800bact_default.yml
...
Writing to /var/FBOSS/fboss/fboss/lib/asic_config_v3/generated_asic_configs/montblanc_default.yml
...
Writing to /var/FBOSS/fboss/fboss/lib/asic_config_v3/generated_asic_configs/icecube800bc_default.yml
Configs have been written to specified output directory

$ ls -1 fboss/lib/asic_config_v3/generated_asic_configs
icecube800banw_default.yml
icecube800bc_default.yml
montblanc_default.yml
wedge800bact_default.yml
```

The generated output files are byte-identical with `asic_config_v2`
output
```
$ diff -r fboss/lib/asic_config_v3/generated_asic_configs/ fboss/lib/asic_config_v2/generated_asic_configs/
<no diff>
```

Schema validation also passed for all files
```
$ python3 ./fboss/lib/asic_config_v3/validation/validate_asic_configs.py
Vendor common configs (vendor_common.schema.json):
  vendors/broadcom/xgs/sai_common.json: PASSED
  vendors/broadcom/xgs/sdk_common.json: PASSED

Broadcom XGS ASIC configs (broadcom_xgs_asic_config.schema.json):
  vendors/broadcom/xgs/asics/tomahawk5.json: PASSED
  vendors/broadcom/xgs/asics/tomahawk6.json: PASSED

Platform configs (platform_config.schema.json):
  platforms/icecube800banw/asic_config.json: PASSED
  platforms/icecube800bc/asic_config.json: PASSED
  platforms/montblanc/asic_config.json: PASSED
  platforms/wedge800bact/asic_config.json: PASSED

8 passed, 0 failed
```

**This PR is created on top of**
- #1131
- #1149
- #1198
- #1199
- #1220

**so it contains diff from these PRs. When these PRs will merge, this PR will have a shorter diff.**

Reviewed By: daiwei1983

Differential Revision: D109735092

Pulled By: joseph5wu

fbshipit-source-id: 936409ca309759f8feab3c29046ca0d8ad645189
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment