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.

  • No labels