OSI:Netconf/Oxidized
Z HelpDesk
Nastavení a spuštění
- nainstalovat docker a docker-compose
- Složka obsahující docker repozitáře je /root/docker. Zde se nachází vžy soubor docker-compose.yml, ten určuje jak se zapnou jednotlivé containery. Recepty pro specifické sestavení containerů se nachází ve složkách *build a to konkrétně v souboru Dockerfile.
- sestavení containerů
cd /root/docker/oxidized docker-compose build
- spuštění latest verze na popředí (na pozadí stačí přidat option -d)
docker-compose up
- správné zapnutí nebo vypnutí služby
systemctl start/stop oxidized
Automatické spouštění přes systemd
- Oxidized se po startu serveru automaticky spustí a ve 3 hodiny ráno se automaticky restartuje - vynucení aktualizace konfigurace).
- na serveru jsou v /etc/systemd/system tři soubory:
oxidized.service oxidized-reload.service - služba pro restartování oxidized-reload.timer - restartuje oxidized vždy ve 3 hodiny ráno
Konfigurační soubory pro oxidized
- Ve složce /srv/oxidized se nachází:
router.db - obsahuje seznam nodů, stačí přidat a oxidized si konfigurační soubor sám aktualizuje config - nastavení oxidized samotného git.repos - samotné bare repozitáře všech konfigurací files - poslední verze konfiguračních souborů v jednoduchých souborech
Testovací instance oxidized-test
- Dostupná (pokud běží) na https://netconf.civ.zcu.cz/oxidized-test v lokaci /root/docker/oxidized-test a /srv/oxidized-test slouží pro ladění jednotlivých modulů a funkcionalit.
Příklad úpravy komponenty v oxidized-test
- Změny provedené uvnitř containeru nejsou zpravidla persistentní, proto je třeba sestavovat containery s novou verzí
- V projektu pro oxidized upravíme kód komponenty pro získávání konfigurace pro dell switche /rootdocker/oxidized-test/oxidized_build/oxidized/lib/oxidized/model/dellx.rb.
- Sestavíme container ve složce /root/docker/oxidized-test pomocí docker-compose build
- Spustíme pro testovací potřeby docker-compose down && docker-compose up
- Ṕokud řešení funguje, můžeme aplikovat do ostré verze
- Úpravy do ostré verze v rámci git projektu /rootdocker/oxidized-test/oxidized_build/oxidized zadokumentujeme pomocí git add -A && git commit -m "..."