Files
hp-iac/CHEATSHEET.md

79 lines
2.5 KiB
Markdown

# HPE 1810 switch scraper — cheat sheet
## Innan du kör något
```bash
source ~/code/venvs/hpe/bin/activate
cd ~/code/experiments/hpe
```
Alla kommandon nedan behöver `NO_PROXY` satt (annars går trafiken via er proxy och 502:ar):
```bash
export NO_PROXY=192.168.2.10
```
(sätt den en gång per terminal-session, eller lägg i `~/.zshrc`)
**Stäng switchens webb-UI i webbläsaren** innan du kör skript — den tillåter bara en inloggad session åt gången.
## Konfiguration (`config.py`)
Läses från miljövariabler, med defaults för dagens switch:
```bash
export SWITCH_HOST=192.168.2.10 # default
export SWITCH_HTTPS=false # default; sätt till "true" om switchen kräver HTTPS
export SWITCH_PASSWORD="" # default (ingen); sätt om switchen får ett lösenord
```
Bara sätta de du behöver ändra — resten faller tillbaka på nuvarande värden.
## Köra en extraktor
```bash
python -m extractors.port_summary
python -m extractors.system_description
python -m extractors.network_setup
python -m extractors.buffered_log
python -m extractors.lldp_statistics
python -m extractors.log_configuration
python -m extractors.backup_manager
```
Var och en loggar in (eller återanvänder cachad session), hämtar, skriver ut, och flaggar sig som "Implemented" i `TODO.md`.
## Kombinera flera i eget skript
```python
import switch_client
from extractors.port_summary import get_port_summary
session = switch_client.get_session()
ports = get_port_summary(session)
```
Logga in **en gång**, återanvänd `session` för alla anrop.
## Menyupptäckt / TODO.md
```bash
python discover.py # skanna om menyn, uppdatera TODO.md
python discover.py --dump-html ./out # + spara rå HTML för felsökning
```
Fyll i `y` i "Want it?"-kolumnen i `TODO.md` för sidor du vill ha en extraktor för.
## Felsökning
| Symptom | Orsak | Åtgärd |
|---|---|---|
| `RuntimeError: Login failed...` | Webb-UI:t öppet i en flik, eller nyss inloggad från annan process | Stäng fliken / vänta ~5 min (session-timeout) |
| `502 Bad Gateway` | Proxy fångar trafiken | `export NO_PROXY=192.168.2.10` |
| Vill tvinga ny inloggning | Cachad session krånglar | `switch_client.get_session(force_login=True)` |
| Rensa cachad session helt | — | `rm .session_cookie` |
## Lägga till en ny extraktor
Alla sidor delar samma HTML-mönster — kolla `extractors/xe_page.py`. Kopiera en befintlig extraktor (t.ex. `system_description.py`), byt `PATH` och tabellnamnet i `tables["..."]`.