* Fix race condition in loadCluster
* Revert new error and comments
* Improve navigation performance for products within the explorer product
* Remove unused getter
* Fix issue with not loading nwe cluster when changing clusters
* Fix bug where sidenav take a short time to update (was using queueUpdate)
* Fix lint issues
* Address PR feedback
- 9318936c72
- BUG 1
- Navigating from nodes list to a node detail page unwatches nodes list but doesn't watch new resources
- Node's list destroy has a forgetType node
- this removes entries from store and unwatches nodes list watch
- we clear the fact we're watching the node list once we receieve a resource.stop from socket
- There's a race condition, the node we're going to is still in the store... but the find action for this doesn't kick off a watch for the rsource
- This was resolved by the change in the find action
- BUG 2
- Refreshing on the detail page results in a watch for that specific node
- Navigating to the list starts a watch for all nodes, but doesn't stop the individual watch
- This was resolved by the change in subscribe
- HOWEVER
- These fixes could impact how what we watch in other cases where we might call find all and find specific in the same context
- Safer to address later
1. Switching from a detail page with a watch on a specific resource to the list page where we watch all resources did not unwatch on the specific one
2. Switching to a detail page of a resource that's already in the store should ensure we're watching it
- examples metrics.k8s.io.podmetrics, metrics.k8s.io.nodemetrics, componentstatus
- change 1
- when these are watched the BE now sends an error... which we ignore and try to watch again
- so handle the error
- change 2
- avoid this scenario though by stopping watches that don't have the watch verb
- because of this change 1 can only be tested by changing code
* Removing everything related to scrollTrigger.
The latest vue router seems to behave exactly as it does with the modified scrollBehavior so it can all be removed.
* Removing unused $nuxt.{suffixes} that I found
- routeChanged (didn't find any watches of this event)
- nbFetching (The only place reading this was a computed property which wasn't used anywhere)
* Replace the use of Vue[installKey]
* Removing some ssr rehydration code since we're not doing ssr
* Remove the remaining $nuxt.$on,$off,$emit and replace with the use of our primary store which already had related code
* Replacing usages of the .$nuxt on vue instances with globalApp references
* Removing SSR dead code
* Fixing an issue where extensions could still be referencing window.$nuxt. This now provides a deprecation warning.
* Migrating another $nuxt over to the window.$globalApp
* Removed the usage of Vue.config.$nux
* Removed the usage of Vue.util.defineReactive
- Saw that the Nuxt component wasn't needed any longer so I removed it instead of trying to work around Vue.util.defineReactive
* Re-run missing check
---------
Co-authored-by: cnotv <giuseppe.leo@suse.com>
- caused because
- resource.stop is sent alongside resource.error
- on resource.error we set the state of the watch to errored
- this was just using the root type as key and nothing else
- on resource.stop we call resource.start
- on resource.start we check for inError and bail if so
- this didn't happen, as we checked the inError using more than just root type
- fix is to make sure setInError useds same key process as inError getter
- this follows other places it's used
* resource edit AS yaml
* fix cruresource (yaml from form)
- lazy load the schemaDefinitions when needed, avoids sync all to createYaml before we have an async chance to fetch schemaDefinitions
* Fix questions
- there are only four places we use questions, none of which use schema, this is just to be safe
* cluster scan, plugins/fieldsForDriver, defaultFor, validationErrors
* pathExistsInSchema
- used to optionally show conditions tab/list in resource detail view
- logs of things in ingress list/edit
* createPopulated / defaultFor
defaultFor requires resourceFields, it's only used by createPopulated in one place to support machine configs without components
* wip
* WIP MONITORING.SPOOFED
- these aren't spoofed types, but secondary schemas
- testing fix blocked, primary schema's have resourceFields
* Move steve specific (resourceField) code to steve models
- create models for steve schemas and apply to cluster and management stores
- move resoureField based validationto steve model
- move pathExistsInSchema to steve store getter
- don't fetch schemaDefinitions on start up when saving prefs (not needed and blocking)
* comments / improvements
* (untested) refactoring
* Fix alertmanager definitions, add retry definition fetch
* Fix pathExistsInSchema for path length > 2
* Fix questions that accept schemas
- tested by adding Questions to random page and the node schema
* Fix to saving configmap part 1
- the save works but doesn't show data. the yaml is the same as before. debug info added
* Validation by resourceFields is a norman specific thing, so make it such
* small refactor
* Tidying up
* Remove rebase junk
* fix linting and unit tests
* fix unit tests
* fix linting from fix for test....
* Tidying up, fix alertmanagerconfig
* Remove unit test todos
* add unit tests for resource fields
* sdssdf
* Add unit tests for pathExistsInSchema
* JS --> TS
* Store schemas in local singleton cache to avoid hitting store
* fix minor changes from review
* cruresource changes following review
- improvement - remove spurious canDiff
- createResourceYaml - pass in resource to use instead of calc in code
* WIP changes to parseType
* Fix generic cloud credential and node driver forms
* handle missing reactivity given schema definitions not in store
* fix and add unit tests for `parseType`
* Fix create-yaml test
* Changes following review
- improved comments
- SchemaDefinitionCache is now per store (and is reset as such)
- typeRef now uses parseType
* Fix dep loop by moving route based helps in auth out to utils file
* fix unit tests
* Changes following review
- Improve performance of allTypes fn
- This consumed the majority of time within getGroups
- Reduced execution time by a half
- Change from running allTypes products * modes times, run it once per product
- Reduce the amount of times getGroups is called
- the two fixes are small
- add unit tests to ensure
- findMatching action calls urlFor with correct args
- urlOptions getter create correct url given labelSelector
- UI makes two requests
- the initial incremental loading request (limit is 100 to show something quickly)
- one more for actual incremental processing (limit is 1/4 of total). should be followed by another 3 requests for remaining resources
- What currently happens
- url contains duplicated `?` in url leading to limit being ignored
- both requests will fetch ALL resources
- so x2 requests to fetch ALL resources
- what should happen
- first request of 100 returns quickly, shows stuff on page
- next request gets the first `next` url to iterate through pages
- next three requests iterate through pages
- base resource model has cleanForX style functions which specific resources override with their own custom neads
- wire in the cleanForDownload into this pattern
- add cleanForDownload override for secrets
- loadManagement and loadCluster run in parallel
- both make requests to fetch mgmt clusters
- normally this is fine (loadManagement fetch finishes first, loadCluster requests then use that result)
- however in scenarios where there are a lot of clusters multiple requests are made
- we now wait for the loadManagmeent request to finish
Additionally
- make requests to correct (though harmless) url path (cluster --> clusters)
Adds a built-in AKS provisioning extension to replace the embedded ember pages, as well as modifications to the provisioning UI to support other non-rke2 provisioning extensions