Differansen i kodebasane

Mål for møtet: Få felles oversikt over skilnadane i kodebasane, og bli enig om kva som må gjerast med dei ulike delane.

Tilstades

  • Fredrik Larsen (UiO)
  • Kenneth Johansen (UiT)
  • Steinar Kleven (NTNU)
  • Tobias Langhoff (UiO, drift)
  • Kai Vaade (UiO, drift)
  • Joakim Hovlandsvåg (UiO, ref)
  • Stig Vidar Nordgård (NTNU)

Sak 1: Frå forrige møte

  • NTNU har omorganisert, så Stig Vidar har blitt inkludert i arbeidsgruppa, i tillegg til Steinar. NTNU gir status?
    (Stig Vidar: Treng din Feide-ID, for tilgang til arbeidsområdet.)
  • Hans Kristian har laga veikart for Cerebrum hos USIT. som levering til IT-BOTT for IAM-aktiviteten.
  • Diskuterte versjonering av Cerebrum i workshop på USIT. Ønsker å innføre semantisk versjonering, (uavhengig av schema-versjon). På sikt, etter samanslåing.
  • Har vi tilgang til UiT-Cerebrum? Tilgang til NTNU Jira? Kenneth har fått tilgang til UiO Jira.

Steinar fortset i arbeidsgruppa til vi er ferdig med aktiviteten/oppfylt mandatet. Stig Vidar skifter jobb, så vert truleg ikkje med vidare.

Kenneth er fornøgd med å bruke USIT Jira for UiT sitt arbeid. Steinar legg inn NTNU sitt arbeid i NTNU Jira, og gir resten av oss tilgang.

Sak 2: Oversikt over differansane [informasjon]

Fredrik går gjennom resten av det som er forskjellig mellom UiO og NTNU.

Fredrik gjekk gjennom alle skilnadane, det som er nærast kjernen først. Diskuterer undervegs kva vi ønsker å gjere med kvar enkelt skilnad.

Har markert alt som ikkje vart konkludert i møtet med TBD.

Skilnader i schema:

  • Schema-endringar i core-tables; Bruker ulike versjonar.
    • Enighet om Fredrik sitt forslag: Vi køyrer separate schema-versjonar oppover no i migreringsperioden. Når ein til slutt skal slå saman, endrer alle til versjon 1.0, så fortset vi derfrå.
    • Lager brukarhistorie på dette hos kvar enkelt instans, som ei avsluttande oppgave før samanslåing.
  • NTNU har expire-date og spreads på entitetar.
    • Steinar sjekker ut om dei brukast på NTNU, og korleis, så vi får funne ut kva vi bør beholde.
  • UiO har gjort ein del schema-endringar, blant anna alias på contact_info, og namn på OU på ulike språk i andre tabellar. Ikkje store jobben å endre, men migrasjon må evt. tilpassast.
    • TBD: Korleis løyse? Vart ikkje avklart kven som bør endre kva.
  • Vekting av affiliations gjerast ulikt. UiO har krav om må ha prioritering, mens NTNU ikkje har det. Må ved migrering då sette ein prioritet.
    • Trengs ein del tankearbeid. Kan forhåpentlegvis fjerne. (ref.anm: UiO har allereie ei brukarhistorie på dette, CRB-1196)
    • Nokon frå USIT må sjå på kva som kan kuttast der. NTNU og UiT bruker ikkje prioriteringsfunksjonaliteten, så mindre konsekvens for dei.
  • USIT har innført opprettelsesdato for alle entitetar.
    • NTNU og UiT legger til create_date i sitt schema.
  • DNS-modulen er kaos, men brukast ikkje av andre. USIT har planar om å få den heilt ut av Cerebrum.
  • ChangeLog er både i core og utanfor, som er feil. USIT har flytta CL-konstantar inn i core, mens funksjonalitet ligg i modules. NTNU har løyst dette på andre måtar.
    • Fredrik ønsker bl.a. å fjerne constraints til entity-id i changelog, og bruke JSON i staden for pickle.
    • Planar om å endre på denne, men bør kanskje stå urørt. Kan køyre ulikt per institusjon i starten.
  • mod_email:
    • Unødvendig komplekst, med mykje forretningslogikk.
    • NTNU bruker modulen litt annleis enn USIT.
    • USIT ønsker å skille ut e-postfunksjonalitet frå Cerebrum.
    • Schema må vere likt, men kan leve med mindre endringar, td. at UiO har ein ekstra local_delivery.
    • TBD: Ikkje avklart kva vi gjer med denne.
  • entity_trait:
    • Fri lengd på strval.
    • UiT og NTNU legg til i sin kode.
  • mod_note: Ulikt namn på tabellen hos institusjonane.
    • NTNU endrer namn på tabell til entity_note, så det følger samme namnestandard som andre tabellar.
  • mod_printerquota: Berre USIT bruker, så uproblematisk. Fjerner når vi ikkje bruker lenger.
  • mod_sap: USIT må rydde opp og fjerne alt rundt dette.
  • USIT har 14 ekstra, eigne modular, NTNU har 3 ekstra, eigne modular, bl.a:
    • mod_person_extra hos NTNU. Steinar har tømt for data, og skal slette denne snart.
    • mod_group_admin hos NTNU: Fredrik ønsker skille ut som mixin, for å skille ut.
      • NTNU: brukast for tilgangar i admingrensesnittet for grupper (cereweb?). På UiO er dette implementert med "OpSets" i bofhd. Ulike måtar, men samme resultat.
      • Må sjå på dette på sikt. Finne ei felles løysing for authz.

Core:

  • Testing:
    • NTNU har testar utanfor repoet.
    • USIT rydder eller fjerner gamle testar i kodebasen.
  • Account:
    • create_date har endra namn og skrivbarhet. Påvirker account.populate og account.new.
      • TBD: Korleis løyse?
    • Attributtet description har fjerna funksjonalitet for å bruke dette, på UiO. Brukast i høg grad på NTNU.
      • USIT tek inn funksjonalitet for description, så det er likt, sjølv om vi ikkje bruker det.
    • Samanlikning av objekter er ubrukeleg på USIT, NTNU har fiksa mykje av problemet.
      • USIT fikser samanlikninga hos seg ved å kopiere frå NTNU.
      • På sikt må vi sjå på bruken av samanlikning, og tolking av kva ein skal samanlikne og ikkje.
    • password:
      • USIT har endra ein del. Bl.a. rundt encoding, men optional, så ikkje noko trøbbel.
      • Hardkoda hash må flyttast ut.
      • USIT har masse stories for å fikse teknisk gjeld for passord-funksjonaliteten. Ligg i eigen epic i USIT Jira (CRB-2020)
      • USIT har endra på GPG-funksjonaliteten, og krypterer alle nye passord, til bruk for AD [PDF]. Er kun AD som har privatnøkkel som kan dekryptere passordet. Er på veg til prodsetting, enn så lenge hentast det berre frå change_log.
      • UiT og NTNU bør sjå på GPG-funksjonaliteten dei har, for å sjå kva som kan fjernast. USIT ønsker rydde gamal funksjonalitet.
      • USIT har endra så sjekk av passord returnerer ulikt. Før True eller False, no inkluderast kva metodar som feila eller ikkje. Dette for bedre feilsøking ved feil i hash-funksjonalitet.
      • TBD: Ikkje avklart kva vi gjer med resterande endringar i passord-funksjonaliteten.
    • write_db: NTNU har eiga change_log-hending for passord, i account_mod. Må få det så likt som mulig.
      • TBD: Mangler avklaring på kven som fikser.
    • account_np_type har NTNU fiksa bøgg for, men usikker kvifor feilhandteringa er implementert. Kanskje heng att frå debug under utviklinga?
      • TBD: NTNU ser over?
    • Generelt har USIT lagt til fleire valfrie input-parameter for ymse list_ og search-metodar. Ikkje eit problem, men kan vere lurt om NTNU ser på og legg til.
    • simplify_name og epostgenererint frå NTNU: hack for å få løyst unicode-problematikk. Ikkje krise at det ligg der, men bør sjå på det, sidan uheldig å hardkode teiknsett i core. Ser på på sikt.
      • TBD: Ikkje avklart om NTNU ser på å løyse dette.
      • Unicode må på sikt løysast, slik at alt internt er unicode. USIT har epic på dette (CRB-1077)
    • USIT kan legge til prefiks på brukarnamn, truleg ikkje eit problem.
      • TBD: UiT og NTNU legg til hos seg?
    • USIT har sjekk av passord, som er flytta ut til ein eigen, ny plugin. Passordsjekken byggast basert på cereconf-variablar. Enkelt å tilpasse og implementere med bruk av plugins.
      • Plugin vert instantiert i Account i core.
      • TBD: NTNU ser på, og vurderer om ok for dei å ta i bruk?
  • Constants:
    • NTNU har støtte for unicode i string-verdiar til konstantar.
      • USIT tek inn dette.
    • Noko ulikt mellom NTNU og USIT. Usikker på om USIT bruker all sin funksjonalitet.
      • NTNU og UiO ser på og gjer likt.
    • USIT har fiksa bøgg på oppslag av konstant der string-verdi er eit tal.
      • NTNU legg til fiksen på si side.
    • USIT endra på repr til å ikkje trenge å slå opp i databasen. Nyttig funksjonalitet.
      • TBD: NTNU legg til på si side?

Nådde ikkje alt, og fekk ikkje avklart alt. Vi diskuterer punkta markert med TBD på e-post, så mykje som mulig.

Sak 3: Tiltak for å fikse differansane [diskusjon]

Vi ser på kvar differanse og blir enige om korleis løyse dei. Lager brukarhistorie for UiO, NTNU og/eller UiT. Vurderer også om det må løysast på kort eller lengre sikt.

Ønskeleg at USIT (og dei andre) frys koden sin mest mulig, og ikkje legg til features. Joakim høyrer med Hans Kristian.

Sak 4: Til neste møte

Når har vi neste møte, og kva gjer vi til då? Mål for neste møte?

Avtalde neste møte neste fredag, med mål om å fullføre gjennomgangen av differansen i kodebasen, så vi får kome oss vidare. Har no fire veker att før fristen, 1. mars.

Avtalde aksjonspunkt i løpet av møtet:

  • Steinar ser på teknisk utstyr til neste møte, for ei meir permanent løysing for videomøte.
  • Joakim høyrer med Hans Kristian om frys av Cerebrum for features.
  • Fredrik tagger koden for kva versjon vi har diffa med.
  • Fredrik legg ut cereconf-filer og scheduled_jobs for alle USIT sine instansar. Vasker først.
  • Fredrik fortset å sjå på diff på resten av kodebasen, og presenterer det på neste møte.
  • Fredrik legger ut oversikten over differansane på arbeidsområdet og sender på e-post, så ein kan ta detaljar på e-post også.
  • Steinar gir USIT og UiT tilgang til deira Jira for å sjå deira brukarhistorier.
  • Kenneth, Steinar og Tobias går gjennom alt som vart oppdaga i Sak 1:
    • Legg inn brukarhistorier i Jira for alt som vart oppdaga i møtet for sin institusjon.
    • Sjekk opp det som vart avdekka at bør sjekkast opp meir. Til dømes ønskast det at Steinar sjekker om expire-date i core brukast, for å finne ut om vi må beholde eller kan fjerne.
  • Steinar løyser fleire av dei mindre skilnadane mellom NTNU- og UiO-Cerebrum.
  • Joakim sender uavklarte punkt (TBD) på e-post.

Eventuelt

Kva bruker de andre for handtering av DNS-data? USIT ser på ny løysing for å få det ut av Cerebrum. For NTNU kan vi høyre med oystein.viggen@ntnu.no.

Bruker NTNU bofhd? Nei, bruker biblioteket for autorisasjonsmodulen, men ikkje sjølve klienten. Bruker NTNU bofhd_uio_cmds.py? Truleg ikkje.

Kva kodebase frå UiO bruker UiT? Var det før vi skreiv om bofhd? Fredrik sender versjonsnummeret til Kenneth der dette vart implementert.

Publisert 17. jan. 2017 14:59 - Sist endret 13. jan. 2023 12:35