-
Notifications
You must be signed in to change notification settings - Fork 21
Update to new networking API shape, with IPv6 #3005
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
119 commits
Select commit
Hold shift + click to select a range
e685eb4
Update to new networking API shape, with IPv6
charliepark 24045ff
Update api generator to 0.13.1 and run
charliepark 8c5b478
Merge branch 'main' into ipv6_migration
charliepark 7674539
Remove unused helper
charliepark 1468da6
simpler handling, as action is impossible without a pool
charliepark 2b49c3f
Updates to Networking Interfaces table
charliepark df1bdbf
Update tests
charliepark b5bac86
Merge branch 'main' into ipv6_migration
charliepark f251924
Update form with IPv4, IPv6, dual stack
charliepark 49c1dcf
proper v4 vs v6 filtering
charliepark ed375cf
update types in form
charliepark 8546afe
more defaults
charliepark 5669a63
flatten default options
charliepark caaf6ff
Add instance create tests
charliepark f38bf20
Update to latest Omicron; npm run gen-api
charliepark e9e82f9
Bump @oxide/openapi-gen-ts
charliepark 114baee
npm run gen-api
charliepark 0e2ea44
Update UX for ephemeral IP attach modal
charliepark 807c927
e2e text flexibility
charliepark abc336f
fix bug when defaultPool was falsy
charliepark e887c74
fix runtime issue if siloPools haven't loaded
charliepark 9d08a82
Fix bug where when both IPv4 and IPv6 default pools exist, { poolSele…
charliepark da700ef
Better handling of dual default pools
charliepark a1e5258
Simplify default badging
charliepark 5ca1528
Fix v6 automatic pool assignment issue
charliepark f224a46
Remove DefaultPoolCell
charliepark a9971f2
Ensure unicast pools are used for ephemeral IP form
charliepark 9037197
Fix incorrect pool issue with Floating IP create flow
charliepark 5476862
Proper handling of unicast pools in instance create
charliepark c194ff3
make sure external IP version matches NIC type
charliepark d45997f
Better flow for IP Pool selector; add component
charliepark d495049
only show NIC-version-matching IP pools
charliepark 640dd6f
fix crashing IP Pools list
charliepark e7f1920
update tests
charliepark 6405314
Fix issue with sometimes blank field
charliepark a1a1006
Better handling of IP versions to show during create flow
charliepark 7cafaf2
Better IP type compatability handling
charliepark 0c75dd6
Better default-pool + ipVersion handling
charliepark 909b196
Better handle defaults and empty states
charliepark d1e4da3
refactor / copy
charliepark e3d52c8
another refactor to defaults to match API
charliepark 8d211a1
revert copy for now
charliepark f0ee1c7
external IP version compatibility should consider the primary NIC; ad…
charliepark 8645fa1
Ensure that when custom NIC is created, Ephemeral IP options match fi…
charliepark c9a792b
Disable ephemeral IP checkbox when instance has no compatible NICs
charliepark a2e5b8b
Add IP version to silo IP Pools table
charliepark 043a9da
Add IP version to IP Pool create flow
charliepark 01fc260
Proper height for NIC table rows
charliepark 4d50fff
Better microcopy, tooltip, validation on IP Pool ranges
charliepark cb17752
Better microcopy, tooltip, validation on IP Pool ranges
charliepark dcff953
Update to latest omicron sha (92e0ae0c)
charliepark 864eaa0
post-review updates round 1
charliepark 2e6c51c
clean up NIC table
charliepark 4ab01e1
latest OMICRON_VERSION
charliepark d8b482a
More updates, plus test fixes
charliepark 10c0f70
npm run fmt
charliepark 482e82d
Fix unrelated test
charliepark 01f4e43
Better handle default / undefined data
charliepark 7213083
smarter mock exception handling
charliepark a359a40
Add logic to determine v4/v6 NICs during create flow
charliepark 26dcc5e
Use available pools to determine default NIC type on instance create
charliepark 1a5449a
refactor logic around determining NIC and pool availability
charliepark 02b349b
refactoring
charliepark cd6b3ef
more cleanup
charliepark 5b7b84f
Disable NICs when no VPCs
charliepark 65faa86
Filter Floating IP options based on the available NICs on the instance
charliepark 00858af
update tests and mock data
charliepark c332fb9
update OMICRON_VERSION; no API changes
charliepark 2cc1fe3
Defer to API for selecting default pool
charliepark 80c7605
Default to selecting Ephemeral IP pool, rather than leaving blank, to…
charliepark 0126b5a
Refactor, work on tests
charliepark 5c5ec5c
npm run fmt
charliepark cfdfc6d
a few small tweaks before larger experiment on default NIC selection
charliepark f2a61f4
use ALL_ISH on NIC list
charliepark ea63191
decouple NIC defaults from external IP pool configuration
charliepark 78d6492
address flaky/flakey vpc tests
charliepark 3344845
Fix flaking Firefox failure
charliepark c7b262d
smarter defaults when pool list changes
charliepark 42be397
Use util to evaluate version without extra lookup
charliepark 68ee7be
refactor
charliepark df24137
Bump omicron and update api
charliepark b948f3f
Merge branch 'main' into ipv6_migration
charliepark 3933d9c
Add links to docs in IP Pool Create form
charliepark bd0e335
gap-0 on IP versions double row
charliepark 7aaadb7
Remove icon
charliepark 15f37a2
Proper radio buttons for NetworkInterfaceField
charliepark 11bc3ca
Use MiniTable with add/clear button pattern
charliepark 9f7a173
Fix IP Pool column title in test
charliepark cb9405b
remove extra testing column
charliepark dfd249f
add explicit blur step to help with Firefox in e2e tests
charliepark 2bc1cf1
update reducedMotion setting in Playwright config for e2e tests
charliepark 366c559
TS updates
charliepark fd6aa47
More playwright config tweaks; working locally but who knows
charliepark 99dda8a
Add blur back in; again, all working locally
charliepark a057378
use remeda sortBy with array to sort pools
david-crespo 1dd465d
remove falsy checks on things that can't be falsy
david-crespo 31de9eb
split compatible pools filter into -cast and ip version
david-crespo 931a67a
replace filterFloatingIpsByVersion with hasIpVersion predicate
david-crespo b8b2dd2
stable array for IP versions; ts-pattern for NIC type matching
david-crespo cb297d4
CLAUDE.md: add guidance on avoiding type casts
david-crespo eb2ae03
network-interface-create: add form values type to avoid cast
david-crespo 0a2e2f3
tests for IpPoolSelector
david-crespo 5ab17eb
placeholder copy
charliepark 24e8f56
test default pools with elaborate mock situation
david-crespo 7ebfca2
simplify resolveIpStack, move to utils file
david-crespo 40eddff
Simplify `IpPoolSelector` and call sites (#3032)
david-crespo 72b671a
always require pool on floating IP and ephemeral IP attach
david-crespo 0f82f20
fix bad bad use of () => [...] sorter in remeda sortBy
david-crespo 89b460a
get rid of ephemeralIpVersion form state var
david-crespo 6f689e1
instance-create: construct externalIps on submit
david-crespo d9ea674
small fixes
david-crespo 1bf807e
avoid required error on invisible pool selector
david-crespo eec31f1
fix e2e failures by picking a pool even when two defaults
david-crespo 6d72733
compatible versions constants to avoid render churn
david-crespo 6220e86
IpPoolSelector: always mount Listbox even when there are no pools
david-crespo de1619e
no pools silo for testing
david-crespo 43625b9
ephemeral IP checkbox disabled tooltip on label hover
david-crespo 89a9199
use ben's styling suggestion on toIpPoolItem
david-crespo 7bdede2
sort pools first, checkbox 'checked', no explicit any
david-crespo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| dd74446cbe12d52540d92b62f2de7eaf6520d591 | ||
| c765b3539203e34f65cd402f139cf604035d5993 |
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't really about anything already here in the PR — it was about what Claude did when I told it to convert something to use
ts-patternThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's great guidance. I've had to correct a few along the way.