Dev-blogg

  • 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 22

    Dev-blogg vecka 22

    Autentisering

    Lösning för inloggning med bankID till NGP är under utveckling, och ett avtal är klart med FortifiedID. Vi inväntar konfiguration av IdP med client på deras håll för integration mot Keycloak-uppsättningen för att möjliggöra inloggning med BankID i OpenOnDemand.NGPc

    NGPc

    Vi har påbörjat vidareutveckling och förbättring av granskningssystemet inom klustermiljön. I nuläget använder vi flera olika verktyg för granskning, men målet är att samla loggarna på ett gemensamt ställe. Exempelvis i Graylog, så att de blir enklare att söka i framöver. Arbetet är fortfarande i ett tidigt skede.

    Vi har slutfört arbetet kring att designa och införa ny rutin för skapandet av OS image för arbetsnoderna inom NGPc. Denna möjliggör för enklare skapande, samt validering innan en ny version sätts i produktion.

    NGP Integrations: Bonsai & Mimosa

    Vi har påbörjat testning av Bonsais API från login1. Under arbetet uppkom problem kopplat till rootless Podman, filrättigheter och ägarskap för de filer som skrivs till den NFS-monterade ytan där JASEN-resultaten lagras.

    För att hantera detta använder vi bindfs tillsammans med fuse3, vilket adresserar rättighets- och ägarskapsproblematiken. Det återstår dock att avgöra om detta ska betraktas som en tillfällig workaround eller om det kan vara en hållbar lösning även på längre sikt.

    Vi har även diskuterat hur åtkomsten till Bonsai-mounten bör styras, och om detta exempelvis bör ske på gruppnivå.

    VDP

    Baserat på feedback från referensgruppen som bildats från GMS-RD-gruppen är ny funktionalitet under utveckling.

    • Import av data från Alamut.
    • Ytterligare allternativ gällande hur man gör sökningar i databasen. Detta avser alternativa söksmetoder än genomiska koordinater (kromosom, position, REF, ALT).
    • Tillägg och förändringar av användargränssnittet i portalen.

    // Hedy

  • 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

  • Dev-blogg vecka 20

    Dev-blogg vecka 20

    Brainchild

    Nya användargrupper har skapats och användare från Microsoft och Nexer har bjudits in för att arbeta på BrainChild inom fabricmiljö. En ny kapacitet har skapats och rättigheter konfigurerats för denna.

    Under skapandet/inbjudan av användare har vi stött på inloggningsproblem för nya användare där de slår i en conditional access policy. Denna policy ska hindra inloggning utan MFA men användaren får det aldrig presenterat för sig att konfigurera sin MFA innan inloggnings fallerar. Explicit exklusion av användare för policy gör det möjligt att logga in. Felsökande pågår.

    Jasen + Bonsai + Mimosa

    Vidare diskussioner har klargjort vilka de konkreta stegen är härnäst. Dessa skiljer sig delvis från originaltanken och således behöver vissa delar av uppsättning av infrastruktur förändras.

    Det kvarstår några få frågetecken som vi hoppas reds ut under nästa vecka. Under tiden implementerar vi de delar vi har god känsla för, t.ex. hur kommunikation och dataskyfflande mellan Jasen och Bonsai ska se ut i ett första skede.

    Administration GMC-joint

    Nya rutiner för GMC-joint arbetas fram som rör administration rent generellt. BDC-IT/GMC-west kommer hantera administrationen av denna tenant och dess användare. Exakt utformning är inte färdigställd men i takt med att denna blir klar kommer tekniska administratorer från varje GMC kontaktas för att ta del av dessa nya rutiner.

    Rutinunderhåll NGP

    Vi har tagit fram en grundläggande princip gällande underhåll av infrastruktur. Vi siktar på att ta ner delar av infrastrukturen den 2:a onsdagen i varje månad för att uppdatera underliggande OS och införa diverse förändringar som annars hade stört verksamheten.

    NGPc

    Förra veckan nämndes patchning av “copy fail” och sedan dess har nya liknande kritiska fel identifierats i linux kernel (dirty frag). Vi har inväntat nya kernelversioner för att patcha detta fel och siktar på att lösa detta nästa vecka.

    Ha det fint,
    Jens PW

  • Dev-blogg vecka 19

    Dev-blogg vecka 19

    NGPc

    Under veckan har vi hämtat ner nya kernel-versioner för de mest kritiska virtuella maskinerna i NGPc. Detta görs för att lösa det kritiska felet som alla Linux-distributioner har haft sedan 2017, med id CVE-2026-31431, också kallat copy fail. I samband med detta har även ett antal portaler och andra appar uppdaterats. Arbetet fortsätter med att uppdatera resterande maskiner inom NGP-kontexten.

    Vi har även satt upp InfluxDB3 och Grafana på en ny virtuell maskin. Telegraf har inkluderats på arbetsnoderna, vilket möjliggör detaljerad loggning av arbetsnodernas hälsotillstånd och öppnar upp för djupare insikt i hur mycket resurser som brukas under tiden pipelines kör.

    Ett arbete har påbörjats med målet att omarbeta rutinen för hur man bygger OS-image för arbetsnoderna inom NGPc. Om man behöver lägga till en dependency ska det vara smidigt att skapa en ny image och peka om produktionen att bruka denna efter att funktionen har validerats.

    Diskussionerna kring spårbarhet av prov genom hela NGP har expanderats och inkluderar nu fler personer från olika GMC. Det finns många alternativ som behöver utredas för att hitta en lösning som fungerar med alla olika komponenter som NGP består av.

    GMS-mikro

    Vi har i veckan deltagit i en konferens/workshop arrangerad av GMS-mikro. Där fördes många diskussioner kring slutanvändning av verktyg inom pilotprojektet, det vill säga Jasen, Bonsai och Mimosa. Det fördes även vidare diskussioner med utvecklare för verktygen.

    //Erik B

  • Dev-blogg vecka 18

    Dev-blogg vecka 18

    NGPc: Open OnDemand (OOD) och Keycloak

    Den nya Open OnDemand-miljön är nu konfigurerad och kör i Azure, med Keycloak som del av inloggningsflödet. Just nu tittar vi även på backup för Keycloak, där återställningstester blir en viktig del innan vi kan känna oss trygga med att driftsätta den nya lösningen.

    För att garantera att säkerheten upprätthålls går också igenom detaljerna i autentiseringsflödena, bland annat hur AuthnContextClassRef mappas till acr, och vilka inkommande claims som faktiskt behöver verifieras.

    NGPc: Övervakning

    Övervakning av arbetsnoderna i NGPc håller på att införas.
    Det kommer att gör det enklare att följa resursförbrukning på noderna samt deras hälsa, och ger oss en bättre grund för att bygga logik som tidigt kan varna när fördefinierade riktvärden överskrids.

    Benchmark av pipelines

    Vi jobbar vidare med en rutin för benchmarking av pipelines.
    En ny Grid Engine-kö har satts upp för sekventiella körningar, vilket tillsammans med den nya övervakningen ska hjälpa oss att hitta flaskhalsar i olika pipelines.

    GMC-joint

    Den tekniska administrationen av GMC-joint ses över.
    Nya rutiner tas fram för att tydliggöra vem som har access till vad, och tekniska admins för respektive GMC kommer att kontaktas för att uppdateras kring de nya rutinerna.

    /Johan C

  • Dev-blogg vecka 17

    Dev-blogg vecka 17

    Autentisering

    Konfiguration av ny Open OnDemand instans med inloggning via Keycloak har börjat sättas upp i NGP.

    Azure NetApp files

    Utreder hur man effektivast skalar Netapp-lagringen utifrån nuvarande workload. Tekniska begränsningar i hur man viktar total storlek mot total throughput gör det svårt att hitta rätt utifrån ett kostnadsperspektiv. I samband med detta görs ett försök att sätta upp rutiner för att identifiera vart flaskhalsar ligger för diverse pipelines inom en bredare kontext.

    Bonsai + Mimosa

    Arbetar med automation för att kunna hämta JASEN-output från HCP för att köra i bonsai.

    Inväntar ett testdataset från GMC Örebro för att kunna testa med verklighetstrogen data.

    BrainChild

    Arbetet med indexing av Barntumörbanken data fortgår.

    /Aron C

  • Dev-blogg vecka 16

    Dev-blogg vecka 16

    Autentisering

    Inloggningsflödet är testat med LDAP-integration till IdM för matchning av inkommande claim som i sin tur skickas vidare till OpenOnDemand, för att auktorisering fortsatt ska kunna hanteras manuellt och OpenOnDemand inte ska behöva ställa ldap-frågor till IdM för att kunna matcha användare.

    Bonsai + Mimosa

    Arbetet med att integrera Bonsai och Mimosa i NGPn fortsätter.

    Vi har haft dialog med projektägarna för GMS-projektet “Prospektiv regional sekvensering av resistenta bakterier med samordnad nationell dataanalys” för att tydliggöra vilka versioner av Bonsai och Mimosa som ska stödjas i NGP. I samband med detta har vi också lyft att den senaste releasen av Bonsai ännu inte fullt ut stödjer data från de senaste versionerna av Jasen och bonsai-prp.

    Vi inväntar besked om detta, samtidigt som Bonsai-utvecklarna undersöker om stöd för bonsai-prp 1.5 kan backportas till Bonsai 2.1.x. Förhoppningen är också att GMC Örebro under nästa vecka laddar upp ett testdataset och referensisolat till GMC Joint-tenanten, så att vi kan testa med mer verklighetstrogen data.

    Mimosa har uppdaterats av externa utvecklare för publicering bakom reverse proxy och under en subpath, baserat på den feedback vi tidigare delat med dem. Vi inväntar nu en stabil release innan Mimosa-instansen i NGP uppdateras.

    NGP Cluster

    Vi har genomfört testkörningar av pipelines.

    Variantdatabasportalen(VDP)

    Vi har hållit ett möte och en grupp ska bildas för att beta testa portalen. Vidare utveckling av portalen fortsätter.

    /Hedy Pettersson