1 Introduktion
1.1 Formål
Formålet med dette dokument er at beskrive hvordan installations- og konfigurationsscripts til xDB kan vedligeholdes og videreudvikles.
1.2 Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for xDB. Denne er tilgængelig her: OpenText XDB.
1.3 Læsevejledning
Læser forventes at have kendskab til Ansible scripting sproget.
Hvor der i teksten er angivet <component base> refereres til topniveaufolderen for kildekoden for installations- og konfigurationsscripts.
1.4 Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
1.5 Definitioner og referencer
Definition | Beskrivelse |
2 Introduktion til installations- og konfigurationsscripts for xDB
Scripts til installation og konfiguration af standardkomponenten xDB fra OpenText er implementeret i Ansible.
Scriptenes ansvar er fokuseret på installation og konfiguration af komponenten. Byg og pakning af basissoftwaren ligger udenfor dette, men en vejledning hertil kan findes i dokumentationen: OpenText XDB.
Afviklingen af scriptsene danner basis for beskrivelserne i dokumenterne SDS XDB Installationsvejledning og SDS XDB Driftsvejledning.
3 Opsætning af udviklingsmiljø
I det følgende antages at koden er hentet ned fra nspop SVN.
3.1 Krav til software
For at kunne afvikle installations- og konfigurationsscriptsene kræves Ansible version 2.2+.
4 Afvikling af scripts
Der henvises til installationsvejledningen SDS XDB Installationsvejledning for nærmere instrukser.
4.1 Udviklers workstation
Under arbejdet med installations- og konfigurationsscripts kan det være en fordel løbende at afvikle dem mod en lokal virtuel maskine (se f.eks Download VirtualBox for Linux Hosts for at få en lokal Ubuntu instans).
5 Beskrivelse af systemdesign
Installations- og konfigurationsscripts er bygge op vha en rolle (se f.eks. Creating Reusable Playbooks).
Dette er valgt for at øge genbrugeligheden henover miljøerne. En konkret playbook kæder den genbrugelige rolle sammen med miljøspecifikke variable i inventories (se Variables Defined in Inventory).
6 Beskrivelse af kildekodens strukturering og design
6.1 Kodestrukturering
Kildekoden er bygget op efter standard Ansible praksis. Bemærk at nedenstående er det udsnit af installations- og konfigurationsscripts, der angår xDB. Installationsscripts til XDS Registry og XDS Repository ligger i samme SVN, men disse beskrives andetsteds.
ansible
│ ├── inventories
│ │ ├── aws
│ │ ├── first-repository
│ │ ├── group_vars
│ │ │ ├── all
│ │ │ ├── local
│ │ │ ├── tomcat
│ │ │ └── udv
│ │ ├── host_vars
│ │ │ ├── local-xdb-registry-replica1
│ │ │ ├── local-xdb-repository-replica1
│ │ │ ├── udv-aws
│ │ │ └── udv-xds
│ │ ├── local
│ │ ├── local-test-topology
│ │ ├── local-xds
│ │ ├── local-xds-test
│ │ ├── staging
│ │ └── udv
│ ├── roles
│ │ ├── xdb
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── install-master.sh
│ │ ├── install-replica.sh
│ │ ├── xdb-master.service
│ │ └── xdb-replica.service
│ ├── xdb-registry.yml
│ └── xdb-repository.yml
6.2 Generelt design af installations- og konfigurationsscript
Rollen xdb indeholder det, der skal til for at installere og konfigurere en instans af xDB. Rollen installere prerequisites for xDB og installerer xDB basissoftware som en systemd service.
Playbooks xdb-registry og xdb-registry anvender den generelle xdb rolle i konteksten af anvendelse for hhv XDS Registry og XDS Repository.
Endelig vises inventories hvordan variable skal sættes op for at konfiguration sættes efter specifikationen af konkrete miljøer.
7 Beskrivelse af testsetup
Test af scripts foregår via driften, der tester det mod testmiljø. Hvis en afvikling af scriptet giver anledning til fejl, vil Ansible rapportere dette.