Add min VM size maps and use them for test cluster defaults#4614
Closed
mociarain wants to merge 83 commits intomociarain/remove-D2sWorkers-flagfrom
Closed
Add min VM size maps and use them for test cluster defaults#4614mociarain wants to merge 83 commits intomociarain/remove-D2sWorkers-flagfrom
mociarain wants to merge 83 commits intomociarain/remove-D2sWorkers-flagfrom
Conversation
Co-authored-by: Affinito Alessandro <aaffinit@redhat.com>
Co-authored-by: Affinito Alessandro <aaffinit@redhat.com>
Co-authored-by: Affinito Alessandro <aaffinit@redhat.com>
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 4.0.1 to 5.0.0. - [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases) - [Commits](zgosalvez/github-actions-ensure-sha-pinned-actions@6124774...d5d20e1) --- updated-dependencies: - dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.14.1 to 2.14.2. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](step-security/harden-runner@e3f713f...5ef0c07) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.14.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [eps1lon/actions-label-merge-conflict](https://github.com/eps1lon/actions-label-merge-conflict) from 2.1.0 to 3.0.3. - [Release notes](https://github.com/eps1lon/actions-label-merge-conflict/releases) - [Changelog](https://github.com/eps1lon/actions-label-merge-conflict/blob/main/CHANGELOG.md) - [Commits](eps1lon/actions-label-merge-conflict@fd1f295...1df065e) --- updated-dependencies: - dependency-name: eps1lon/actions-label-merge-conflict dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
- Add gofumpt to golangci-lint formatters alongside gci - Replace ad-hoc 'gofmt -s -w' with 'golangci-lint fmt' - Add dedicated 'make fmt' target for formatting - gofumpt is a stricter superset of gofmt that enforces: - Consistent octal literals (0o prefix) - No unnecessary blank lines - Grouped imports with blank line separators
Automated formatting changes from running 'make fmt' with the newly added gofumpt formatter. No functional changes.
The formatters.exclusions.generated setting was set to "lax" which
caused golangci-lint fmt to skip generated files, while the linters
section had "disable" which checked them. This mismatch meant
`golangci-lint run` reported formatting errors that `golangci-lint fmt`
would not fix.
Changed formatters.exclusions.generated from "lax" to "disable" so
both linters and formatters treat generated files consistently.
Applied gofumpt formatting to the previously skipped generated files:
- pkg/database/cosmosdb/zz_generated_*_fake.go
- pkg/operator/clientset/versioned/{fake,scheme}/register.go
- pkg/operator/controllers/rbac/bindata.go
- pkg/portal/cluster/bindata.go
- pkg/util/graph/graphsdk/**/*.go
Add gofumpt v0.7.0 as a managed binary dependency via bingo. This ensures all developers have a consistent version of gofumpt available for editor integrations and direct usage. Using v0.7.0 for compatibility with Go 1.25.3 (the project's Go version). While golangci-lint v2 bundles gofumpt internally for its fmt command, having the standalone binary available is useful for IDE/editor integrations that may call gofumpt directly.
Set formatters.exclusions.generated to "lax" so golangci-lint fmt skips files matching auto-generated patterns or containing the standard "Code generated ... DO NOT EDIT" comment.
Expand path exclusions in trigger and PR sections to prevent
running the full CI pipeline (including hour-long E2E tests) for
changes that only affect documentation or GitHub configuration.
Added exclusions:
- **/*.md: All markdown files at any depth
- LICENSE, LICENSE.txt, .gitignore, OWNERS: Non-code root files
- .github/CODEOWNERS, .github/PULL_REQUEST_TEMPLATE.md,
.github/dependabot.yml: GitHub config files
- .github/workflows/{check-coverage,codeql-analysis,maintenance,
npm-audit,prune-tags,release-note,yamllint}.yml: Quality and
maintenance workflows that don't affect main CI or deployment
Notably NOT excluded:
- .github/workflows/ci-go.yml: Main Go CI pipeline
- .github/workflows/ci-guardrailpolicies.yml: Policy enforcement
- .github/workflows/ci-python.yml: Python CI pipeline
- .github/workflows/ensure-sha-pinned-actions.yml: Security check
Fixes unnecessary E2E runs for PRs like #4583 and #4534.
BSD find (macOS) requires an explicit starting directory path, unlike GNU find (Linux) which defaults to '.'. Without it, BSD find misinterprets '-name' as an option flag and fails with "illegal option -- n". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…-changes Skip CI/E2E for docs-only changes
Add gofumpt formatter for stricter Go formatting
…ez/github-actions-ensure-sha-pinned-actions-5.0.0 Bump zgosalvez/github-actions-ensure-sha-pinned-actions from 4.0.1 to 5.0.0
Bump AZ-CLI to 2.83.0
…/actions-label-merge-conflict-3.0.3 Bump eps1lon/actions-label-merge-conflict from 2.1.0 to 3.0.3
Fix find command for macOS compatibility in Makefile
…curity/harden-runner-2.14.2 Bump step-security/harden-runner from 2.14.1 to 2.14.2
[ARO-7310] Initial version of the MIMO Scheduler API and database clients
CI Flake - Remove microdnf update from PR CI builds
- Add MinMasterVMSizes/MinWorkerVMSizes maps and MinVMSizesForRole() to pkg/util/vms, providing the cheapest supported size per D-series family for test/CI/dev cluster creation - Update pkg/util/cluster DefaultMasterVmSizes/DefaultWorkerVmSizes to consume from vms.MinVMSizesForRole instead of hardcoding 3 sizes - Remove dev-mode D2 prepend special case (D2s now in default list) - Add CI/dev shuffle to spread quota pressure across families - Rename raw_data.go to types.go, remove outdated comment - Re-add supported VM size maps to validate/vm.go to fix WIP compilation (marked with TODO for removal)
Eliminates the circular module dependency where pkg/api depended back
on the root module solely to import pkg/util/vms. The vms package now
lives at pkg/api/util/vms, following the established pattern of
pkg/api/util/{immutable,pointerutils,version,...}.
supportedVMSizesByRoleMap was pointing at MinMasterVMSizes/MinWorkerVMSizes (the CI-only subset) instead of SupportedMasterVMSizes/SupportedWorkerVMSizes. This caused production-valid sizes like Standard_D8s_v3 to be rejected. Also adds a nil guard on MinimumVersion in the version check path, since most sizes have no version constraint.
Unexport VMSizeStruct vars, ForInternalUser maps, Min* maps, and minVMSizesForRole since they are only used within the vms package. Add LookupVMSize to provide external callers a way to resolve any VM size (including internal-user sizes) without depending on the unexported vars directly.
Enable JSON serialization for VMSizeStruct by uncommenting the struct tags for CoreCount and Family, and adding one for MinimumVersion. Add UnmarshalJSON to handle the version.Version interface deserialization. Remove unused vmSizeStandardE96dsV5Struct, VMFamily constants standardEDSv5 and standardEIDv5, and stale TODO comments.
92906da to
6829f8b
Compare
|
Please rebase pull request. |
External API packages (pkg/api/v*) are public ARM-facing types whose schema is defined by swagger as plain "type": "string". These types must not depend on the internal vms utility package. The conversion layer bridges the gap between local VMSize and vms.VMSize via explicit casts in ToExternal/ToInternal methods. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6829f8b to
0ba16c2
Compare
Collaborator
Author
|
Closed in favour of: #4619 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue this PR addresses:
Fixes
What this PR does / why we need it:
Test plan for issue:
Is there any documentation that needs to be updated for this PR?
How do you know this will function as expected in production?