Underhållsfönster – Onsdagen den 14 oktober

Onsdag den 14 oktober genomför systemuppdateringar och omstarter av servrar och tjänster.
Detta kan påverka åtkomsten till vissa tjänster. För mer information, se driftinformation.

BrainChild

  • Dev-blogg vecka 41

    Dev-blogg vecka 41

    Det har varit ett par regniga dagar i Göteborg nu när hösten är på ingång, men trots det har vi fortsatt vårat arbete med NGP:n och dess kringliggande projekt!

    Brainchild

    Vi har påbörjat implementeringen av portalen utifrån det godkända utkastet, och utvecklingen pågår nu. Parallellt har säkerhetsarbetet formaliserats. En fullständig genomförandeplan och tillhörande rekommendationer finns på plats, och arbetet inväntar nu slutgiltiga beslut inför implementeringen.

    Variantdatabasportalen (VDP)

    Arbetet med Variantdatabasportalen (VDP) fortsätter med mindre finjusteringar inför presentationen av vår Minimum Viable Product (MVP). Vi ser fram emot att låta testare prova portalen och bidra med konstruktiv feedback.

    Underhållsfönster

    Den 14 oktober mellan klockan 09.00 och 17.00 kommer systemunderhåll att genomföras för NGP:ns olika tjänster. Mer information finns på sidan för driftstatus.

    Bonsai

    Vi börjar närma oss en lösning för Bonsai där NGPi och NGPr används för datalagring och indexering, med syftet att stödja GMS-mikros pilotprojekt. När lösningen för Bonsai är på plats kan vi påbörja arbetet med att modifiera Mimosa på motsvarande sätt.

    Övrigt

    Arbetet med att koppla upp regionerna till NGP fortsätter, bland annat genom NGPr, som även är känd som vår Hitachi Content Platform.

    Vi har också sett över hur projekt och arbetsflöden dokumenteras. Syftet är att spara tid och energi, öka förståelsen för hur våra system är uppbyggda och göra det enklare att hitta, skriva och läsa dokumentation. Det nya arbetssättet kommer även att underlätta onboarding och minska personberoendet.

    // Erik B 😎

  • Dev-blogg vecka 40

    Dev-blogg vecka 40

    Brainchild

    Design av portalen har blivit godkänd, vilket betyder att arbetet med att bygga portalen kan påbörjas. Fortsatt arbete med att implementera kohorter, där bland annat GraphQL API har undersökts. Diskussioner kring hur funktionalitet ska kunna förverkligas pågår. Fortsatt arbete gällande säkerhet kring IAM och infrastruktur för att kunna införa BankId autentisering, och en tidsplan för kommande arbete på 2-3 veckor har skrivits.

    VDP

    Typvalidering har implementerats för alla strikta typer i respektive accepterade format.

    Bonsai, Mimosa, pilotprojektet GMS-mikro

    Arbete fortsatt för att Bonsai ska kunna skriva data till NGPr och att denna ska indexeras i NGPi, samt hämta data från NGPi och NGPr. En delad instans av Bonsai har satts upp, som den modifierade versionen av Bonsai kommer att köras på.

    Utbildning

    Denna vecka har vi dessutom fortsatt utbildning inom Microsoft Fabric, samt en kurs rörande säkra digitala lösningar.

    Till en trevlig oktober!

    / Hedy

  • Dev-blogg vecka 37

    Dev-blogg vecka 37

    Hösten närmar sig och arbetet fortsätter!

    Brainchild

    Arbetet med BrainChild fortsätter, där vi tittar på flera olika lösningar för portalen.
    Dels tittar vi på hur bäst backend-koden i portalen kan kommunicera med datan som ligger i Fabric och PowerBi. Olika lösningar har diskuterats, men vårt mål är att hålla det så enkelt och okomplext som möjligt, för att framtidssäkra integrationer.

    Exempelvis fortsätter arbetet med att läsa in users sparade cohorter från fabric, samt spara och skriva nya cohorter till fabric.
    I samma veva har vi börjat laborera hur vi kan utläsa data för filtrering från Fabric och kikat på vad för queries vi behöver göra för att skapa upp formulär i portalen. Tanken är att filteringsalternativ ska hämtas dynamisk i takt med att datan uppdateras i Fabric.

    Ett andra utkast av layouten av sidan har gjorts!

    Även arbete har påbörjats gällande authentication – uppsättningen av BankID som MFA-method i Entra har påbörjats.

    Onboarding och upskilling

    För några veckor sedan nämndes det här på bloggen att vi fått in lite nytt folk i dev-teamet – och det är faktiskt en av oss nya som skriver här nu. Hejsan!

    Onboardingen tuffar på, och jag har verkligen fått en kanonstart – teamet har tagit emot mig med öppna armar och fått mig att känna mig hemma från första stund.

    Utöver detta har teamet satt sig i skolbänken i några timmar denna vecka. Vi har haft upskilling inför kommande projekt, i syfte att – för att kunna utföra vårt arbete så effektivt och med så hög kvalitet som möjligt.

    Dessutom har vi fortsatt vår utbildning i bioinformatik – för att bättre förstå våra användares behov och kunna skapa tjänster som ger dem rätt förutsättningar att göra ett riktigt bra jobb.

    Generellt från teamet

    Teamet drömmer om att streamlina arbete på BDC-IT med hjälp av automations-pipelines, centraliserade arkitekturer och standardisering, för att kunna fokusera mindre på manuell uppdatering som tar tid och skulle kunna automatiseras.
    I dagsläget är generella idéer som slängs runt i fikarummet, men vi önskar att effektivisera arbetet så småningom.

    / Elena 💃

    Image credit
    Image by Robande | This file is licensed under the Creative Commons Attribution 3.0 Unported license.

  • Dev-blogg – Vecka 36

    Dev-blogg – Vecka 36

    Arbetet fortsätter framåt inom flera delar av NGP, med fokus på allt från vidareutveckling av BrainChild-portalen, till stabilare skalning av beräkningsresurser och grundläggande arkitektur för kommande verktyg.

    Brainchild

    Det första utkastet på designen för Brainchild har nu visats upp och utgör en grund för det fortsatta arbetet med portalen.

    Parallellt har arbetet påbörjats med en lösning för att kunna spara kohorter tillsammans med tillhörande filter i BrainChild-portalens backend. Målet är att skapa ett bättre stöd för att definiera och återanvända urval direkt via portalen.

    Hotfix för Navops

    Ett problem har identifierats i Navops där systemet under vissa former av belastning inte kunde hantera uppskalningen av arbetsnoder korrekt. Grundorsaken visade sig vara ett så kallat race condition i bootstrap-logiken.

    Under vissa omständigheter kunde detta leda till att flera arbetsnoder startades i Azure med samma hostname. Det skapade i sin tur problem för Grid Engine, som inte längre kunde hantera noderna korrekt.

    Problemet har åtgärdats genom en hotfix som applicerats på två av de underliggande Docker-containrar som ansvarar för bootstrap-logiken. Tester som genomförts efter implementationen av fixen har gett gröna och förväntade resultat, vilket tyder på att problemet nu är löst.

    Ny logik för dataskyffling

    Arbetet med kärnkoncepten och logiken för en ny applikation för dataskyffling inom NGP pågår aktivt. Applikationen är tänkt att utgöra en viktig grund för flera kommande verktyg och behöver därför byggas med en arkitektur som fungerar även för framtida behov.

    Det handlar om betydligt mer än själva logiken för att flytta data. Flera komponenter behöver samverka på rätt sätt för att bland annat stödja dataseparation och tydliga API-ingångar, samtidigt som lösningen behöver vara tillräckligt generell för att kunna användas av flera olika verktyg framöver.

    Fokus ligger därför just nu på att få de grundläggande koncepten och gränssnitten på plats innan implementationen byggs ut ytterligare.

    // Johan

  • Dev-blogg vecka 34

    Dev-blogg vecka 34

    Alla är tillbaka efter sommaruppehållet

    Efter sommarens ledigheter är hela teamet åter på plats. Arbetet är nu i full gång igen, med fortsatt fokus på våra webbportaler, den tekniska infrastrukturen och flera pågående utvecklingsprojekt.

    Webbportaler

    Under sommaren har vi genomfört flera UX-förbättringar i Variantdatabasportalen och Brainchild. Arbetet har fokuserat på att göra portalerna tydligare och mer lättanvända samt att skapa en smidigare upplevelse för användarna.

    Underhållsarbete

    Under onsdagens underhållsfönster uppdaterades ett antal noder och funktioner inom NGPc. Bland annat genomfördes uppdateringar av systemen för inloggning, qmaster och arbetsnoderna. Vi har även satt upp en systemd-tjänst för Sentieons licensserver.

    Bonsai

    Inom Bonsai arbetar vi aktivt med att ta fram en alternativ databaslösning till MongoDB. Eftersom det nuvarande regelverket inte tillåter permanent lagring av information i Azure kan Bonsais befintliga databas inte användas i sin nuvarande form.

    NGPi (HCI:n) och NGPr (HCP:n) kan vara en potentiel lösning, men innan vi kan välja väg framåt behöver vi göra en djupare analys av Bonsais nuvarande databasmodeller, hur de är uppbyggda och hur de används av applikationen.

    Parallellt siktar vi på att ta fram en referensimplementation i Bonsai, kompletterad med relevant dokumentation. Tanken är att implementationen ska kunna fungera som grund för de riktlinjer som ska tas fram för framtida NGP-integrationer av appar och andra tjänster.

    Brainchild

    I Brainchild arbetar vi med att få en inloggningslösning med BankID och Entra på plats i webbportalen. På längre sikt är målet att kunna styra auktoriseringen mer detaljerat och kräva inloggning med BankID för användare som behöver tillgång till det stängda lagret.

    //Erik B

  • Dev-blogg vecka 26

    Dev-blogg vecka 26

    BrainChild

    • Portalen är uppe för visning av den öppna aggregerade Power BI-rapporten.
    • Designarbetet pågår.

    NGPr/HCP snabbguide

    • En ny snabbguide till användandet av NGPr (HCP) skissas just nu på. Denna är tänkt att summera konceptet i sin helhet men också inkludera detaljer som rör det mest väsentliga med lösningen. Fokus kommer ligga på själva manageringen av “Tenanten” och mindre i hur man laddar upp/ner filer till lagringen.
    • Vi tänker också inkludera rutiner för hur man bör agera ur ett säkerhetsperspektiv när man behöver generera nya konton eller dela ut bredare access till användare.
    • Det kommer också ingå information om hur GMC-joint och rutinerna kring denna fungerar. I och med att projektet utvecklats över tid så finns det en del historiskt vi behöver se över och korrigera, samt informera tekniska admins på alla GMC om hur rutinerna bör se ut framöver.
    • Både snabbguiden och rutinerna diskuteras/skrivs fortfarande och är inte ännu mogna nog för att delas med av. Vi hanterar aktuella ärenden på bästa tänkbara sätt i takt med att de dyker upp.
    • Det är ännu inte heller bestämt hur denna information kommer spridas.

    Autentisering

    Arbetar på en generell modul för att hantera OpenIDConnect autentisering i Django som är tänkt att användas för alla projekt/inloggningsmetoder som kommunicerar med OpenIDConnect.

    Syftet är att kunna generalisera och förenkla inloggningslösningarna för de portaler som vi bygger.

    /Aisha Alsafi

  • Dev-blogg vecka 25

    Dev-blogg vecka 25

    Variant databas-portalen, VDP

    • En första version av stöd för import av Excel-filer med Alamut-format implementerad. Beräkningar av POS, REF, ALT etc behöver ännu hanteras och det är något vi kommer börja diskutera hur vi kan göra.
    • Sökresultat baserat på klassificering och GMC är implementerad och det går att få ut antal klassificeringar för en variant och vilken GMC den klassificeringen tillhör.
    • Ett andra referensgruppmöte genomfördes med bra input på vad vi kommer behöva fokusera på framöver.

    BrainChild

    • Vi har börjat sätta upp infrastruktur för portalen som ska serva ut information från bakomliggande fabric. Har utforskat hur man ska kunna hantera access till PowerBI rapporter.
    • Påbörjade och implementerade ett enkelt API för att tillåta manuell skalning av BrainChilds Farbric Capacity vid behov. Detta gör det möjligt att spara in pengar när Fabric inte aktivt arbetas inom genom att skala ner till minsta möjliga kapacitet, ev pausa instansen helt. Det finns inget inbyggt stöd för detta i Fabric.

    NGPc

    • Har fixat en bugg i worker-image-rutin-koden som ibland satte processer i en oändlig loop. I samma veva gjordes några andra förbättringar som gör koden mer pålitlig.
    • Byggt och satt en ny worker-image i drift som inkluderar telegraf för rapportering av “metrics” till den metrics-server som kör influxdb3 och grafana.
    • Modifierat cloud-init i navops nodklasser i drift för att bruka telegraf för rapportering av metrics. Varje maskin taggas inte bara med hostname (som återanvänds) utan också Azure VM ID som är unikt och kan bättre brukas för spårbarhet.
    • Skapat en dashboard i Grafana för test av hur metrics kan ritas upp in från en skara virtuella maskiner som från navops skapas och plockas ner om och om igen under pipeline-körning. Första tester ser bra ut och vidareutveckling fortsätter.

    /Jens PW

  • Dev-blogg vecka 24

    Dev-blogg vecka 24

    BrainChild

    Design av BrainChild-portalen har påbörjats.

    NGP

    Integrationer: Bonsai & Mimosa

    Vi har haft en initial dialog med GMC Örebro om huruvida Mimosas API bör utökas med stöd för att ladda upp prover och initiera klustringsjobb. Behovet behöver först beläggas och kravställas innan sådant stöd läggs till i API:et.

    Som en snabb, och möjligtvis tillfällig, lösning utvecklar GMC Väst ett tilläggs”-PI som återanvänder så mycket som möjligt av Mimosas automationsskript.

    Systemunderhåll

    Vi utförde uppdateringar och omstarter av tjänster och portaler i veckan.

    Detta var det första rutinlagda systemunderhållsfönstret, som infaller den andra onsdagen varje månad (med undantag för semesterveckor).

    NGPc

    Netapp-arbetslagring

    Skalningslogik har implementerats för Azure Netapp Files som agerar arbetslagringen för pipelines. Logiken tittar på både storleksanvändning och nuvarande belastning för att göra en bedömning om den ska skala upp eller ner.

    Tidigare har ett så kallat “flexibelt” tier använts, men denna går inte att skala upp och ner fritt. Denna har haft en statisk storlek och “throughput” på 4 TiB och 512 MiB/s. Istället har vi bytt till “Ultra” där storlek och throughput skalar med varandra, 1 TiB och 128 MiB/s i taget.

    Koden körs på cron-schema och kommer till en början skala upp 1 TiB i taget. Om man märker att det går för långsamt (primärt throughput-mässigt) så kan man skala upp eller ner mer än så, så att fler processer ska kunna köra och köras snabbare.

    I och med denna skalning kan man spara pengar under perioder av låg aktivitet, samtidigt som man gör det möjligt att köra fler pipelines samtidigt och snabbare överlag.

    Annan lagring

    I och med ovan förändring har andra lagringar plockats bort eller förändrats.

    • /ngp/netapp som tidigare använts som test är bortplockad
    • /ngp/scratch som tidigare varit en blob-lagring har nu ersatts av ovan skalande netapp-lösning.

    Variantdatabasportalen (VDP)

    • Vi undersöker just nu hur vi kan integrera interaktiva grafer i portalen.
    • Fler förbättringar av användarupplevelsen (UX) är under utveckling.
    • Utvecklingen av stöd för import av Excel-filer med Alamut-format fortgår.
    • Vi har börjat titta på hur man kan skapa en gemensam mall för användning i databasen.

    / Johan C

  • Dev-blogg vecka 23

    Dev-blogg vecka 23

    Bonsai & Mimosa

    Bonsai-integrationen har verifierats på NGP-klustret inom ramen för JaseBonsaiMimosa-pipelinen och har visat god funktionalitet.

    Mimosa API är tillgängligt från NGP-klustret, men saknar för närvarande stöd för uppladdning av prover samt initiering av klustringsjobb via API. Vi utreder möjliga lösningar för att hantera denna begränsning.

    Brainchild

    Vi har satt upp nätverkskoppling mellan Brainchilds Fabric-miljö och on-prem HCP-lagring hos VGR där data är tänkt att flöda in. Utvecklare i Fabric ska i första hand nå mock-data från Barntumörbanken/Svenska Barncancerregistret.

    NGPc

    Vi har hittat ett sätt att skala netapp-lagringen mer dynamiskt för att kunna hantera större belastningar både vad det gäller storlek men också throughput. Grundlogiken är färdig men kräver mer arbete för att kunna tas i drift.

    Systemunderhåll

    Vi har diskuterat att införa regelbundna systemunderhåll en gång per månad, med start onsdagen den 10 juni och därefter den andra onsdagen varje månad.

    Under dessa underhållsfönster kommer vi att genomföra systemuppdateringar, omstarter av servrar .etc.

    Underhållsfönstret är planerat till kl. 09:00–17:00 och kan medföra begränsad tillgänglighet eller avbrott för NGPc (https://ood.genmed.se) under denna period. Användare ombeds att inte använda NGPc medan underhållet pågår.

    /Aron C

  • Dev-blogg vecka 21

    Dev-blogg vecka 21

    Jasen + Bonsai + Mimosa

    Arbetet med att adaptera den befintliga lösningen utifrån de förtydligade ska-kraven har påbörjats. Som en del av detta arbete har en ny delad lagringsyta, “hot storage”, för Jasen-resultat skapats. Denna ska användas av den Jasen-Bonsai-Mimosa-pipeline (JBM) som håller på att utvecklas, samt av Bonsai vid klustringskörningar.

    NGPc

    Patching av dirty frag samt fragnesia sårbarheterna har påbörjats, och vi siktar på att patcha det som återstår nästa vecka.

    Variantdatabasportalen

    Vi har haft möte med en referensgrupp som bildats inom GMS RD-grupp

    Vi håller på att bearbeta den feedback vi har fått.


    /Aisha Alsafi