Report a bug
Issues or, in IT jargon, "bugs" are found in any software project. VyOS is not an exception.
All issues should be reported to the developers. This lets the developers know what is not working properly. Without this sort of feedback every developer will believe that everything is working correctly.
- 1 I have found a bug, what should I do?
- 2 It is a bug and want to report it
- 3 Enhancement requests
- 4 Bug example
I have found a bug, what should I do?
Verify that it is a bug.
When you believe you have found a bug, it is always a good idea to verify the issue prior to opening a bug request.
- Consult the documentation to ensure that you have configured your system correctly.
- Get community support from user groups.
- Ask questions on the IRC.
Ensure that the problem is reproducible
When you are able to verify that it is actually a bug, spend some time to document how to reproduce the issue. This documentation can be invaluable. When you wish to have a developer fix a bug that you found, helping them reproduce the issue benefits everyone. Be sure to include information about the hardware you are using, commands that you were running, any other activities that you may have been doing at the time. This additional information can be very useful.
- What were you attempting to achieve?
- What was the configuration prior to the change?
- What commands did you use?
The output you get when you find a bug can provide lots of information. If you get an error message on the screen, copy it exactly. Having the exact message can provide detail that the developers can use. Like wise if you have any log messages that also are from the time of the issue, include those. They may also contain information that is helpful for the development team.
One handy command is the "show tech-support". This will provide detailed information that can be used while troubleshooting. One way to do this is to save it directly to an FTP or SCP server that you have. You can use the following format to export the "show tech-support" file.
show tech-support save ftp://user:password@host/path/to/file
Note: "show tech-support" includes complete configuration, so it's likely to have a lot of sensitive information, so be very careful when uploading it somewhere, especially to public resources, including the bugzilla.
If your issue is with a specific command such as OSPF, use the output of that command instead. This provides a smaller set of information for the developers to review.
If you suspect some feature is not handling traffic correctly (e.g. dropping sessions it should not or corrupting packets), attach a traffic dump. You can do this right on your router by using operational command like
show interfaces ethernet eth0 capture
It is a bug and want to report it
Create an account on the VyOS bugtracker. VyOS bugtracker is at bugzilla.vyos.net.
Then log in and follow "New" link from the top panel. You will get a report form you should fill.
Write a summary
Make it short and clear. Like "IPv6 interface route can not be deleted when configured". Avoid phrases like "not working" (unless the feature is really not working at all which is not seen in stable releases).
Write a description
Description is a place for detailed information about but. Write what you have found on the previous step: what is the bug and how to reproduce it.
Do not overestimate it. There are not as important bugs for you as your own, but severity is is set from the point of view of users in general.
General guideline for choosing severity is the following:
- Text: Typos or other mistakes in messages the system produces.
- Trivial: Does not break any functionality. E.g. wrong sorting of rule numbers.
- Minor: Causes minor functionality loss, or has easy workaround.
- Major: Causes major functionality loss, workaround is difficult.
- Critical: Breaks feature functioning entirely.
- Blocker: Block release, users can't continue using the system until it is fixed.
Leave it "unassigned" if in doubt, someone of the developers will set it. Do not think bugs with higher severity set by user are viewed or fixed first.
Severity is not the same to priority, it specifies how bad it is but not how important it is. For example, major bugs that appear in a rare use case are likely to be fixed after minor bugs that affect everyone.
Choose the component
This is required. If not sure, try to guess, it can be changed easily in the future.
Add large files as attachments
Click "Add an attachment" button, choose your file and set description. Description is mandatory. Traffic dumps, configuration files or test cases are added this way.
Requests for enhancements or new features are filed similar to bugs, but with severity set to "enhancement". Write your feature suggestion and propose CLI syntax.
Mock example of a bug developers will like.
Components: Foo Severity: Major Description: Foo fails to commit when service-type is set to "bar" Comment: #set service foo rule service-type "bar" #commit Fatal: can't use "bar". Service-type options "quux" and "baz" do not cause errors.