diff --git a/.md.toml b/.md.toml index d174ccb..29f9392 100644 --- a/.md.toml +++ b/.md.toml @@ -26,7 +26,7 @@ html_void = [] enable = true # Set a base template # Optional -#general = "./src/template.html" +general = "./src/templates/general.html" powerpoint = "./src/templates/powerpoint.html" # Priority of the templates to use, first one to match a markdown file is used. diff --git a/src/images/backgroundsharkycoin.png b/src/images/backgroundsharkycoin.png new file mode 100644 index 0000000..48a2362 --- /dev/null +++ b/src/images/backgroundsharkycoin.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aa92476b2064576b1db1a13f14e4cef1016010e4c9f4d9af62a67ba9af76300 +size 41493 diff --git a/src/images/favicon/favicon-16x16.png b/src/images/favicon/favicon-16x16.png new file mode 100644 index 0000000..da9b786 --- /dev/null +++ b/src/images/favicon/favicon-16x16.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9500c2b745f88b34413fa9b40e5ea2e12998f10b57e7d2721991afeac4bcb6e6 +size 1544 diff --git a/src/images/sharky.svg b/src/images/sharky.svg new file mode 100644 index 0000000..c864050 --- /dev/null +++ b/src/images/sharky.svg @@ -0,0 +1,193 @@ + + + diff --git a/src/postmortem/2023-09-27_Signup-failures.md b/src/postmortem/2023-09-27_Signup-failures.md new file mode 100644 index 0000000..04d678a --- /dev/null +++ b/src/postmortem/2023-09-27_Signup-failures.md @@ -0,0 +1,86 @@ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +title = '2023-09-27 Signup Failures Postmortem' +date = 2023-09-28 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# 2023-09-27 Signup Failures Postmortem + +Key people: Brendan (silver). + +## What happened +During the signup event for Skynet new users hit a snag in that they werent receiving emails. +These emails are used to verify that they own the address that is on wolves. +This allows us to link the accounts together. + +## What was done during outage + +First action was to try and remote into the impacted server (``kitt.skynet.ie``) and see what was teh status of the data update command. +This was hampered by ``ssh: could not resolve hostname kitt.skynet.ie: Name or service not known``. +I tried to remote into ``vendetta.skynet.ie`` (ns1) and got the same error. + +Next action wast to go into the server room and reboot the vendetta to see if we could get teh hostname issue fixed. +Restarted, it came up, went back into Room 3. + +Same issue, though now I was certain teh DNS was working. +My laptop had decided to disconnect from eduroam and refused to reconnect. +Rebooted it, took quite a while since it was trying to mount a network drive that was not accessible, +not a great way to spend 1:30 under time pressure. +When it booted up it connected to eduroam without issues. + +I was able to sftp into the server and pull the database file. +Confirmed that the csv import was failing, even on a freshly generated database (sqlite databases can be regenerated easily). +I tried to rebuild it locally, but my dev environment on my laptop was not set up correctly which hampered my efforts. + +Soon enough cut losses and continued on with the remainder of the presentation. +Although without the interactive elements that were planned. + +## What was the root cause + +At home with my normal dev env I was abale to properly investigate. +The issue was a database schema I had planned to use as an interim one between teh current method of using the CSV export and the future of using Wolves API. + +The plan was to have fields for ``id_member`` which changes yearly (csv) and ``id_wolves`` which would identify the user (does not change). +In combining the two lead to insertion errors leading to no rows being added or updated. + +Table schema as it was during teh signup event. +```sql +CREATE TABLE IF NOT EXISTS accounts_wolves ( + id_wolves text DEFAULT '', + id_member text DEFAULT '', + id_student text, + email text not null, + expiry text not null, + name_first text, + name_second text, + PRIMARY KEY (id_wolves, id_member) +) +``` + +## What was the solution +The main solution was to simplify so only one primary col. +Like so: + +```sql +CREATE TABLE IF NOT EXISTS accounts_wolves ( + id_wolves text PRIMARY KEY, + id_student text, + email text NOT NULL, + expiry text NOT NULL, + name_first text, + name_second text +) +``` +This also makes it easier to do the migration when teh Wolves API releases. + +[Patch that fixed it](https://gitlab.skynet.ie/compsoc1/skynet/ldap/backend/-/commit/9db8a238d2bf7be8bcfa86012b26180c041c13d1) + + +## Things to improve for the future. + +* Verify/test it works before a big event. +* If its new enough have a dev env on hand. +* Its not //always// DNS (probally is though) + * Network connectivity is a good first step to test. + diff --git a/src/templates/general.html b/src/templates/general.html new file mode 100644 index 0000000..c60da15 --- /dev/null +++ b/src/templates/general.html @@ -0,0 +1,27 @@ + + +
+