Skip to content

[CON-1511] Scan the host-configured port range in self-test - #1

Closed
jjziets wants to merge 363 commits into
masterfrom
CON-1511-self-test-port-range
Closed

[CON-1511] Scan the host-configured port range in self-test#1
jjziets wants to merge 363 commits into
masterfrom
CON-1511-self-test-port-range

Conversation

@jjziets

@jjziets jjziets commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • Resolve the configured host direct-port range from /var/lib/vastai_kaalia/host_port_range, with instance metadata fallback.
  • Pass the range into the self-test container and start TCP/UDP responders for every port.
  • Inspect returned per-port mappings and probe the complete range, reporting missing or unreachable endpoints.
  • Use the selected offer direct-port capacity instead of a hard-coded 64-port assumption.

Validation

  • uv run pytest tests/cli/test_port_range.py tests/cli/test_util.py tests/cli/test_machines_commands.py -q — 68 passed.
  • Python compilation and git diff --check passed.
  • Companion image change: self-test PR.

Live mapping verification

  • Controlled paid rental: offer 36999265, machine 117091, direct_port_count=124.
  • Requested 100 TCP mappings for 10000-10099; after the instance reached running, the API returned 100/100 mapped ports with distinct public host ports.
  • Instance 45097396 was destroyed immediately; active-instance audit returned empty.

Dogfood blocker

The implementation is ready for review, but the full Vast CLI self-test dogfood run remains blocked until a development machine is available on the account. The live rental above only validated port mapping with a lightweight container and did not run the GPU self-test.

karthik-vast-ai and others added 30 commits April 30, 2025 15:42
…ng-functionality

Integrate job scheduling functionality
auto create volume contract offer on machine list
Updating the Readme to eliminate the machine tester portion (defunct).
…-possible-os-getenv

adds VAST_URL as a possible override to the server_url_default
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.1.0 to 78.1.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v78.1.0...v78.1.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 78.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…-78.1.1

Bump setuptools from 78.1.0 to 78.1.1
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
….32.4

Bump requests from 2.32.3 to 2.32.4
guthrie-vast and others added 28 commits April 28, 2026 09:15
security audit fix: remove wget install from SKILL.md
* add serverless benchmarking command
* move api docs to docs repo
* fix(cli): remove client side post filter that checked rented field. backend doesnt filter by rented at all though. (separate issue we're working on)
…t-ai#400)

* tell user which api key used on 401 error, better 2fa failure logging, group `--help` commands
…allback (vast-ai#399)

Update self-test logic to select image on both cuda and compute capability
Adds an OS matrix (ubuntu/windows/macos) to unit-and-integration so any
new pytest under tests/cli or tests/sdk runs on every OS automatically
without per-OS bookkeeping.
Agents reading the CLI/SDK skill have no canonical explanation of how
the `--bid_price` / `bid_price=` flag interacts with `search offers
--type bid` / `search_offers(type='bid')`. Without it, a `create
instance` call after a spot search silently provisions on-demand at
`dph_total` rather than the `min_bid` the agent quoted, leading to
unexpected hourly rates.

Adds a short section to both `vastai/SKILL.md` and
`vastai_sdk/SKILL.md` that:
- Explains the spot pricing model in one sentence.
- States that omitting `--bid_price` after `--type bid` rents on-demand.
- Notes that outbid instances move to `stopped` (not destroyed) so
  storage charges continue, and points to the right resume command.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* add start/stop deployment commands
…spot-section

docs: add Interruptible (spot) rentals section to SKILL.md
* Handle missing instances during self-test cleanup

* Patch legacy missing instance handling

---------

Co-authored-by: Hannes Zietsman <hannes.zietsman@hydrahost.com>
…rvability and visibility (vast-ai#401)

feat(CLN-3107): Implement price increase accept cli - changes based on new direction

Co-authored-by: Abiola Akinnubi <abiola.akinnubi@gmail.com>
@jjziets

jjziets commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the upstream draft PR: vast-ai#458

@jjziets jjziets closed this Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.