Commit Graph

45 Commits

Author SHA1 Message Date
kram
ee659f06f6 merge with Azure master (12/12/17) 2017-12-12 20:07:42 -08:00
lguohan
f4e37a66f9 add INSTALLS, LAZY_INSTALLS, DEPENDS targets to image build (#1159)
1. _INSTALLS defines the packages to be installed in the image
at the build time.
2. _LAZY_INSTALLS defines the packages to be installed in the image
at the first run time
3. _DEPENDS defines the packages to at the build dependency of
the image
2017-11-16 12:27:03 -08:00
Nadiya
a73065a2cb [cavm]Update sai revision and packet driver (#914)
Signed-off-by: Nadiya Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-08-24 23:46:14 -07:00
Joe LeVeque
f49cac086f Remove extra trailing newlines at EOF (#804)
Files now end with a single newline
2017-07-12 20:54:37 -07:00
Nadiya
18627bcf36 Update cavium xpnet driver (#792)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-07-07 10:24:20 -07:00
Nadiya
ca8fa7a32e Update cavium libsai (#793)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-07-07 10:24:06 -07:00
Nadiya
94c550a3a8 [cavium]: Update cavium libsai (#655)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-06-01 10:54:15 -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
1b2b7b8e35 [docker-swss]: mount /var/log/swss into the docker (#640)
Fix the bug introduced by commit e6bb4b20a1
The previous commit mount /var/log into the docker which override
the original /var/log directory structure, causing swss docker failed to
start due to following errors.

Error: The directory named as part of the path /var/log/supervisor/supervisord.log
does not exist.
2017-05-27 16:05:21 -07:00
Shuotian Cheng
e6bb4b20a1 [swss]: Update submodules and mount /var/log to swss docker (#636)
- [swss]: Update sairedis/swss/common submodules
- [orchagent]: Mount /var/log folder and use the folder to save recording files
- [orchagent]: Use -d to specify the folder path
2017-05-26 17:56:29 -07:00
pavel-shirshov
f3312b8e0b [docker-ptf-*]: Use buildimage infrastructure to build docker-ptf-* (#638)
* Add files to build docker-ptf-{platform}
2017-05-26 17:18:11 -07:00
Joe LeVeque
338e4e8839 Syncd docker builds now depend on docker-config-engine (#634) 2017-05-25 13:18:32 -07:00
Joe LeVeque
a2eda30a03 [docker-syncd-*]: Properly manage syncd with supervisord (#617)
- This PR allows supervisord to log syncd exit events to syslog 
 - Syncd dockers now are built from docker-config-engine instead of docker-base
 - Supervisord in all syncd dockers now call syncd_start.s which is installed by sonic-sairedis repo
2017-05-24 11:53:38 -07:00
pavel-shirshov
aab87757d3 Remove sysctl setting which is not used anymore (#611) 2017-05-18 14:45:16 -07:00
Nadiya
a7fbd775c6 [platform] Add as7512 sfp/eeprom utils (#531)
* Cavm platfrom modules insmod on start

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>

* Add as77512 platform utils

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>

* Move platform related init to platform modules

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-05-18 00:59:54 -07:00
Joe LeVeque
d5c13c0a83 [dockers]: Disable autorestart on all supervisor processes inside containers (#580) 2017-05-09 17:37:08 -07:00
Joe LeVeque
8f348399f5 [Dockers]: Manage all Docker containers with Supervisord (#573)
- Consolidate config.sh and start.sh scripts into one script (start.sh)
 - Solve issue #435 - All dockers now run supervisord as their ENTRYPOINT
 - All stdout/stderr output from processes managed by supervisord is now sent to syslog instead of their own files
 - Supervisord log messages are now also sent to syslog
 - Removed unused smartmontools package from docker-platform-monitor
2017-05-08 15:43:31 -07:00
pavel-shirshov
14578d50e2 [docker-syncd-rpc]: Fix the issue which prevented supervisord to start (#555)
service syncd start blocks docker-syncd-rpc start.sh script
and supervisord doesn't start. so start supervisor in daemon mode
2017-04-28 22:48:50 -07:00
pavel-shirshov
2c4c6e9ceb Use syncd-rpc for docker-syncd-rpc (#522)
* Use syncd rpc for docker-syncd-rpc. Create docker-syncd-rpc for cavium and centec
2017-04-20 14:37:09 -07:00
Rodny Molina
d30fbf1d72 [build]: Adding support for Free-Range-Routing stack. (#510)
- Extending SONiC building infrastructure to provide users
           with greater flexibility, by allowing them to elect a
           routing-stack different than the default one (quagga). The desired
           routing-stack will be defined in rules/config file.

         - As part of these changes I'm adding support for
           Free-Range-Routing (FRR) stack. Quagga will continue to be
           the default routing-stack.

Signed-off-by: Rodny Molina <rodny@linkedin.com>
2017-04-20 09:12:27 -07:00
Nadiya
6f04867954 [oneimage] Add cavium packet driver (#469)
* [oneimage] Add cavium packet driver

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>

* Rename cavm_platform_modules.mk and cavm_xpnet.mk to fit naming convetion

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>

* Allow dpkg -i for cavm_xpnet

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-04-03 19:13:29 -07:00
Nadiya
a0c80d8a41 Update cavium libsai (#470)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-04-02 23:43:57 -07:00
pavel-shirshov
814fd87e63 Remove /var/run/rsyslogd.pid bofore starting rsyslog (#453) 2017-03-29 18:07:25 -07:00
pavel-shirshov
75272f4bbf [libsaithrift]: Add libsaithrift debian packages (#443)
* add saithrift library for brcm, mlnx, cavm, centec platforms
2017-03-28 11:32:58 -07:00
Shuotian Cheng
e2cc409f8a [database]: Mount /var/run/redis/ folder from host for all dockers (#418)
- Create /var/run/redis/ folder on the host
- Install Python client for Redis on the host
- Mount /var/run/redis/ as read/write from host for all dockers
- Enable accessing the database everywhere including on the host and from remote

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-23 12:18:52 -07:00
Shuotian Cheng
6a6bc88dcb [interfaces]: Remove bridge-utils from swss docker and add it to base image (#417)
The reason is that /etc/network/interfaces file is in base image. After booting,
docker-swss is not ready and thus the empty VLAN interfaces cannot be created
when the brctl is pointing to the binary inside the swss docker.

Add the bridge-utils into the base image and add bridge_ports none to the
/etc/network/interfaces file so that after boot-up the empty VLAN interfaces
will be created to let the members to join later.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-20 21:39:09 -07:00
Shuotian Cheng
05e6b3611d [interfaces]: Combine vlan_interfaces and lag_interfaces file and add allow-hotplug (#381)
* [files]: Add allow-hotplug stanza to interfaces files

- start interface <interface_name> when the kernel detects
a hotplug event from the interface

ref: https://www.debian.org/doc/manuals/debian-reference/ch05.en.html

* [interfaces]: Combine vlan_interfaces and lag_interfaces file and add allow-hotplug

1. Remove vlan_interfaces and lag_interfaces file and members in teamd.j2
2. Add all interfaces to /etc/network/interfaces file
3. Add allow-hotplug stanza
4. Add up <command> to automatically add interfaces to VLAN and LAG
5. Add unique_name filter to minigraph.py to remove duplicate interface names
6. Add brctl to base image
7. Update sonic-swss submodule

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-16 11:22:40 -07:00
Marian Pritsak
4c65682478 [orchagent]: Add swssloglevel shortcut in base image (#386)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-07 23:00:58 -08:00
lguohan
aed03d6dd5 [gobgp]: do not install docker-fpm-gobgp into one image (#366)
* [gobgp]: do not install docker-fpm-gobgp into one image but build docker-fpm-gobgp on different platforms
2017-03-03 08:43:22 -08:00
pavel-shirshov
a845740543 [All Dockerfiles]: Prevent apt asking questions on the console (#300)
Add noninteractive setting into every Dockerfile in the repo

Signed-off-by: Pavel Shirshov pavelsh@microsoft.com
2017-02-16 21:48:49 -08:00
lguohan
b6753e7960 [docker-config-engine]: introduce docker sonic config engine (#274)
* [docker-config-engine]: introduce docker sonic config engine

sonic config engine provide the sonic configure engine for all sonic
dockers that rely on the engine to generate runtime configuration.
2017-02-07 18:11:19 -08:00
Nadiya
2358678497 Add operational script, accton_as7512_util.py, for device initializatian and peripheral accessing (#265)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-02-05 22:17:25 -08:00
Taoyu Li
60e1fc3c98 ONEImage - Read all platform dependent information from sonic-config-engine (#238)
Read all platform dependent information from sonic-config-engine
2017-02-02 20:34:34 -08:00
Oleksandr Ivantsiv
4ce17b100f Install orchagent and syncd containers to Broadcom and Cavium images (#227) 2017-02-01 00:09:02 -08:00
lguohan
1786a3389d rename single image to one image (#220)
* rename single image to one image
2017-01-31 22:06:12 -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
Oleksandr Ivantsiv
80d0d2d43b Reduce docker images size. (#196)
* Reduce docker images size.

Install only required dependencies.

* Update Dockerfile.j2
2017-01-19 12:19:21 -08:00
Nadiya
ae4b72e866 [platform]: Add rules to build cavium platform modules (#186)
* Added rules to build cavium platform modules
* Use correct kernel version

Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-01-12 18:04:19 -08:00
Nadiya
a0281f8069 Added profile.ini into docker-syncd-cavm (#184)
Signed-off-by: Nadiya.Stetskovych <Nadiya.Stetskovych@cavium.com>
2017-01-05 10:14:46 -08:00
Denys Haryachyy
57dd634935 platform/cavium : Download SAI libraries from Xpliant github repo (#183) 2017-01-05 10:14:03 -08:00
Denys Haryachyy
8bdb59b5b0 platform/cavium : Download debian packages (#162)
* platform/cavium : Download debian packages

* platform/cavium : Removed obsolete Makefile rules

* platform/cavium : Replaced branch name with commit id
2016-12-28 12:34:41 -08:00
Denys Haryachyy
057eea8496 docker-syncd-cavm : Changed template method to jinja2 (#161)
* Cavium support in the new build infrastructure

* Added a file with a list of cavium debian packages

* docker-syncd-cavm : Added SAI and XDK libraries

* docker-syncd-cavm : Removed redis-tools from docker template

* docker-syncd-cavm : Changed templating method to jinja2

* docker-syncd-cavm : Install libjemalloc1
2016-12-26 16:16:52 -08:00
Denys Haryachyy
b8825498da Added rules to build syncd and orchagent containers for Cavium target (#152)
* Cavium support in the new build infrastructure

* Added a file with a list of cavium debian packages

* docker-syncd-cavm : Added SAI and XDK libraries

* docker-syncd-cavm : Removed redis-tools from docker template
2016-12-23 15:26:51 -08:00
Shuotian Cheng
e3b126893b [makefile]: Exclude p4 from building generic platform dockers (#155) 2016-12-22 21:32:07 -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