Skip to content
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

[Fleet] Message to help users migrate to Fleet Server #95445

Closed
mostlyjason opened this issue Mar 25, 2021 · 17 comments
Closed

[Fleet] Message to help users migrate to Fleet Server #95445

mostlyjason opened this issue Mar 25, 2021 · 17 comments
Assignees
Labels
design Team:Fleet Team label for Observability Data Collection Fleet team

Comments

@mostlyjason
Copy link
Contributor

mostlyjason commented Mar 25, 2021

When we launch Fleet Server, we need to help users migrate their agents from Kibana to the new Fleet Server. This will not be a turnkey migration, but something that requires manual action from users. We should add messaging in the product to help users understand what changed and how to get started with the new Fleet Server.

It should display when superusers visit the Fleet app and they have agents that were migrated from the old Fleet in Kibana. It should be dismissable per user. One call to action should point to the agent upgrade docs, which will describe the migration process.

For Elastic Cloud

Title: Enroll your agents into Fleet Server
Fleet Server is now available and it provides improved scalability and security. If you already had APM on Elastic Cloud, we've upgraded it to APM & Fleet. If not, you can add it for free.

Your existing Elastic Agents have been automatically unenrolled and have stopped sending data. To continue using Fleet, you must install the Fleet Server and the new version of Elastic Agent on each host. To see a list of inactive agents, go to the Agents page and click Status > Inactive.

This is a breaking change, which is why we are making it in a beta release. We are sorry for the inconvenience. Please share feedback if you have questions or need help.

Call to action: Fleet Server migration guide

For self-managed clusters

Title: Get ready for Fleet Server
Fleet Server is now available and it provides improved scalability and security.

Your existing Elastic Agents have been automatically unenrolled and have stopped sending data. To continue using Fleet, you must install the Fleet Server and the new version of Elastic Agent on each host. To see a list of inactive agents, go to the Agents page and click Status > Inactive.

This is a breaking change, which is why we are making it in a beta release. We are sorry for the inconvenience. Please share feedback if you have questions or need help.

Call to action: Fleet Server migration guide

Stretch:

  • Users should have a way to view a list of hostnames for the agents enrolled into Kibana so they know which ones they need to migrate to Fleet Server
@mostlyjason mostlyjason added the Team:Fleet Team label for Observability Data Collection Fleet team label Mar 25, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

@mostlyjason
Copy link
Contributor Author

@hbharding do you think you could provide a design for this message?

@hbharding
Copy link
Contributor

hbharding commented Mar 31, 2021

Jason and I synced over zoom and I shared this initial direction (below). I think it helps to see this text within the UI - we both agreed it's quite wordy and could probably be more concise and to the point. We're going create a gdoc and work on refining the text there.

image

The idea is that this modal would only appear for users who had previously enrolled agents with Fleet – we can detect this because info about old agents will persist in Saved Objects after they upgrade. After users close the message, they'll see the prompt to Add a Fleet Server.

image

We discussed how this empty state (for Fleet Server onboarding) is slightly problematic because it replaces the agent table where users are able to see inactive agents. We'll need to account for a way for users to see a list of the inactive agents so they know which agents need to set up again.

@hbharding
Copy link
Contributor

I've updated the design to account for 1) new content that's being developed in a separate google doc and 2) allowing users to still access their inactive agents while Fleet Server is not set up. We have slightly different content for cloud and self-managed users, and the agents page may look different depending on whether users previously had agents enrolled. I created a decision tree to help visualize the various scenarios, shown below.

As a quick summary of what this diagram shows:

  • Only show the migration message for users who previously had agents enrolled
  • For users who previously had agents enrolled, show the Fleet Server onboarding prompt inside the agent's table so they are still able to access their inactive agents.
  • For first time users who never had any agents enrolled, don't show the migration message, and don't show the agents table since there is nothing they can do with it. Instead, just show the onboarding prompt to set up a Fleet Server.

View Figma file
image

Note: One of the challenges for this issue was providing a way for users to still access inactive agents. It's not the most intuitive process since inactive agents are hidden by default. On the agents table, users need to click the Status filter button and select Inactive to see inactive agents. I had discussed an idea with @mostlyjason that maybe we should just show inactive agents by default, but since we do not currently provide a way for users to remove/forget inactive agents, we worried this would degrade the UX since most users likely do not care to see their inactive agents 100% of the time.

image

Self managed

See screenshots

Self-managed migration message (only show if user had previous agents enrolled)
image

For self-managed users who previously had agents enrolled, show the onboarding prompt inside the agents table so they can still access inactive agents
image

For first-time self-managed users, just show the onboarding prompt
image

Cloud

See screenshots

Cloud migration message (only show if user had previous agents enrolled)
image

Most cloud users will already have a Fleet Server setup and running. If they had previous agents enrolled, they can access them by filtering for inactive agents with the status filter
image

For cloud users who don't have a Fleet Server but did have previous agents enrolled
image

For new cloud users who don't have a Fleet Server, just show the onboarding prompt
image

@nchaulet
Copy link
Member

nchaulet commented Apr 7, 2021

As discussed with @hbharding it would simplify a lot the implementation if we do not make a difference between have agents before and not have agents before and show always the setup fleet server inside the agent table.
Otherwise it's start to make a lot of different state and complexity for an onboarding step.

@hbharding
Copy link
Contributor

@nchaulet we're going to simplify so we only have 1 state to account for. The onboarding prompt will appear on its own, i.e. not inside the agent table. Users can access inactive agents after they setup a Fleet Server, and we can explain this in documentation (cc @mostlyjason). I've updated the Figma designs to account for this.

I'm not sure if you want to tackle the migration message in #95783 or a separate issue. I'll let you decide.

image
image

@hbharding
Copy link
Contributor

I created implementation issue for Nicolas here #97139.

The latest Figma designs can be found here https://www.figma.com/file/G3jnu6rub6x8YExOfTWoO9/Integrations-UI-Fleet?node-id=1085%3A216572. Small update: I added a checkbox "Do not show this message again" so users have a way to access the modal again (and relevant links inside) in case they quickly dismiss it. The modal will not appear again if the checkbox is checked or if the user sets up a Fleet Server.

@mostlyjason
Copy link
Contributor Author

@dikshachauhan-qasource could your team help test this migration path?

FYI @EricDavisX

@dikshachauhan-qasource
Copy link

Hi @mostlyjason

We have initiated the testing around this and will update our observation under this ticket after validating each mentioned scenario.

cc @EricDavisX

Thanks
QAS

@amolnater-qasource
Copy link

Hi @mostlyjason

We have validated this on 7.12.1 (released) Kibana upgrade to 7.13.0 BC-4 Kibana.
Details are shared in below table:


Agent Installed on earlier version Kibana Version Before Upgrade Kibana Version After Upgrade Remarks
Self-managed Kibana No 7.12.1 released 7.13.0 BC-4 Observed no message “This version of Fleet required a fleet server”.[As expected]
Self-managed Kibana Yes 7.12.1 released 7.13.0 BC-4 Observed message “This version of Fleet required a fleet server”.[As expected]
Staging Cloud Kibana No 7.12.1 released 7.13.0 BC-4 Observed no message “This version of Fleet required a fleet server”.[As expected].
However we observed a pre-installed Fleet Server after upgrade.
Staging Cloud Kibana Yes 7.12.1 released 7.13.0 BC-4 Observed message “This version of Fleet required a fleet server”.[As expected].
However we observed a pre-installed Fleet Server after upgrade.

Screenshot:
113895654-2e71d500-9797-11eb-8ce1-94ebc0b58a00

Self-managed Kibana Screenshots:
Self Managed Screenshots.zip

Staging cloud Kibana Screenshots:
Staging Cloud Screenshots.zip

Note:
If we don't want to get pre-installed Fleet Server after upgrade from 7.12.1>7.13.0, we manually need to remove APM while creating 7.12.1 environment[through Customize option].

Please let us know if anything else is required.
cc: @EricDavisX
Thanks
QAS

@mostlyjason
Copy link
Contributor Author

@amolnater-qasource for the scenario of a cloud deployment with existing agents, I see a message saying you are blocked. You can test this scenario by enrolling agents into Kibana Fleet in 7.12. You can then upgrade the deployment to 7.13 and you should see the message. Does that unblock you?

Getting the pre-installed fleet server on cloud is expected. I have a separate issue to improve the landing page here #98835

@amolnater-qasource
Copy link

Hi @mostlyjason
As per our understanding of flowchart, the blocked section requires- Has Fleet Server- Yes which means a Fleet server on earlier version (7.12), which is not possible.
Hence we have marked it as BLOCKED.

Please refer below screenshot:
113895654-2e71d500-9797-11eb-8ce1-94ebc0b58a00

You can test this scenario by enrolling agents into Kibana Fleet in 7.12. You can then upgrade the deployment to 7.13...

We have done this test for the lower section, Has Fleet Server- No and Has Agents previously- Yes, which we have marked as PASS.

Please let us know if we are missing anything.
Thanks

@EricDavisX
Copy link
Contributor

Hi @amolnater-qasource your assessment seems right to me, and good to test on 7.13->7.14 upgrade. Please do so and we can call the testing done, apart from any issues found.

@amolnater-qasource
Copy link

Hi @EricDavisX
Thanks for the feedback and confirmation. We will keep a track on this to test on 7.14.

Thanks
QAS

@mostlyjason
Copy link
Contributor Author

@amolnater-qasource I understand now thanks for explaining, and yes that looks correct

@amolnater-qasource
Copy link

Hi @EricDavisX
We have attempted to revalidate the blocked scenarios on 7.13.1 upgrade to 7.14.0. However we are blocked to test this because of reported kibana upgrade issue at https://github.com/elastic/cloud/issues/82314

We will re-test this, whenever the upgrade issue will be fixed.

Thanks
QAS

@amolnater-qasource
Copy link

Hi @EricDavisX
We have revalidated the blocked scenario on 7.13.0 upgrade to 7.13.1 Kibana Cloud Environment.

Scenario:
Has Fleet Server: Yes

  • We observed that we don't get any Fleet Server changes popup.
  • Previous version Hosted FS agent gets offline and a new Hosted Fleet Server agent is installed with latest version.

Screenshots:
MigPaathhh

cc: @mostlyjason
Thanks
QAS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Team:Fleet Team label for Observability Data Collection Fleet team
Projects
None yet
Development

No branches or pull requests

8 participants