-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Migrations V2] interactive migrations #100685
Comments
Pinging @elastic/kibana-core (Team:Core) |
I remember this was something we initially wanted to have for migv2. Rudolf spent some time checking how this could be achieved. However, to run the migration, we effectively need to discover and run at least the Without duplicating a lot of things, this leaded to a lot of Also, note that If such cli command would definitely be a great addition, it would not be usable on cloud, as the customers wouldn't be able to use it, which is a significant con. |
I agree. also it is not the best user experience dealing with terminals. After giving it a second thought i believe there is a way to achieve this via creating an interactive migrations UI when running kibana under a certain flag (or automatically once an upgrade is detected).
interactive UI would allow users to run dry migrations, pause, decide what to do with failed/quarantined objects, or even select which registries to skip if allowed by the plugin. |
This feels like a feature that could maybe benefit from the Although setup mode is not planned to run all the plugins during the preliminary setup stage, so maybe not. |
I've added a discussion item to our sync to see if its worth investigating this effort more. Yea it seems |
We'll want to approach an interactive UI for upgrades cautiously. Users and automation have been conditioned to believe that once Kibana starts up, that an upgrade is complete. If we change this dynamic, and now Kibana must startup and then an administrator must log in to Kibana and use a UI to complete the migration, we change this dynamic. This could lead to users having new instances of Kibana running, that aren't fully upgraded because migrations haven't completed, preventing normal users from using Kibana until an admin comes around and clicks some buttons. |
Our users (and support) are currently following a process somewhat like:
A better process would be:
In the current process, having a UI that could speed up fixing issues would help reduce downtime (in some scenarios, see below). However, the "better process" reduces downtime in all possible failure scenarios. A UI would only be able to resolve the following kinds of problems:
These are the same problems we're able to detect using dry run migrations #55404. If a dry run fails we won't add any write blocks to the existing indices, so all that a user has to do to rollback is to stop the new Kibana and start up the old Kibana again. Assuming our logs and documentation have clear instructions, users should be able to resolve all the causes of the migration failure by fixing or deleting problematic docs. So although a UI would make it a lot easier to take corrective action I don't think it will have a big impact on the downtime users experience. Given the technical complexity of making this work I don't think we'll get enough gains from this feature. I think we should first focus our efforts on streamlining rollbacks with dry runs. |
Agreed! It also sets us up better for a continuous delivery world where we are always updating Kibana automatically. If we allow partial upgrades, then a lot of users are going to be blocked from using Kibana until some "administrator" comes around and finishes the upgrade. |
It would be great if we can create a dedicated CLI command (
bin/kibana-migrations
) for migrations before runningbin/kibana start
.A dedicated CLI command with an
-i
interactive mode would allow users to:The text was updated successfully, but these errors were encountered: