Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network Analyzer - Operator side #1488

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jackyalbo
Copy link
Contributor

@jackyalbo jackyalbo commented Dec 10, 2024

Explain the changes

  1. Added Network Analyzer tool for testing NooBaa connectivity to services, forks etc on Containerized and Non-Containerized environments.

Run on Containerized environment

  1. Run via noobaa operator CLI -
    noobaa diagnostics analyze network

Example -

Run -

$ noobaa diagnostics analyze network

Output -

{
  "response": {
    "code": "NetworkStatus",
    "reply": {
      "forks_info": {
        "host1": {
          "total_fork_count": 3,
          "responsive_forks": [],
          "error": {
            "code": "ECONNRESET"
          }
        },
        "host2": {
          "total_fork_count": 3,
          "responsive_fork_ids": [
            3,
            1,
            2
          ]
        }
      },
      "analyze_network_response": [
        {
          "service": "S3_HTTP",
          "hostname": "host1",
          "port": 8081,
          "secure": false,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "S3_HTTPS",
          "hostname": "host1",
          "port": 6443,
          "secure": true,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "METRICS",
          "hostname": "host1",
          "port": 7004,
          "secure": false,
          "nslookup_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "ping_dns_status": {
            "status": "❌ FAILURE",
            "error": [
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m",
              "ping_service: ping node failed', host, \u001b[32m'ping: host1: Name or service not known\\n'\u001b[39m"
            ]
          },
          "ping_ip_status": {
            "status": "❌ FAILURE",
            "error": "host is missing undefined"
          },
          "curl_status": {
            "status": "❌ FAILURE",
            "error": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          },
          "service_call_status": {
            "status": "❌ FAILURE",
            "error_output": {
              "errno": -3008,
              "code": "ENOTFOUND",
              "syscall": "getaddrinfo",
              "hostname": "host1"
            }
          }
        },
        {
          "service": "S3_HTTP",
          "hostname": "host2",
          "port": 8081,
          "secure": false,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "S3_HTTPS",
          "hostname": "host2",
          "port": 6443,
          "secure": true,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "⏭️ SKIPPED_TEST"
          }
        },
        {
          "service": "METRICS",
          "hostname": "host2",
          "port": 7004,
          "secure": false,
          "ip": "127.0.0.1",
          "nslookup_status": {
            "status": "✅ SUCCESS"
          },
          "ping_dns_status": {
            "status": "✅ SUCCESS"
          },
          "ping_ip_status": {
            "status": "✅ SUCCESS"
          },
          "curl_status": {
            "status": "✅ SUCCESS"
          },
          "service_call_status": {
            "status": "✅ SUCCESS",
            "metrics_output": {
              "nsfs_counters": {},
              "op_stats_counters": {},
              "fs_worker_stats_counters": {}
            }
          }
        }
      ]
    }
  }
}
  • Doc added/updated
  • Tests added

@romayalon romayalon changed the title adding network analyzer Network Analyzer - Operator side Dec 11, 2024
@romayalon romayalon marked this pull request as ready for review December 11, 2024 10:53
Signed-off-by: jackyalbo <jacky.albo@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant