-
Notifications
You must be signed in to change notification settings - Fork 13
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
docs(handbook): Introduce maintenance description #2944
base: main
Are you sure you want to change the base?
Conversation
* the scope of the maintenance | ||
* the date and time of the maintenance | ||
* expected duration of the maintenance | ||
* self-care actions which customers can/should take before the maintenance date |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How can they prevent this? The way our infra is set up influences all this, and we never get this from Heroku et al. Why do we get this from FlowFuse?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's fundamental to how kubernetes works.
You can only have a version mismatch of +- 2 (e.g. 1.24 to 1.26) between the core kubernetes api and the version of the kubelet managing the node the pods are running on.
So to upgrade kubernetes version you upgrade the core api, then you need to create new nodes, and then migrate the running pods to those new nodes. The migration requires stopping the instance on the old node and starting it on the new version.
In theory we could start the instance, but that does end up with 2 instances running for a short while, which requires planning in the flow design (around caching or state management)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hardillb My point is that other compute providers just restart, even cloud providers. Somehow we don't and send emails regularly to customers asking them to restart instances, and we don't even tell them which ones.
Co-authored-by: Nick O'Leary <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some updates based on negotiated terms with a customer (and a couple typos I'll self-merge)
Co-authored-by: Nick O'Leary <[email protected]>
Co-authored-by: Nick O'Leary <[email protected]>
Co-authored-by: Nick O'Leary <[email protected]>
* maintenance should not overlap with [scheduled release](../releases/process.md) week | ||
## Customers communication | ||
|
||
Once the maintenance date is set, customers should be informed about the upcoming maintenance. This must be done in co-ordination with Customer team. The communication should include: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's describe how this process of commucation is done. GitHub issue seems best with a mention to @Esmewieringa, @MichaelBDavis, @gstout52 and myself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I understood there is such document somewhere. @gstout52 can you shed some light, please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ppawlowski there isn't a doc describing this process. Here are pieces that should be included in the handbook regarding how communications are sent to customers as well as the internal work necessary to accomplish this:
- Engineering prepares a list of customers who need to receive the email. This email should include team owner email addresses, team names, and the names of instances that need to be restarted. The intent is that it should be very easy for the customer to quickly identify what is needed from them.
- Email copy should be drafted and approved by both Engineering and the Customer Department. Email copy should aim to be informative while being accessible.
- Email copy should include the timeframe of the migration/restart, and this timeframe should be a brief window (for example, a specific two-hour time period).
- If possible, the email should include the recipient's first name.
If at all possible, avoid emailing customers about behind-the-scenes work. When there is a way to provide excellent service within our stated SLA, just take the needed action.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ppawlowski Handbook in combination with a GH issue template seems to be the way to go. Note there there's more and more requirements by customers for scheduled downtime and the company needs to properly manage this -- best way to make sure we do things the right way is to make a process and follow it.
Co-authored-by: Zeger-Jan van de Weg <[email protected]>
Description
This pull request introduces
Infrastructure Maintenance
page to the handbook. The goal of this page is to provide high level documentation on steps required to peroform successfull maintenance of various components of FlowFuse Cloud infrastructure.Related Issue(s)
https://github.com/FlowFuse/CloudProject/issues/624
Checklist