-
Notifications
You must be signed in to change notification settings - Fork 144
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
docs(parameters): add DevOps Dojo: ROS Node Config documentation #367
docs(parameters): add DevOps Dojo: ROS Node Config documentation #367
Conversation
Updated the guidelines for how to configure the ROS node parameters. Signed-off-by: Kasper Mecklenburg <[email protected]> Change-Id: Icef28c52c0876c294a8d8d39edb8d1d4fc1d9538
I noticed that pre-commit.ci made some changes I think this decreases readability and shouldn't be used for the JSON schema either. Is this how we want it to be implemented? |
Thank you for your contribution! What is the current status of this PR? Is it ready for review? |
@kaspermeck-arm thanks for the PR!
|
It refactors them based on length. |
Change-Id: I9393e34fedf6e9b00001f5b123e5c625f6dbaee6
:kaspermeck-arm/autoware-documentation into HEAD Change-Id: Ib8af3860583023e6925787de95c80502527ecf1d
@kminoda, thanks for your comments! @xmfcx, thanks for your comments! |
You can ignore them, they can be fixed later. Right now all
Thanks for working on this, I will review as soon as possible. |
@@ -1,36 +1,150 @@ | |||
# Parameters |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DevOps Dojos is the way we structure work in the Open AD Kit WG. Each dojo addresses a certain topic, in this case the ROS parameters.
Find our Kanban board here.
Just as a general comment, I found the guideline a bit hard for the developer to understand what they should do when they write parameter related codes.
|
|
||
Autoware has the following two types of parameter files for ROS packages: | ||
## JSON Schema |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As an developer who have not followed the AWF DevOps discussions, here are some high level comments on this modification:
- Could you elaborate more on the background of this documentation? As a newbie in this discussion, I could not get the whole idea until following the latest thread in this PR (especially the comment by mitsudome-san). Maybe adding some phrase like "to have a single source of truth" helps. IMHO this section should concisely answer why this JSON Schema is added in the first place.
- Putting this section at the very top of this page is confusing. Consider moving this section to the last of this page or creating a separate page for this.
Comments are also welcome from @kaspermeck-arm and others as well!
Thank you for your engagement on this topic! I would like to propose the following:
Working in parallel will enable us to make progress faster! What do you think? |
I suggest that we merge this PR as it is as it is a big change from the current coding guidelines. If you would like to change the order of the sections, create a PR with the proposed changes. @xmfcx has agreed to this approach, see https://discord.com/channels/953808765935816715/953877118415151205/1113117316843044974. Can we agree on this approach and merge this PR? |
@mitsudome-r @xmfcx At least two reviewers have pointed this out. Is there any reason you want to ignore this and merge? I can't understand why they would refuse to make a simple change, just swap the order of the chapters. |
Having the definition in place prior to creating the parameter file is also an option, there is nothing wrong with it, it's a preference. And I do want to highlight that the coding guidelines have already been approved. I am not opposed to making changes to the coding guidelines once this PR has been merged. The purpose is to make it easier for the developers. Once merged, we can ask the community for feedback on the topic of usability and iterate on the coding guidelines until the community is satisfied with them. |
@kaspermeck-arm |
@kaspermeck-arm |
@isamu-takagi If you are concerned to have a page that might be potentially confusing for some people, maybe I can create a PR to Kasper's documentation before merging his. |
@mitsudome-r I'm just saying follow the normal review process. According to Autoware's guidelines, it's the pull request owner's job to reflect the reviewer's comments. But if you specifically allow merging this PR, that's fine. I will update later. However, if this is accepted for everyone, the pull request guidelines will not work. |
@isamu-takagi, thanks for your concern. We have discussed this in Open AD Kit call today with @kaspermeck-arm.
@kaspermeck-arm, for the second point, I would leave it up to you how you make the changes in the end, but here are some of my suggestions:
|
Signed-off-by: kaspermeck-arm <[email protected]> Change-Id: I8b2fee98c497037d3293e70747bb162b9a640895
@isamu-takagi @kminoda @mitsudome-r Thanks for the discussion and correspondence! I've made updates to the coding guidelines as was decided in the Open AD Kit WG meeting today (June 21st). |
@kaspermeck-arm Thank you for updating. The latest documentation makes it easier to understand the benefits of schema files. I wait for @mitsudome-r -san's approval. |
Signed-off-by: kaspermeck-arm <[email protected]> Change-Id: Ie5f412f11ac96f6a389dca814dee755deeb231bf
@kaspermeck-arm
|
@taikitanaka3 - Since a few weeks ago, GitHub Actions have been put in place to validate the schema and the parameter file. Regarding the code review, what's expected from the owner is:
The rest should be handled by the CI and owner of the PR. How does this sound? |
…owarefoundation#367) Signed-off-by: kaspermeck-arm <[email protected]> Change-Id: I8b2fee98c497037d3293e70747bb162b9a640895 Signed-off-by: guiping meng <[email protected]>
@kaspermeck-arm
|
@taikitanaka3 We proposed schemas in the OpenAD Kit with @kaspermeck-arm and others. Schema is the description of the parameter file. You explain the parameter file to a computer. What is the type, what are allowed values, what is its structure? Of course, it will be longer than the instance. I think your first concern is a misunderstanding of the purpose of the schema files. The second is more about safety culture. Previously parameter files have been unchecked, uncontrolled, and untested. This is a safety problem. Think the schema is a safety belt in your vehicle. No one likes a safety belt until there happens a crash, and it saves your life. The infamous example of the Ariane5 rocket crashed in 1996 because of a single type error in their software. Maintainers are responsible for not letting this happen for Autoware. If we tell them in that way, they would immediately start to learn the correct format and every other safety feature we will introduce. |
I thought I addressed your two concerns in my comment above. To me this sounds like you and @isamu-takagi would benefit from understanding schemas better. I would recommend exploring https://json-schema.org/learn/ which has very useful information about |
Updated the guidelines for how to configure the ROS node parameters.
Description
Updating coding guidelines for the ROS node parameters according to the decision made in _DevOps Dojo: Ros Node Config _ see DevOps Dojo: ROS Node Configuration - Update Parameter Contribution Guidelines
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.