Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #128 +/- ##
==========================================
+ Coverage 71.09% 72.17% +1.07%
==========================================
Files 190 194 +4
Lines 14170 15147 +977
==========================================
+ Hits 10074 10932 +858
- Misses 3099 3130 +31
- Partials 997 1085 +88 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b724404 to
44898fd
Compare
…into machine-create
…into machine-create
…into machine-create
…into machine-create
…into machine-create
…into machine-create
…into machine-create
| if err != nil { | ||
| return result, err | ||
| } | ||
| if imageVersion.Patch() == 0 { |
There was a problem hiding this comment.
It looks like this will result in the latest version of the image being used if the patch is either not set (which defaults to patch == 0) or a version with patch set to 0 like v1.0.0. Is this intended?
There was a problem hiding this comment.
Yes this is true, but you are partly right, this might be irritating if some metal-stack deployments really configured images with 1.0.0 or similar. We usually only have images where patch is equal to the release date like so:
debian-12.0.20260408
There was a problem hiding this comment.
I see. Can lead to confusing outcomes for users familiar with semver. Passing in explicit versions and having them sometimes treated like a constraint is unexpected.
We could consider allowing users to pass in semver constraints into machine creation requests instead. For your example that would mean we would pass in ~12.0, which would match the current behavior without surprises. example
Not sure if this is in scope here, but what better place could there be to do this than a v2 API.
There was a problem hiding this comment.
Nice idea, but actually even gardener does not support semver version qualifiers for images.
| return nil, nil, fmt.Errorf("unable to allocate an ip in network: %s %w", network.network.ID, err) | ||
| } | ||
| ip := &metal.IP{ | ||
| IPAddress: ipAddress, |
There was a problem hiding this comment.
No AllocationUUID set. Probable this should also just call the IP repository in the long run?
| NetworkType *NetworkType `rethinkdb:"networktype"` | ||
| NATType *NATType `rethinkdb:"nattype"` |
There was a problem hiding this comment.
should be no pointer
Description
Machine Create
Depends on:
TODO:
Machine Creation leads actually to: