Currently when quads --validate-env is run we get the following return data when network validation fails on one or more internal interfaces/networks:
Verifying badfish credentials for: f09-h23-000-r760.example.com
Verifying badfish credentials for: f09-h25-000-r760.example.com
Verifying badfish credentials for: f09-h27-000-r760.example.com
Starting network test
There was something wrong with your request
The following IPs are not responsive:
172.21.37.26
172.21.39.88
172.21.38.23
172.16.36.235
172.16.37.26
172.16.39.88
172.21.36.235
172.16.38.23
Quads assignments validation executed.
This isn't immediately useful, we need to determine host(s) this maps too, luckily there is a formula with QUADS.
for example: 172.21.37.26 if substituted for the first two octets of the network address used for the routed, public interface for the host 10.1 replaces 172.xx then we get the IP address of the system.
From there we know what host(s) have issues:
# host 10.1.37.26
26.37.1.10.in-addr.arpa domain name pointer f09-h25-000-r760.example.com
However, what is not easily determined is what the host's physical interface this IP address belongs to that is failing the check. We could put this together using an conditional check that "for every host that has a network validation failure, log the hostname and then use an async paramiko SSH call to determine the physical interface name"
Ideally our logger output should look this as an example.
The following hosts are not responsive:
172.21.37.26 on f09-h25-000-r760.example.com (interface: enp1s0)
Because network design and ranges may vary with QUADS deployments we probably want a prefix in /opt/quads/conf/quads.yml so we can substitute our DNS lookup command without querying each host's FQDN to extract it.
public_network_prefix: 10.1
Currently when
quads --validate-envis run we get the following return data when network validation fails on one or more internal interfaces/networks:This isn't immediately useful, we need to determine host(s) this maps too, luckily there is a formula with QUADS.
for example:
172.21.37.26if substituted for the first two octets of the network address used for the routed, public interface for the host10.1replaces172.xxthen we get the IP address of the system.From there we know what host(s) have issues:
However, what is not easily determined is what the host's physical interface this IP address belongs to that is failing the check. We could put this together using an conditional check that "for every host that has a network validation failure, log the hostname and then use an async paramiko SSH call to determine the physical interface name"
Ideally our logger output should look this as an example.
Because network design and ranges may vary with QUADS deployments we probably want a prefix in
/opt/quads/conf/quads.ymlso we can substitute our DNS lookup command without querying each host's FQDN to extract it.