- Including UI display of the redirect, and a fix in zk topology.
- Better Update support in vtctld2.
Now always using a single Update structure, and json-encoding it.
Omitting a bunch of fileds if empty in json encoding.
- Adding unit test for long polling.
It contains a Keyspace and Shard validator for now, but it's easy to add
new ones.
In the process:
- Fixing minor bugs in vtctld2 web ui.
null and undefined are different in TS.
- Ignoring ErrNoNode in FindAllShardsInKeyspace.
It most likely means a shard creation was aborted in the middle, and we
don't want to error everything out when that happens.
- Adding workflow creation dialog in vtctld.
- Adding 'Stop' button to workflows in vtctld.
- Fixing exception for redirect keyspaces display.
- Adding skip_start to vtctld.
- Adding Ui side for showing non-running workflows.
- Adding a vtctld HTTP based long-polling mechanism.
- Releasing UI resources for workflow closure.
Also fixing a race condition in manager shutdown:
We were using (manager.ctx == nil) as a test to check out if the manager
was stopped. This is not reliable, as manager.ctx is updated after the
context cancelation and after taking the manager mutex. In the
meantime, a job could have also realized its context was canceled and
started its shutdown, which takes the manager mutex and checks for
manager.ctx == nil as well.
The new logic uses a new 'stopped' flag instead to differentiate the
Manager shutdown from a workflow Stop. It's better documented too.
* Added dsahboard view and created keyspace service
* Implemented most of the views necessary. Checking in to sync up.
* restructured file tree
* Working on CRUD interface
* Finished adding mock up views to dashboard
* Implemented keyspace read functionality
* Adds CRUD functionality for Keyspaces and infrastructure
* Started exposing Shard API Endpoints
* gofmt
* Added support for shard endpoints
* Addressed all comments by enisoc and mberlin
* vtctld: added full crud functionality for UI.
Pointed UI to endpoint that leverages vtctl for commands.
Added support for Validation at all levels, RebuildKeyspaceGraph,
RemoveKeyspaceCell, InitShardMaster, Ping, and RefreshState.
* Added new icons on the sidenav, these do not point to new views.
* Removed extraneous merge files and adde new line to dialog-content
* handle partial list error
* gofmt indented return in api.go
* gofmt
* moved material imports to modules in app.module
* fix line length for linter
* adding command support and prime dropdown
* Dashboard has commands working
* removed dashboard prepare function
* finished transition to commands in dialog setting, added tablet actions
* Started adding dropdowns for schema view
* updated to webpack
* adding tablet fetching
* Updateed Tablet service
* Added single schema view for selected schema.
* Changed how columns are processed and moved to prime dialog
* Clean up titles and remove debugging code
* Changed to schema to use vtctlService.runCommand.
* Added spaces for style and removed unnecessary css
* Reworked UI based on team comments
* Removed an unnecessary !important tag
* First mock of workflow components
* adding horizontal resharding demo to tasks
* use angular css
* workflow ui change
* add icons to workflow ui
* Fixed back to the future example
* renaming files to match workflow names
* Simplify mock data insertion through update
* Fixing linter errors
* Reworking Workflows to use a service
* Changed children of nodes to be an array instead of a map.
* Set up Workflow UI to parse and build workflows from JSON.
* Reworked workflow components to remove redundant html code
* Made padding consistent and added color to running workflows.
* Removed .orig file accidently added.
* Removed vendored styles in favor of CDNs.
* Removed commented out HTML.
* Added dsahboard view and created keyspace service
* Implemented most of the views necessary. Checking in to sync up.
* restructured file tree
* Working on CRUD interface
* Finished adding mock up views to dashboard
* Implemented keyspace read functionality
* Adds CRUD functionality for Keyspaces and infrastructure
* Started exposing Shard API Endpoints
* gofmt
* Added support for shard endpoints
* Addressed all comments by enisoc and mberlin
* vtctld: added full crud functionality for UI.
Pointed UI to endpoint that leverages vtctl for commands.
Added support for Validation at all levels, RebuildKeyspaceGraph,
RemoveKeyspaceCell, InitShardMaster, Ping, and RefreshState.
* Added new icons on the sidenav, these do not point to new views.
* Removed extraneous merge files and adde new line to dialog-content
* handle partial list error
* gofmt indented return in api.go
* gofmt
* moved material imports to modules in app.module
* fix line length for linter
* adding command support and prime dropdown
* Dashboard has commands working
* removed dashboard prepare function
* finished transition to commands in dialog setting, added tablet actions
* updated to webpack
* Merged changes from shard branch.
* Changing to openDialog instead of prepareDialog pattern.
* Began moving directives to app.module.
* Fix merge issues and add Accordion to PrimeNG import.
* Removed unused import.
* Removed unnecessary style.
* Exported routes so typescript compiler can find it.
* Moved error message to DailogSettings.
* Added spaces to function defaults based on style guide.
* Changing to menu for actions instead of accordion.
* Change shard view to use menus.
* Moved Keyspace actions into menu and fixed command preview.
* Finished keyspace cards and added hover effect.
Changed pattern from preparing dialogs to preparing and opening in one
function.
Added ACL check for vtctl endpoint and schema endpoint.
Seperated the generation of vtctl commands into flags and args.
Better seperated the vtctl service from its clients.
Cleaned up style issues.
Pointed UI to endpoint that leverages vtctl for commands.
Added support for Validation at all levels, RebuildKeyspaceGraph,
RemoveKeyspaceCell, InitShardMaster, Ping, and RefreshState.