-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Enable P4RT at build time and disable at startup #10499
Conversation
@ntoorchi can you add some time and space comparisons? |
a309172
to
3ba6bff
Compare
Commenter does not have sufficient privileges for PR 10499 in repo Azure/sonic-buildimage |
/azpw run |
/AzurePipelines run |
You have several pipelines (over 10) configured to build pull requests in this repository. Specify which pipelines you would like to run by using /azp run [pipelines] command. You can specify multiple pipelines using a comma separated list. |
/azp run broadcom |
Commenter does not have sufficient privileges for PR 10499 in repo Azure/sonic-buildimage |
/azpw run broadcom |
/AzurePipelines run broadcom |
No pipelines are associated with this pull request. |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
@ntoorchi can we rebuild this, or do we know why the build failed? |
/AzurePipelines run Azure.sonic-buildimage |
Commenter does not have sufficient privileges for PR 10499 in repo sonic-net/sonic-buildimage |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks @ntoorchi, Was this re-based to be at the most recent sonic-buildimage? I'm not sure how to tell if it was, but marvell_armhf doesn't seem to have an issue on the mainline. |
@rhalstea no this is not rebased recently, but I tried on a locally rebased sonic-buildimage too. This looks like a syntax error in the |
Thanks, |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
@rhalstea all checks passed! |
LGTM |
@qiluo-msft, @zhangyanzhao can you please review this PR or assign someone to review? The goal is to include the P4RT at the build time. However it is disabled by default at the runtime. The PR also includes a fix to the slave.mk in order to pass marvell_armhf build. |
Share the same concern: can you add some time and space comparisons? |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks @qiluo-msft for reviewing. I am trying to use Azure Pipeline artifacts as references but build time and size usually varies by time. In general, I have noticed build time is quite comparable, and there is some increase in size due to adding P4RT. Pipeline it is taking a long time (or failing) at this moment. But the Comparing size of downloaded artifact with the one from the commit 9750cb4, there is slightly increase in size due to adding P4RT. We have disabled some of the debugging tools to minimize the overhead.
Please let me know if you have any specific comparison in mind. |
The image sizes increases by ~10M. |
I'm trying to understand the requirement here. From my perspective, it looks like enabling PINS adds ~10MB to the switch image that we deploy. This seems like a very small impact to users, and it will be great to have PINS in the image to enable more users to try it out without rebuilding. The ~400MB is the build time artifacts on a machine that likely has 1TB+ available. Personally, I don't see a problem with this, but if there is concern, we can just add a step to remove intermediate artifacts from the PINS build before they are stored in the CI system. What do you think? |
I see your point and refine my last comment. The size of build time artifacts is not a concern. ~10M of image size increasing is still a valid concern. @lguohan do you have any comment? |
Thanks @qiluo-msft for your comment. As @bocon13 mentioned, enabling PINS would be valuable as currently many vendors are trying it out. It will be more convenient if it's present in the image, encouraging more users to trying it. |
Since PINS introduction last year, multiple organizations have been working on different use cases. We are also in the path of upstreaming tests. As a percentage of image size, the 10M is quite small. For this size, this container brings in a critical functionality of SDN and remote controllability. |
Please solve the conflicts. |
Why I did it The extra spaces cause the error "recipe commences before first target. Stop."
Thanks Qi, I rebased and resolved the conflict but the pipeline builds are failing at this moment. |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks @ntoorchi @qiluo-msft and @xumia, The build and test look good. Can we merge this? |
Why I did it
Currently at the Azure build system, the P4RT container is disabled by default at the build time. Here the goal is to include the P4RT container at the build time while disabling it at the runtime. The user can enable/disable the p4rt app through the config based on the preference.
How I did it
Changed the config in rules/config and init-cfg.json.j2
How to verify it
Which release branch to backport (provide reason below if selected)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)