Skip to content

Instantly share code, notes, and snippets.

@lbonanomi
Created May 9, 2019 15:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lbonanomi/1ba0f56e39330f32fdec794b1a4a05f7 to your computer and use it in GitHub Desktop.
Save lbonanomi/1ba0f56e39330f32fdec794b1a4a05f7 to your computer and use it in GitHub Desktop.
digraph G {
{
key [ fill="red" label="In every case of confirmed GHE outage:\n\nCollect a support bundle and open an\_outage-level_ ticket with the vendor.\nDowngrade, but do not resolve this ticket if GHE recovers\n\n\nLINKS\n Maintenance mode: https://help.github.com/enterprise/2.12/admin/guides/installation/enabling-and-scheduling-maintenance-mode/ \n " shape=box3d ]
first_notification [ label="Notification of a GHE outage from any channel" shape=rect]
corplan_browser [ label="Does GHE load in a CORP Browser?" shape=rect ]
yes_corplan_browser [ label="Yes" shape=rect ]
no_corplan_browser [ label="No" shape=rect ]
devlan_browser [ label="Does GHE load in\nFirefox from a GNRL host?" shape=rect ]
yes_devlan_browser [ label="Yes" shape=rect ]
no_devlan_browser [ label="No" shape=rect ]
user_ssh_connect [ label="Does SSH to GHE_URL.COMPANY.COM connect?" shape=rect ]
yes_user_ssh_connect [ label="Yes" shape=rect ]
no_user_ssh_connect [ label="No" shape=rect ]
lulwat [ label="Downgrade ticket\nFollow-up with user" shape=diamond ]
maint_off [ label="Unset maintenance\nmode and check" shape=rect ]
debug_screen [ label="GHE shows an unexpected screen" shape=rect ]
unicorn_error [ label="GHE shows Pink Unicorn Head (angry-looking)" shape=rect ]
unicorn_maintenance [ label="Set maintenance mode on primary" shape=rect ]
unicorn_yes [ label="Yes" shape=rect ]
unicorn_no [ label="No" shape=rect ]
disk_check [ label="Are disks on live appliance full?" shape=rect ]
disk_full_yes [ label="Yes" shape=rect ]
disk_full_no [ label="No" shape=rect ]
clean_disks [ label="Clean old logs" shape=rect ]
yes_debug_screen [ label="Yes" shape=rect ]
no_debug_screen [ label="No" shape=rect ]
fivehundred_screen [ label="Octocat falling down canyon/\n500 Error" shape=rect ]
no_fivehundred_screen [ label="No" shape=rect ]
yes_fivehundred_screen [ label="Yes" shape=rect ]
corp_outage [ label="Potential CORPLAN\nor HAproxy issue." shape=rect ]
outage [ label="This is a\nlegitimate outage" shape=rect ]
ndis [ label="Escalate to Net-Supp" shape=diamond]
announce_confirmed_soft_outage [ label="Notify GHE Chat\nSend Mails." shape=rect ]
announce_confirmed_hard_outage [ label="Notify GHE Chat\nSend BLST." shape=rect ]
admin_ssh [ label="Can SSH to primary\nappliance by hostname" shape=rect ]
yes_admin_ssh [ label="Yes" shape=rect ]
no_admin_ssh [ label="No" shape=rect ]
pfc [ label="GHE shows \"Pre Flight Checks\" screen" shape=rect ]
pfc_yes [ label="Yes" shape=rect ]
pfc_no [ label="No" shape=rect ]
spinner [ label="Black and gray page with Octocat silhouette" shape=rect ]
spinner_yes [ label="Yes" shape=rect ]
spinner_no [ label="No" shape=rect ]
maintenance_mode [ label="Set maintenance mode on primary" shape=rect ]
make_appliance_checks [ label="Make internal health checks" shape=rect ]
internal_escalation [ label="GHE is having a serious outage.\nContact senior engineer" shape=rect ]
swing [ label="Swing Application Host" shape=rect ]
ghe_config_apply [ label="Run `ghe-config-apply` command\non primary appliance" shape=rect ]
gca_worked_yes [ label="Yes" shape=rect ]
gca_worked_no [ label="No" shape=rect ]
terminal [ label="Generate support bundle\nOpen high-priority vendor ticket" shape=diamond ]
reboot [ label="Reboot Appliance" shape=diamond]
}
first_notification -> corplan_browser
corplan_browser -> no_corplan_browser
corplan_browser -> yes_corplan_browser
no_corplan_browser -> user_ssh_connect
yes_corplan_browser -> debug_screen
debug_screen -> no_debug_screen
debug_screen -> yes_debug_screen
yes_debug_screen -> fivehundred_screen
no_debug_screen -> lulwat
user_ssh_connect -> no_user_ssh_connect
user_ssh_connect -> yes_user_ssh_connect
yes_user_ssh_connect -> devlan_browser
no_user_ssh_connect -> outage
fivehundred_screen -> no_fivehundred_screen
fivehundred_screen -> yes_fivehundred_screen
yes_fivehundred_screen -> outage
no_fivehundred_screen -> pfc
pfc -> pfc_yes
pfc -> pfc_no
pfc_yes -> outage
pfc_no -> spinner
spinner-> spinner_yes
spinner -> spinner_no
spinner_yes -> reboot
# UNICORN
spinner_no -> unicorn_error
unicorn_error -> unicorn_no
unicorn_error -> unicorn_yes
unicorn_no -> internal_escalation
unicorn_yes -> unicorn_maintenance
unicorn_maintenance -> disk_check
disk_check -> disk_full_yes
disk_check -> disk_full_no
disk_full_yes -> clean_disks
disk_full_no -> internal_escalation
devlan_browser -> no_devlan_browser
no_devlan_browser -> outage -> announce_confirmed_hard_outage -> admin_ssh
devlan_browser -> yes_devlan_browser
yes_devlan_browser -> corp_outage
corp_outage -> announce_confirmed_soft_outage
announce_confirmed_soft_outage -> ndis
admin_ssh -> yes_admin_ssh
admin_ssh -> no_admin_ssh
yes_admin_ssh -> maintenance_mode
maintenance_mode -> make_appliance_checks
make_appliance_checks -> ghe_config_apply
ghe_config_apply -> maint_off
maint_off -> gca_worked_yes
maint_off -> gca_worked_no
gca_worked_yes -> terminal
gca_worked_no -> swing
no_admin_ssh -> internal_escalation -> swing -> terminal
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment