500 Internal Server Error when specifying incorrect prefix for oxide system networking bgp announce
#6517
Labels
networking
Related to the networking.
Milestone
I am running a4x2 with:
1059fe109fadbccf559e4adad134eaffcb67b85a
I was testing the commands in https://docs.oxide.computer/guides/operator/expanding-connectivity for a second time, where I slightly modified the IP addresses for the first run, and further modified the .json file names and IP addresses for the second run.
Initial state:
Then I tried to run a modified version of one of the examples, but I did not properly modify it in full (modified the
--address-lot
, but forgot to modify the--prefix
).Above provided arguments fail to satisfy the requirements as described in the help output:
The prefix
203.0.113.0/24
I provided is not available in the given address lotcloud-pool2
. From above output, we see that address lotcloud-pool2
has addresses203.0.153.x
. Also, see below observations that the prefix203.0.113.0/24
is already in the specified announce set.On a4x2 g3:
I was able to fix my earlier mistake by providing the correct
--prefix
, and the command went through successfully and did not return any error messages.Additionally, the error message shown in the nexus log above is due to the fact that the prefix is already in the bgp announcement list (output below was taken after running the above command with the corrected prefix):
Rather than a 500 Internal Server Error as displayed above, a more useful error message could be propagated to the user, so that user knows what to correct (in this case, the user might want to know that the requirement "It is required that the prefix be available in the given address lot." has not been satisfied, and/or that the provided prefix is already in the specified announce set).
=====
Upon further investigation, I see that the requirement "It is required that the prefix be available in the given address lot." is not enforced/validated.
I tried running the following command where the provided prefix is not in the given address lot.
The above command went through successfully with no error messages, and resulted in the following state:
=====
I also tried providing a non-existing address lot. The following command went through with no error messages returned.
Resulting state:
Just to fully show that the address lot does not exist:
The text was updated successfully, but these errors were encountered: