Skip to content

Commit

Permalink
add documentation
Browse files Browse the repository at this point in the history
Signed-off-by: Romy <[email protected]>
  • Loading branch information
romayalon committed Dec 10, 2024
1 parent 0c351c0 commit c738967
Showing 1 changed file with 142 additions and 0 deletions.
142 changes: 142 additions & 0 deletions docs/NetworkAnalyzerDocumentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Network Analyzer Documentation

## Overview
The `Network Analyzer` is a diagnostic tool designed to verify and ensure the connectivity and functionality of various services within your system.

It performs the following checks:

- **Ping Tests**:
- Ping to specific IPs.
- Ping to DNS addresses.
- **DNS Resolution**:
- Perform `nslookup` for specified domains.
- **HTTP Requests**:
- Send `curl` requests to specified endpoints.
- **S3 Connectivity**:
- Test HTTP and HTTPS connectivity to S3-compatible storage services.
- **AWS Services**:
- Check HTTPS connectivity to:
- **STS** (Security Token Service).
- **IAM** (Identity and Access Management).
- **Metrics**:
- Test HTTP connectivity for metrics endpoints.
- **RPC Requests**:
- Send RPC requests to the management service.
- **Database Connectivity**:
- Verify HTTP connectivity to database endpoints.
- **Deployment-Specific Checks**:
- Validate connectivity in non-containerized deployments to the child forks of the endpoint primary process.

---


## Run on Containerized environment
1. There are 2 options:

a. Run from noobaa-core pod -
```bash
oc rsh noobaa-core-0
node src/tools/diagnostics/analyze_network.js
```
b. Run via noobaa operator CLI -
```bash
noobaa diagnostics analyze network
```


## Run on Non Containerized environment
1. Run via noobaa-cli :
```bash
noobaa-cli diagnose network --deployment_type=nc 2>/dev/null
```


## Example -
```json
> noobaa-cli diagnose network --deployment_type=nc 2>/dev/null
{
"response": {
"code": "NetworkStatus",
"reply": {
"forks_info": {},
"analyze_network_res": [
{
"service": {
"service": "S3_HTTP",
"hostname": "hostname1",
"port": 6001,
"secure": false
},
"analyze_service_res": {
"nslookup_status": {
"status": "OK"
},
"ping_dns_status": {
"status": "OK"
},
"ping_ip_status": {
"status": "OK"
},
"curl_status": {
"status": "OK"
},
"analyze_service_func_status": {
"status": "OK"
}
}
},
{
"service": {
"service": "S3_HTTPS",
"hostname": "hostname1",
"port": 6443,
"secure": true
},
"analyze_service_res": {
"nslookup_status": {
"status": "OK"
},
"ping_dns_status": {
"status": "OK"
},
"ping_ip_status": {
"status": "OK"
},
"curl_status": {
"status": "OK"
},
"analyze_service_func_status": {
"status": "OK"
}
}
},
{
"service": {
"service": "METRICS",
"hostname": "hostname1",
"port": 7004,
"secure": false
},
"analyze_service_res": {
"nslookup_status": {
"status": "OK"
},
"ping_dns_status": {
"status": "OK"
},
"ping_ip_status": {
"status": "OK"
},
"curl_status": {
"status": "OK"
},
"analyze_service_func_status": {
"status": "OK"
}
}
}
]
}
}
}
```

0 comments on commit c738967

Please sign in to comment.