Commit Graph

44 Commits

Author SHA1 Message Date
Samuel Angebault
a7e602501c Use sha1sum instead of shasum for portability (#1113)
sha1sum is a better option to use since it is part of the coreutil package.
shasum is owned by perl which might not always exist on the host system.
2017-11-03 14:36:26 -07:00
Ying Xie
41f226f0dc [build] capture 2 initialization git commands in 'make init' target (#1074) 2017-10-24 19:49:37 -07:00
Shuotian Cheng
27cac94da7 [Makefile]: Fix unmatched variable name ENABLE_SYNCD_RPC (#1032)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-11 17:46:26 -07:00
Rodny Molina
b5eb0c2ce2 [Makefile] Allowing interactive session with the slave docker-container (#903)
* Fixing a couple of issues to enable FRR to run with latest SONiC code.

* Adjusting FRR's jinja template to meet latest sonic-cfgen requirements. Basically, i'm just extending #448 changes into FRR.

* Eliminate FRR's integrated-config file to prevent daemons from bypassing their own config files. FRR daemons now default to an integrated-config file for config-parsing purposes. But we are still interested in having each daemon looking in their specific config file (bgpd.conf, zebra.conf, etc). So here i'm just deleting this integrating-config file to prevent FRR from running from a bogus config-file.

* Allows interactive session with the slave docker-container after conclusion of the building process.

Proposed changes provide a more direct access to the building pipeline,
by allowing users to launch consecutive compilation tasks from the same
slave container.
2017-09-22 00:57:23 -07:00
lguohan
d3997f4a35 [sonic-slave]: SLAVE_TAG should be for both Dockerfile and Dockerfile.user (#950)
Should rebuild both Dockerfile and Dockerfile.user when any of the two
files change.
2017-09-09 15:22:52 -07:00
Marian Pritsak
afbf1ee2fb [sonic-slave]: Split user commands from generic. (#868)
In case when more than one user builds SONiC on same machine, we can
keep generic part that installs all packages to slave image apart from
creating user and calling user-related commands. Then generic base image
will be built only once, allowing other users to build only smaller
specific to them layers.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-08-08 10:21:54 +03:00
Marian Pritsak
1c165067af [Makefile]: Remove lockfile before build (#847)
In case previous build was forcefully stopped, we need to remove screen
lock so that build won't be stuck.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-07-27 07:52:12 +03:00
Marian Pritsak
7cf8479182 [Makefile]: Set build directory as docker workdir (#832)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-07-24 12:29:36 +03:00
Marian Pritsak
bc4ee14340 [Makefile]: Automatically deduce pseudo-TTY option (#830)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-07-24 10:52:51 +03:00
lguohan
3fd2014e93 [sonic-mgmt]: move sonic-mgmt docker build into sonic-slave (#819)
need to install sonic-device-data into sonic-mgmt docker
2017-07-19 08:10:45 -07:00
Taoyu Li
5e6620e19e [bgp] Save bgp admin state (#690)
* [bgp] Save admin state and set default state to shutdown

* Set default behavior to no shutdown

* Add build option SHUTDOWN_BGP_ON_START

* Script change for default admin state to be on

* Address CR comments to bgp_neighbor script

* Fix script bug
2017-06-12 11:05:22 -07:00
Marian Pritsak
520fff5b2d Add ENABLE_SYNCD_RPC option (#642)
Under rules/config now there's additional configuration option
ENABLE_SYNCD_RPC that allows building SONIC installer with
docker-syncd-*-rpc for evaluation purposes.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-05-30 16:17:03 -07:00
lguohan
6c24574e9f [mgmt]: add sonic-mgmt docker for running test in sonic-mgmt repo (#606)
* [mgmt]: add sonic-mgmt docker for running test in sonic-mgmt repo
2017-05-18 16:54:48 -07:00
lguohan
2e9b92e1c1 [build]: allow to customize USERNAME and PASSWORD in command line (#492)
* [build]: allow to customize USERNAME and PASSWORD in command line

* use default password and username if not specified in the command line
2017-04-12 11:23:48 -07:00
Marian Pritsak
6dbe979e5f [build]: Include SONiC version into installer. (#472)
* [build]: Include SONiC version into installer.

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Append dirty if contains local changes

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Update config

* Use correct name for kernel version field

* Update sysDescription.j2
2017-04-05 16:14:41 -07:00
lguohan
0ed9b3ce28 [platform]: remove sku from build parameter (#350)
different sku will be contained in a single one sonic image.
no longer need to specify sku at the build time
2017-03-01 17:05:13 -08:00
Marian Pritsak
7d10892dce [Makefile]: Add --no-cache to docker build (#352)
Option was removed by mistake in 38b9eb1829

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-01 14:25:44 -08:00
Marian Pritsak
38b9eb1829 [Makefile]: Automatically rebuild sonic-slave (#338)
sonic-slave is not built upon every make call, because it
takes a lot of time. So in order to track changes hash of
Dockerfile is included to sonic-slave image.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-01 11:00:59 -08:00
Taoyu Li
40fdde5749 Allow enabling dhcp graph service by cmdline input (#322) 2017-02-22 17:21:03 -08:00
Taoyu Li
f5b2dccee9 Allow build image with local changes for debug purpose (#247)
* Allow build with local change for debug purpose
Uncomment DEBUG_BUILD = y in rule.mk/config to enable local build
2017-02-14 16:56:08 -08:00
lguohan
afe3fbf82f make tty as an option in docker run (#225) 2017-01-31 11:47:52 -08:00
Oleksandr Ivantsiv
34ea91349c one image implementation (#215)
* Single image

* Fix review comments

* Update syncd service. Add HW mgmt to Mellanox single image.

* Add single image template for Broadcom platform.

SKU should be provided during configure:
make configure PLATFORM=broadcom SKU=Force10-S6000

* Add single image template for Cavium platform.

SKU should be provided during configure:
make configure PLATFORM=cavium SKU=AS7512

* Add description to sonic_debian_extension.j2 file.
2017-01-29 11:33:33 -08:00
Marian Pritsak
e9098b99fb Build improvements (#80)
* Build improvements

Fix dependencies
Add configuration options
Automatically build sonic-slave

* Set default number of jobs to 1

* Auto generate target/debs directory

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Automatically remove sonic-slave container after exit

* Silence clean-logs

* Add SONIC_CLEAN_TARGETS to clean

* Use second expansion for clean dependencies

* Avoid creating empty log files

Remove log file on flush instead of writing empty string

* Put dpkg install inside lock

Use same lock as debian install targets do to avoid
race condition in dpkg installation

* Remove redirect to log from docker save

* Add .platform dependency to all and clean targets

* Remove header and footer from clean targets

* Disable messages for SONIC_CLEAN_TARGETS

* Exit with error if dpkg-buildpackage fails

* Set new location for debs in build_debian.sh

* Add recipe for docker-database

* Update redis version to 3.2.4

* Add support for p4 platform

* Add recipe for snmpd

* Add slave targets to phony and make all target default

* Remove build.sh from thrift

* Add versioning to team, nl, hiredis and initramfs

* Change sonic-slave to support snmpd build from sources

* Remove src/tenjin

* Add recipe for lldpd

* Add recipe for mpdecimal

* Remove hiredis directory on rebuild

* Add recipe for Mellanox hw management

* Remove generic image from all targets for Mellanox

* Add support for python wheels

* Add lldp and snmp dockers

* Sync docker-database to include libjemalloc

* Fix asyncsnmp variable name

* Change default build configuration

Redirect output to log files by default
Set number of jobs to nproc value
Do not print dependencies
Fix logging to print log of failed job into console

* Use docker inspect to check if sonic-slave image exists

* Use config in slave.mk directly

* Disable color output by default

* Remove sswsdk dependency from lldp and snmp dockers

* Fix comment in py wheels install targets

* Add dependency between two versions of sswsdk

* Add containers to mellanox platform

lldp, snmp and database containers

* Add recipe for team docker

* Add team docker to mellanox platform

* Encrypt password passed to build_debian.sh

* Update mellanox SAI version

Make version and revision setting only in main recipe

* Fix error handling in makefiles

As makefiles use .ONESHELL we should add -e
option to shell options in order to exit after any command fails

* Add recipe for platform monitor image

* Add platfotm monitor to mellanox targets

* Ignore submodules when building base image
2016-12-05 11:12:19 -08:00
Shuotian Cheng
6888eb74b2 dockers: Add docker-platform-monitor to make all (#87) 2016-11-30 15:44:54 -08:00
Qi Luo
f83460bdb7 Add Makefile target: lldp/snmp docker images (#74)
* Add sonic-dbsyncd submodule

* Add sonic-py-swsssdk submodule

* Add lldpd submodule

* Add sonic-snmpagent submodule

* Add Makefile target: lldp/snmp docker images

* Fix docker-snmp-sv2.gz dependency

* Add lldp/snmp sources to the top level targets
2016-11-23 16:18:35 -08:00
lguohan
14c86bbd25 remove applibs_*.deb to fix mlnx build (#70) 2016-11-21 17:25:45 -08:00
Qi Luo
f8524e74f5 Fix dependencies in Dockerfiles (#65) 2016-11-11 12:09:25 -08:00
Qi Luo
75d7987dda Fix build: Makefile (#63)
* Fix Makefile: libnl and libteam dependencies

* Fix rule for docker-orchagent deps (brcm)

* Install libteam libs by the right order
2016-11-10 14:41:29 -08:00
Oleksandr Ivantsiv
0d10feca11 Added libteam5 package to orchagent docker to resolve instalation dependencies. (#62) 2016-11-07 08:57:59 -08:00
Oleksandr Ivantsiv
0b80c625c4 Fix issue with team docker build (#59)
Added required docker-team dependency to Makefile to copy dep packages
to dockers/docker-team/deps/ directory. Changed order of deb packages
installation to fix dependency issue.
2016-11-04 10:17:12 -07:00
jiacao
afab1ae4ee Fix Quagga build name inconsistency (#53) 2016-11-02 12:05:31 -07:00
Qi Luo
e89c7be76d Install redis-server>=3.2.4 in docker-database image (#46)
* Install redis-server>=3.2.4

* Reformat

* Build redis from source code

* Add Makefile var: REDIS_VERSION
2016-10-31 21:50:59 -07:00
Shuotian Cheng
515346abf4 Dockerfile: Add libsaimetadata dependency (#42)
* Dockerfile: Add libsaimetadata dependency
* Makefile: Add saimetadata
2016-10-26 15:19:41 -07:00
Marian Pritsak
51fa77fa8d Automatic fw upgrade for mlnx platform (#31)
* Automatic fw upgrade for mlnx platform

Implement script for firmware upgrade to required version
Add firmware binary and script to ops-syncd-mlnx container
Add pciutils and usbutils to sonic-generic.bin

* Update firmware installation message

It is possible to do both upgrade and downgrade
Change "Upgrading" to "Installing compatible version"

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2016-10-18 11:40:20 -07:00
Shuotian Cheng
4373c518cf libteam: Adding build.sh script and docker-team (#18) 2016-10-07 10:41:44 -07:00
Denys Haryachyy
144114c301 Makefile : Added swss and libnl into cavm orchagent dependencies (#24)
* Makefile : Added swss and libnl into cavm orchagent dependencies

* docker-orchagent/start.sh : Removed Cavium specific copp config
2016-10-02 19:25:58 -07:00
lguohan
7c0ff3e9e3 build p4-based sonic docker (#14)
* add docker-sonic for p4 switch

* update build instructions
2016-09-28 11:15:02 -07:00
Shuotian Cheng
10e403d7c4 Add platform dependency swss (#16) 2016-09-27 17:25:48 -07:00
Qi Luo
f09a554f9a Fix rules in Makefiles (#15) 2016-09-27 16:50:29 -07:00
Denys Haryachyy
9c3b7ccaf7 Add support for cavium SAI (#5) 2016-09-25 21:48:25 -07:00
Shuotian Cheng
59d13d0feb Makefile: Use swss_*.deb file to for docker-orchagent (#10) 2016-09-23 11:57:16 -07:00
John Arnold (AZURE)
4843e0671f Changed ACS references to SONiC in image, added timestamp to base image volume label 2016-09-07 18:36:14 -07:00
Qi Luo
d5d7168f10 Top level Makefile will build docker-database 2016-08-29 11:45:57 -07:00
Qi Luo
e4bd20c18a Squash merge master (11de390) 2016-08-04 10:39:33 -07:00