mirror of https://github.com/rancher/dashboard.git
3 Commits
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
b464d15ee0
|
Integrate new schemaDefinitions endpoint (#10141)
* 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 |
|
|
|
01eeb0548f
|
Add recommended lint rules globally (#8997)
* Update configuration * Create default config for eslint * Restore plugin:vue/recommended * Add exceptions and overrides * Correct manually remaining issues * Adding further picked exceptions groupped up * Fix or disable specific cases manually and singularly * Add naming linting exception * Remove unused variable in component * Move rules to default * Autocorrect rancher/components linting issues * Configure VSCode to use multiple files, to display linting for rancher components * Disable jest lint hook restriction for string list component * Autofix |
|
|
|
ca1b810c7b
|
Moves sockets into the advanced worker (#7760)
* Moves sockets into the advanced worker
* worker can die peacefully now, making switching between cluster work.
* Make waitFor generic, wire in to waitForTestFn
* General Changes
- Fixes for switching cluster
- includes using common getPerformanceSetting
- avoid new code to unsub before socket disconnect
- handle `watch` `stop` requests
- lots of TODO's (questions, work, checks, test, etc)
- use common
* Switch socket fixes
- isAdvancedWorker should only be true for cluster store
- advancedWorker to be wired in
* Fix socket id for cluster workers
- sockets use an incremented local var for id
- when we nuke the socket file within the worker this resets, so they all ahve id of 1
- work around this by applying the unix time
* Fix handling of new partical counts response
- seen in dex cluster explorer dashboard
- count cards would be removed when partial counts response received
* Make resourceWatcher the sole location for watch state
- getters canWatch, watchStarted now are worked around (they look at state in the UI thread)
- we now don't call resource.stop or restart.start in subscription
- tidied up `forgetType`
- moved clearFromQueue from steve mutations into subscription mutations (better location)
- added and removed some TODOs
- fixed watch (stop handler should be higher up, include force watch handling)
* pushes the csrf value into worker and adds it to fetch request headers.
* refactors batchChanges to address ref concerns and be more performant
* Maintain schema reference whilst updating
- This change mutates input in a function, which is bad...
- but ensures the reference isn't broken, which is needed to maintain similar functionality as before
* Fix waitForTestFn
- Seen when creating or viewing clusters
* On unwatch ensure any pending watch requests are removed from the queue
- the probably would have been a problem if the worker wasn't nuked
- however as the codes there lets make it safe
Also added `trace` feature in advanced worker, will probably bring out to other places as well
* Fix navigation from cluster manager world to any cluster
- Ensure that we handle the case where the advanced worker was created but the resource watcher wasn't
- ... but fix case where this was happening (aka ensure that a blank cluster context is ignored)
* Tidy some TODOs
* Add perf settings page
- This will help test normal flow (when advanced worker is disabled)
- Note - setting is now in a bag. This may help us better support further settings (enable client side pagination, etc)
```
advancedWorker: { enabled: false },
```
* FIX - Nav from cluster dashboard --> specific event --> cluster dashboard and events not re-subbed
- Ensure we block default handling of resource.start (keep state in resource watcher)
* Tidying up some TODOs
* Adds in a cache and uses it to validate SCHEMA messages before batching.
* Forgot to actually save CSRF to the resourceWatcher when instantiated.
* an empty resource in a batchChange to signal remove
* Move addSchemaIndexFields to and created removeSchemaIndexFields in new file
- this avoids bringing class files into the worker
* Fix disconnect/reconnect
- Remove `syncWatch` (do the watch/unwatch straight away)
- Test/Fix re-sub on reconnect
- Test/Fix growls on disconnect
* Tidying up some TODO's
- including clean of workerQueue on resource.stop (this is SUPER defensive)
* batchChanges will now handle aliases
* Fix pods list - WIP
- ensure podsByNamespace is updated on batchChange
TODO
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works
* Fix pods list - fixes
- ensure podsByNamespace is updated on batchChange
Tested / Fixed
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works
* Tidying TODOs
* Remove default same-origin header
- https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
* Fixed TODO description
* Refactor subscribe, make it clear which vuex feature relates to what
* Lots of Fixes
- batchChanges fixes
- fix index is 0 issues (!/!!index)
- only `set` if we have to
- ensure we set the correct index after pushing to list
- ensure map is updated after reducing list size with limit
- podsByNamespace fixes
- ensure when ew replace... we don't use the same referenced object
- general service resource fixes
- ensure service's pods list stays up to date with store
* Multiple improvements/fixes
- resourceCache - store the hash instead of the whole object. This means longer load time be reduces memory footprint
- resourceWatcher
- don't re-sub on socket reconnect if watcher is in error
- don't sub if watcher is in error
- don't unwatch for 'failed to find schema' and 'too old' errors
- this clears the error, we won't to keep it to ensure we don't watch
- Remove #5997 comments, follow on work #7917
* toggle debug, remap alias types, cleaned up comments and console
* Unit tests for batchChanges
Much more scope for some crazy content
* Logging tweaks
- disable logging by default
- initWorker comes in too late to affect initial trace, so just rely on the `debug` to toggle at runtime
Co-authored-by: Richard Cox <richard.cox@suse.com>
|