Skip to content
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

Could SONIC provide the offline build package? #2042

Open
fillmorechen0928 opened this issue Sep 13, 2018 · 10 comments
Open

Could SONIC provide the offline build package? #2042

fillmorechen0928 opened this issue Sep 13, 2018 · 10 comments
Assignees

Comments

@fillmorechen0928
Copy link

Could SONIC provide the offline build package?

It takes too long to build current SONIC project.

If there's some issue from open source or network problem, it takes much more time to build code.

It's very annoying to users and developers.

Regards,
Fillmore

@xinliu-seattle
Copy link
Contributor

@fillmorechen0928 do you want a full image already built or you are looking for packages to download so that you can build your own image?

@yxieca yxieca self-assigned this Sep 21, 2018
@yxieca
Copy link
Contributor

yxieca commented Sep 22, 2018

@fillmorechen0928

I am writing this message to you with assumption that you want to have shorter build time. If this is not what you are looking for, please let me know your requirements.

We have been working on and will continue working on improve build velocity. Currently, with some constraints, you have some tricks to speed up your build.

  1. If you don't change kernel, then you can choose to download kernel instead of building kernel from scratch (building kernel takes 1 hour or so), By specifying "KERNEL_PROCURE_METHOD=download", you can download pre-built kernel package to save an hour. How much you can actually save depends on how fast you can download the package.

  2. Start build with more than 1 jobs by specifying "SONIC_BUILD_JOBS=", I use 20 jobs as my regular practice on a 8 core virtual machine. How much you can gain depends on your build machine. With this approach though, there are constraints:
    a. you can only build one build image at a time, you can either build sonic-.bin, or sonic-aboot-broadcom.swi, you can NOT build more than one installer at a time.
    b. there are some race condition in parallel build. It some times fails, you can re-issue build command to pass (I didn't have to do this very often).

In my experience, using kernel download could save me 1 hour, on top of that, with 20 jobs, I can build a sonic installer in 90-ish minutes. This is not the best, but it is much better than 4-5 hours of full build time with single thread. We are continuing making it better. Please let us know if you have improvement suggestions.

Thanks & Regards,
Ying

@fillmorechen0928
Copy link
Author

@xinliu-seattle , I want to build my own image.

@fillmorechen0928
Copy link
Author

fillmorechen0928 commented Sep 25, 2018

@yxieca
Not only It takes too long to build current SONIC project.

If there's some issue from open source or network problem, it takes much more time to build code.

For example, issue 2040

It cause the build code process break down. The docker image must rebuild again and again.

Regards,
Fillmore

@fillmorechen0928
Copy link
Author

fillmorechen0928 commented Sep 28, 2018

Could docker images prebuilt for SONIC?

When users build a SONIC project, the docker images just pull from docker hub.

Thanks & Regards,
Fillmore

@jeromesun14
Copy link
Contributor

jeromesun14 commented Oct 31, 2018

I am working on this for long. Sometimes I cannot even git clone code from github. Several ways to optimize build time:

  1. Host all the things in your LAN, e.g. tarball, git repos, debian mirror, pypi mirror, docker jessie image, and so on. It's a large work...
  2. Use host docker to build docker images other than docker build in docker container. And you have to clean your host docker images after building.
  3. Like @yxieca mentioned above, cache your build result last time. We may call it sonic SDK. But I still cannot optimize build_debian.sh, it takes about 20 minutes every time I build sonic-xxx.bin. But it doesn't matter, as a developer, we build xxx.deb more often than sonic-xxx.bin.

@stcheng
Copy link
Contributor

stcheng commented Sep 19, 2019

you could get all the build packages from the Jenkins server.

@yxieca yxieca assigned stcheng and unassigned yxieca Sep 19, 2019
@larryming
Copy link

Is this issue resolved? I am interested in the solution.

@DACRepair
Copy link

I just came around to looking at SONiC. I cannot access the builds, so I am assuming others cannot as well.
image

@bluecmd
Copy link
Contributor

bluecmd commented Jan 30, 2022

You can get the latest software builds from:

judyjoseph added a commit that referenced this issue Feb 22, 2022
sonic-swss

1aa40f7 Remove port serdes object before removing port (#2152)
876d690 [doc] Updating Policer config in Configuration manual (#2144)

sonic-utilities
dfed952 show_platfom_info not run for simx (#2042)
71fdee7 [aclshow] fix aclshow when clear is called before counters are populated (#2037)
a48a027 [sonic-package-manager] implement blocking feature state change (#2035)
c51871d [ci] Fix python dependencies reference path. (#2060)
qiluo-msft pushed a commit that referenced this issue Feb 22, 2022
```
Commits on Jan 31, 2022
[sonic-package-manager] implement blocking feature state change (#2035) 

Commits on Feb 12, 2022
[ci] pipeline fixes for VS test (#2059) 

Commits on Feb 14, 2022
[ci] allow download partially succeeded suilds for sonic-swss-pytests… 
[build] allowPartiallySucceededBuilds true in the step of download so… 

Commits on Feb 16, 2022
[config] Fix snmpagentaddress doesn't support the uppercase letters f… 

Commits on Feb 17, 2022
[ci] Fix pipeline on build_and_install_module (#2074) 
Enable diff coverage and set the threshold to 50% (#2061) 

Commits on Feb 18, 2022
check for adding default vlan attempt added (#2075) 
[GCU] Adding unit-test where path and ref paths are under the same YA… 
[GCU] Turning port admin down before some critical port changes (#1998) 

Commits on Feb 20, 2022
show_platfom_info not run for simx (#2042) 
[aclshow] fix aclshow when clear is called before counters are popula… 
```
taras-keryk pushed a commit to taras-keryk/sonic-buildimage that referenced this issue Apr 28, 2022
What I did
'show techsupport' on simx devices is generating errors when running "show_platform_info".
Added a check to not run show_platform_info for simx devices.

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants