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

Sync to master #6

Merged
merged 161 commits into from
Jan 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
28eb62f
[saip4]: New p4 platform based on SAI behavioral model software switc…
Nov 7, 2017
1ce9b85
[init]: save the initial switch mac to config db (#1125)
lguohan Nov 7, 2017
f7c3972
Restart ntp after ntp-config (#1106)
taoyl-ms Nov 7, 2017
a9a37aa
[py-swsssdk]: Update sonic-py-swsssdk submodule (#1126)
Nov 7, 2017
cb009ba
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-11 (#1127)
Nov 7, 2017
c64d423
[rc.local]: Fix init_cfg.json (#1129)
marian-pritsak Nov 8, 2017
4e367c6
[Arista7260cx3] update port_config.ini for Arista-7260CX3-D108C8 (#1130)
yxieca Nov 8, 2017
8990dc7
[doc]: change build badge url to new build server (#1134)
lguohan Nov 9, 2017
69b8d28
[mellanox]: Update SAI revision (#1135)
marian-pritsak Nov 9, 2017
a69b353
[interfaces.j2] Get mtu value from config DB if provided (#1128)
hzheng5 Nov 10, 2017
764cb91
[Arista7260cx3] Increase /var/log partition size to 4G (#1140)
yxieca Nov 10, 2017
d7969dd
[swss] update swss submodule head (#1141)
yxieca Nov 11, 2017
757ba00
[utilities]: update sonic-utilities submodule (#1143)
qiluo-msft Nov 12, 2017
f18ed0d
[bgp]: Auto-completion, help (?), cmd navigation (up arrow) not worki…
nikos-github Nov 13, 2017
cd4b11c
[build]: add build badge for broadcom and mellanox on 201709 release …
lguohan Nov 13, 2017
bf1bb06
[swss]: update sonic-swss submodule (#1146)
lguohan Nov 13, 2017
aa09bdc
[docker-orchagent]: ADD PFC Broadcom recommended MMU Settings (#1136)
vharish02 Nov 13, 2017
3e03df7
Fixed sfputil show eeprom information is empty on SFP ports. (#1145)
wadelnn Nov 13, 2017
a6edef2
[docker-teamd]: Manage teamd and teamsyncd processes with supervisor …
jleveque Nov 13, 2017
50b4868
[vs]: update virtual switch (#1148)
lguohan Nov 13, 2017
f48ba0e
[vs]: install py2_ipaddress correctly (#1151)
lguohan Nov 14, 2017
6284452
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-12 (#1150)
Nov 14, 2017
803c263
[baseimage]: Subnet route added for management interface (eth0) - "fi…
prsunny Nov 14, 2017
cea87e9
Add docker-router-advertiser to support IPv6 router advertisements (#…
jleveque Nov 14, 2017
a99b5e9
[installer] FIX. ONIE installer error issue: (#1152)
pollyhsu2git Nov 15, 2017
d376506
[make] Introducing build option SOURCE_FOLDER (#1155)
yxieca Nov 16, 2017
c93c008
Revert "[docker-teamd]: Manage teamd and teamsyncd processes with sup…
Nov 16, 2017
e784aaf
[submodule update] update swss, swss-common and sairedis submodules (…
yxieca Nov 16, 2017
f4e37a6
add INSTALLS, LAZY_INSTALLS, DEPENDS targets to image build (#1159)
lguohan Nov 16, 2017
9e12678
[docker-syncd-mlnx-rpc]: Configure send and receive buffers for PTF a…
Nov 17, 2017
343597c
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-13 (#1161)
Nov 17, 2017
2a69f37
[Arista7260cx3] fancontrol configuration file (#1163)
yurypm Nov 17, 2017
223a38c
Update isc-dhcp source to v4.3.3-6; create new patch against it (#1164)
jleveque Nov 17, 2017
eef4a89
[swss]: Update sonic-swss submodule (#1165)
Nov 18, 2017
df529ef
[baseimage]: fix mac address calculation on mellanox and centec platf…
lguohan Nov 20, 2017
b8e5c9f
[Mellanox]: Add Mellanox-SN2700 symlink (#1169)
qiluo-msft Nov 20, 2017
dc9f19e
[swss]: Update swss/sairedis submodules (#1172)
Nov 21, 2017
1f9107d
[DHCP relay]: Wait for all interfaces to be assigned IPv4 addresses b…
jleveque Nov 21, 2017
c5eba7d
[baseimage]: Fix racing condition between updategraph and rc.local (#…
taoyl-ms Nov 22, 2017
2176400
[Aboot] Declare flash_size for all platform (#1171)
Staphylo Nov 22, 2017
0f903d0
[Accton]: Add a new supported platform, AS5712-54X (#1167)
pollyhsu2git Nov 22, 2017
6d0329a
Move QoS configuration to Config DB (#1178)
andriymoroz-mlnx Nov 22, 2017
617b3e4
Add service to config hostname based on configdb (#1174)
taoyl-ms Nov 22, 2017
ded9fbb
[Mellanox]: Update FW to 13_1534_0164 (#1180)
marian-pritsak Nov 23, 2017
dd7e924
[dockers] Remove dependency to minigraph (#1179)
taoyl-ms Nov 24, 2017
7f25b94
[aboot]: Add setfacl in the initramfs (#1185)
Staphylo Nov 25, 2017
98fbddf
[kernel]: update kernel to 3.16.43 (#1181)
lguohan Nov 27, 2017
8602360
[platform] Add a new supported platform, Delta-ag9032v1 (#1168)
nealtai Nov 27, 2017
b7c2ffa
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-15 (#1186)
Nov 28, 2017
6e57e1d
[FRR]: Fix FRR tempelate for router-id (#1187)
zhenggen-xu Nov 28, 2017
33d5e93
[devices]: Update 6000, 6100, 7050 QOS configurations (#1191)
yxieca Nov 29, 2017
51dfa17
[Ingrasys] Update platform configuration files (#1194)
cytsai0409 Nov 29, 2017
d39dd39
Move tcpdump into /usr/bin Otherwise it's impossible to run tcpdump d…
pavel-shirshov Nov 30, 2017
397f513
[platform] Accton AS7712-32X. Update for sensors and sfputil (#1197)
roylee123 Nov 30, 2017
73e4204
[device/accton]: Update Accton-AS5712_54X minigraph (#1196)
pollyhsu2git Nov 30, 2017
b907e4e
[vs]: add vlan configuration support in virtual switch (#1200)
lguohan Nov 30, 2017
414e43b
[build]: start docker service if not already started (#1203)
lguohan Dec 2, 2017
db7fcd8
[submodule]: update swss, swss-common, sairedis submodules (#1206)
lguohan Dec 4, 2017
7e45756
[mellanox]: Update Mellanox buffer profiles config (#1198)
andriymoroz-mlnx Dec 4, 2017
2e31a38
[LLDP] Send interface name instead of mac as PORT_ID for mgmt interfa…
taoyl-ms Dec 4, 2017
744927a
Derive varlog size based on total flash size (#1209)
prsunny Dec 6, 2017
eb08681
Install more debs for python3 in sonic-slave (#1211)
qiluo-msft Dec 6, 2017
3d70b71
[sonic-cfggen] add option for redis connection (#1213)
Dec 7, 2017
4213b2d
[sonic-utilities]: Final code-drop for interface-description and inte…
rodnymolina Dec 7, 2017
8383b1f
[TACACS+]: Add support for TACACS+ Authentication (#1019)
Dec 7, 2017
d9c0ede
[Broadcom]: Update Broadcom SDK/SAI package (#1205)
Dec 7, 2017
c4f7cd3
[Ingrasys]: Update QSFP monitor CoPP test and sensors config (#1202)
wadelnn Dec 7, 2017
4b2225b
[docker-snmpd]: asyncsnmp depends on sonic-utilities so it is possibl…
qiluo-msft Dec 7, 2017
2276333
Added PSU util for Mellanox platforms, updated sonic-utilities submod…
qiluo-msft Dec 8, 2017
1859f53
[swss]: Fix missing comma in the ports.json.j2 file (#1217)
Dec 8, 2017
e589894
[config-engine]: Change minigraph.py permission from 0755 to 0644 (#1…
Dec 8, 2017
6feff95
[device/arista]: Add MAX6697 sensor for Arista 7060CX-32S (#1210)
Dec 8, 2017
5ca798d
[arista]: Unify labels for Arista sensors (#1216)
prsunny Dec 8, 2017
5184def
[dell]: Added psuutil support for S6100/Z9100 Dell Platforms (#1223)
lguohan Dec 9, 2017
9dc8562
[device/arista] Add psuutil plugin for Arista platforms (#1221)
Staphylo Dec 9, 2017
b9a0ef8
[utilities]: Update sonic-utilities and sonic-py-swsssdk submodule (#…
Dec 9, 2017
aa77f63
[submodules]: update sonic-swss and sonic-swss-common (#1215)
lguohan Dec 9, 2017
389c3e1
[mellanox]: Update MLNX SAI pointer (#1226)
andriymoroz-mlnx Dec 11, 2017
60e0295
[Dell]: Change Dell psuutil.py file to work with Python 3.* (#1231)
Dec 12, 2017
69d6ad5
[snmpagent]: Update sonic-snmpagent submodule (#1232)
Dec 12, 2017
e0af519
[p4]: Updated p4 bm (#1228)
Dec 12, 2017
dce6d35
[TACACS+]: Add configDB enforcer for TACACS+ (#1214)
Dec 12, 2017
a47b934
Update sonic-utilities reference (ecnconfig) (#1225)
andriymoroz-mlnx Dec 12, 2017
79f7904
[snmpagent]: Update sonic-snmpagent submodule (#1234)
qiluo-msft Dec 13, 2017
2571cb5
[DHCP relay]: Fix bug which could cause incorrect interface name asso…
jleveque Dec 13, 2017
a2af29a
Fixed D7054 missing front-panel port Interfaces (#1236)
loshihyu Dec 14, 2017
9f54aed
[sonic-utilities]: update sonic-utilities submodule (#1237)
lguohan Dec 14, 2017
1c0c3ff
[Dell S6100]: EEPROM plugin overrides serial_number_str() to return s…
jleveque Dec 15, 2017
db7f173
[Accton AS7712] Add sfp reset in driver and sfputil.py. (#1241)
roylee123 Dec 15, 2017
46a6534
[device/Arista] Add fancontrol config for all Arista platforms (#1242)
Staphylo Dec 16, 2017
2abdf8d
[libteam] Add fallback support for single-member-port LAG (#1118)
hzheng5 Dec 16, 2017
52e0797
[broadcom]: update sai to 3.0.3.3-1 (#1243)
lguohan Dec 17, 2017
c90e9be
[swss]: update swss submodule (#1244)
lguohan Dec 17, 2017
0a4c888
[sonic-py-swsssdk]: Update submodule pointer (#1253)
marian-pritsak Dec 19, 2017
f0d59cb
[DHCP relay]: Fix circuit ID and remote ID bugs (#1248)
jleveque Dec 19, 2017
6e05b67
[device/accton] Correct exception function name (#1249)
pichuang Dec 19, 2017
ab2d066
[snmp]: Save S/N in state DB prior to starting service (#1246)
marian-pritsak Dec 20, 2017
64602ad
[DHCP relay]: Add patch to always undef VLAN_TCI_PRESENT so as not to…
jleveque Dec 20, 2017
b57cfd7
[arista] Delete sysfs entries for all Arista Digital Power Monitor/Ma…
yurypm Dec 20, 2017
ee58ee2
[build] make second Accton Debian package extra package of the first …
yxieca Dec 20, 2017
eadd74f
[build] allow user to override the default number of build jobs (#1255)
yxieca Dec 20, 2017
db49660
Add set/get lpmode and mode_rst feature for qsfp (#1261)
jostar-yang Dec 21, 2017
c898a04
[sudoers] Add 'docker ps' to READ_ONLY_CMDS (#1259)
jleveque Dec 21, 2017
ee73cde
Add 'make reset' target with warning prompt to reset git repo and sub…
jleveque Dec 21, 2017
63de341
[Platform] Add Ingrasys S9130-32X and S9230-64X with Nephos Switch AS…
kaiyu22 Dec 22, 2017
683562c
[Accton AS7816-64X] Add new platform and device for AS7816-64X. (#1260)
roylee123 Dec 22, 2017
15d433d
[build]: allow to use http(s) proxy in the build (#1265)
lguohan Dec 24, 2017
5c40aa5
[build]: add build badge for nephos platform (#1267)
lguohan Dec 26, 2017
5eb5e21
[centec]: support sai1.0 (#1268)
Dec 27, 2017
22eea55
[Platform] Add psuutil and update submodule for Ingrasys S9100-32X, S…
wadelnn Dec 29, 2017
08b81f3
[submodules]: Update swss and utilitiles modules (#1276)
pavel-shirshov Jan 3, 2018
41f14fc
[Platform] Add psuutil support for Ingrasys S9130-32X (#1273)
cytsai0409 Jan 3, 2018
f8d32aa
[platform]: As7712 32x add fancontrol (#1270)
roylee123 Jan 3, 2018
b2109b0
Disable autosuspend for USB devices, preventing usb drives to be stop…
pavel-shirshov Jan 3, 2018
39a99e1
[image]: Explicitly specify kernel_version as string (#1280)
taoyl-ms Jan 4, 2018
45bf130
[doc]: update sonic-buildimage clone instructions (#1278)
lguohan Jan 4, 2018
f077f41
Let debootstrap uses the same sources link as apt (#1279)
qiluo-msft Jan 4, 2018
a27b3d5
[platform]: chmod a+x for debian/rules for platform-modules-delta (#1…
lguohan Jan 4, 2018
ffc19d3
[arista]: Update Arista platform modules and mount libraries to snmp …
Jan 5, 2018
32559d4
[platform]: chmod 0644 for *.mk files (#1284)
Jan 8, 2018
16763dc
[mellanox]: Update Mellanox buffers configuration (#1263)
andriymoroz-mlnx Jan 9, 2018
0fffa6c
Add caclmgrd and related files to translate and install control plane…
jleveque Jan 10, 2018
9e2facb
[baseimage]: Install sysfsutils package into SONiC host system (#1290)
pavel-shirshov Jan 10, 2018
6d39e3a
[[submodule]: Update swss-common (#1289)
pavel-shirshov Jan 10, 2018
50f060e
Revert "[DHCP relay]: Add patch to always undef VLAN_TCI_PRESENT so a…
jleveque Jan 10, 2018
8ae3c6c
[Platform]As7712-32x update for sensors test (#1292)
roylee123 Jan 10, 2018
1ceb07a
[Dell S6100, Z9100] psusutil sysfs attribute changes for hwmon (#1264)
Jan 10, 2018
9669b34
Revert "[Dell S6100, Z9100] psusutil sysfs attribute changes for hwmo…
lguohan Jan 11, 2018
41cdb89
[Delta]: Add psuutil support for ag9032v1 (#1298)
nealtai Jan 11, 2018
ac0de13
[Platform] Update switch configuration files and download link for In…
kaiyu22 Jan 11, 2018
47aba6f
[libsaithrift-dev]: Enable building libsaithrift-dev and pythonthrift…
pavel-shirshov Jan 12, 2018
fac28cf
[build]: build libsaithrift-dev and docker-ptf-[platform] (#1300)
lguohan Jan 12, 2018
5c83be5
Add support for Accton AS7712-32X platform (#1299)
jostar-yang Jan 13, 2018
a836fc4
[device]: Fix Mellanox sku check (#1303)
qiluo-msft Jan 13, 2018
292de7d
[submodule]: update sonic-sairedis to enable syncd-rpc (#1304)
lguohan Jan 13, 2018
b8a0a10
[baseimage]: add mkfs.ext3 and fsck.ext3 in initrd to support ext3 pa…
lguohan Jan 16, 2018
8eb4241
[snmpagent]: Update sonic-snmpagent submodule (#1308)
qiluo-msft Jan 16, 2018
6a8062d
[submodule]: Update sairedis (#1310)
pavel-shirshov Jan 17, 2018
c568e8f
[Broadcom]: Update Boradcom SAI package to 3.0.3.3-3 (#1312)
Jan 17, 2018
22a3e48
Run docker containers with /tmp and /var/tmp mounted to tmpfs (#1313)
pavel-shirshov Jan 17, 2018
9d62fbf
[snmpagent]: Update sonic-snmpagent submodule (#1314)
qiluo-msft Jan 18, 2018
6cd3079
[baseimage]: Add missing dependency of igb & ixgbe (#1316)
wendani Jan 18, 2018
134707f
Move platform-specific hardware plugin base packages to sonic-platfor…
jleveque Jan 18, 2018
0fa64cc
[supervisor] Add patch to prevent 'supervisorctl start' command from …
jleveque Jan 18, 2018
8db959d
[sonic-py-swsssdk]: Update submodule pointer (#1319)
qiluo-msft Jan 18, 2018
33157dc
Install azure cli into docker-sonic-mgmt (#1322)
qiluo-msft Jan 18, 2018
163a0e2
[Arista7260cx3] Add platform specific reboot tool (#1318)
yxieca Jan 19, 2018
8cfa223
[scripts]: Fix issues with checking status of the DB. Use one approac…
pavel-shirshov Jan 19, 2018
5e01fb3
Prevent supervisor from restarting configdb-load.sh (#1324)
pavel-shirshov Jan 19, 2018
ab26a5c
Install sonic-platform-common package in platform-monitor docker for …
jleveque Jan 22, 2018
6f12ff2
[minigraph]: Set hostname in all default minigraphs to 'sonic' (#1333)
taoyl-ms Jan 24, 2018
814e50f
Buffers configuration update on port speed change (#1250)
andriymoroz-mlnx Jan 26, 2018
2b91c96
Revert "Buffers configuration update on port speed change (#1250)" (#…
yxieca Jan 26, 2018
da10ff5
[minigraph.py] Only add 'service' field to control plane ACLs, not da…
jleveque Jan 27, 2018
58d8302
Buffers configuration update on port speed change (#1345)
andriymoroz-mlnx Jan 29, 2018
43554c8
[slave.mk]: Clear deb_dist directory (#1344)
marian-pritsak Jan 29, 2018
a8a4c7b
[device]: Remove unused qos.json files (#1315)
Jan 29, 2018
bdbf956
[sonic-utilities] Update submodule (#1346)
jleveque Jan 29, 2018
1d0a57a
[dell]: add psuutil support for s6000 (#1342)
lguohan Jan 29, 2018
474b3f0
[dhcp_relay] make dhcp_relay service depends on teamd as well (#1348)
yxieca Jan 30, 2018
26efb65
[snmpagent]: update sonic-snmpagent submodule (#1350)
qiluo-msft Jan 30, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 15 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,32 @@ target/
# Subdirectories in src
src/hiredis/*
!src/hiredis/Makefile
src/igb/*
!src/igb/Makefile
src/initramfs-tools/*
!src/initramfs-tools/Makefile
src/redis/*
!src/redis/Makefile
src/isc-dhcp/*
!src/isc-dhcp/Makefile
!src/isc-dhcp/patch/
src/libnl3/*
!src/libnl3/Makefile
src/libteam/*
!src/libteam/Makefile
src/snmpd/*
!src/snmpd/Makefile
src/thrift/*
!src/thrift/Makefile
src/sonic-device-data/src/device/
src/sonic-device-data/src/debian/
src/igb/*
!src/igb/Makefile
src/mpdecimal/*
!src/mpdecimal/Makefile
src/python3/*
!src/python3/Makefile
src/redis/*
!src/redis/Makefile
src/snmpd/*
!src/snmpd/Makefile
src/sonic-device-data/src/device/
src/sonic-device-data/src/debian/
src/supervisor/*
!src/supervisor/Makefile
!src/supervisor/patch/
src/thrift/*
!src/thrift/Makefile

# Autogenerated Dockerfiles
dockers/docker-base/Dockerfile
Expand All @@ -46,6 +50,7 @@ dockers/docker-fpm-quagga/Dockerfile
dockers/docker-lldp-sv2/Dockerfile
dockers/docker-orchagent/Dockerfile
dockers/docker-platform-monitor/Dockerfile
dockers/docker-router-advertiser/Dockerfile
dockers/docker-snmp-sv2/Dockerfile
dockers/docker-teamd/Dockerfile
dockers/docker-sonic-mgmt/Dockerfile
Expand Down
18 changes: 12 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@
[submodule "sonic-swss"]
path = src/sonic-swss
url = https://github.com/Azure/sonic-swss
[submodule "src/p4-switch/switch"]
path = platform/p4/p4-switch/switch
url = https://github.com/krambn/switch
[submodule "src/p4-bmv2/behavioral-model"]
path = platform/p4/p4-bmv/behavioral-model
url = https://github.com/krambn/behavioral-model
[submodule "src/p4c-bm/p4c-bm"]
path = platform/p4/p4c-bm/p4c-bm
url = https://github.com/krambn/p4c-bm
Expand Down Expand Up @@ -56,6 +50,9 @@
[submodule "platform/broadcom/sonic-platform-modules-ingrasys"]
path = platform/broadcom/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys
[submodule "src/sonic-platform-common"]
path = src/sonic-platform-common
url = https://github.com/Azure/sonic-platform-common
[submodule "src/sonic-platform-daemons"]
path = src/sonic-platform-daemons
url = https://github.com/Azure/sonic-platform-daemons
Expand All @@ -68,3 +65,12 @@
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/FRRouting/frr.git
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
path = platform/p4/p4-hlir/p4-hlir-v1.1
url = https://github.com/p4lang/p4-hlir.git
[submodule "platform/p4/SAI-P4-BM"]
path = platform/p4/SAI-P4-BM
url = https://github.com/Mellanox/SAI-P4-BM.git
[submodule "platform/nephos/sonic-platform-modules-ingrasys"]
path = platform/nephos/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys-nephos.git
36 changes: 31 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# * USERNAME: Desired username -- default at rules/config
# * PASSWORD: Desired password -- default at rules/config
# * KEEP_SLAVE_ON: Keeps slave container up after building-process concludes.
# * SOURCE_FOLDER: host path to be mount as /var/src, only effective when KEEP_SLAVE_ON=yes
# * SONIC_BUILD_JOB: Specifying number of concurrent build job(s) to run
#
###############################################################################

Expand All @@ -33,10 +35,14 @@ SLAVE_IMAGE = sonic-slave-$(USER)
DOCKER_RUN := docker run --rm=true --privileged \
-v $(PWD):/sonic \
-w /sonic \
-e "http_proxy=$(http_proxy)" \
-e "https_proxy=$(https_proxy)" \
-i$(if $(TERM),t,)

DOCKER_BASE_BUILD = docker build --no-cache \
-t $(SLAVE_BASE_IMAGE) \
--build-arg http_proxy=$(http_proxy) \
--build-arg https_proxy=$(https_proxy) \
sonic-slave && \
docker tag $(SLAVE_BASE_IMAGE):latest $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG)

Expand All @@ -58,9 +64,12 @@ SONIC_BUILD_INSTRUCTION := make \
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
ENABLE_SYNCD_RPC=$(ENABLE_SYNCD_RPC) \
PASSWORD=$(PASSWORD) \
USERNAME=$(USERNAME)
USERNAME=$(USERNAME) \
SONIC_BUILD_JOBS=$(SONIC_BUILD_JOBS) \
HTTP_PROXY=$(http_proxy) \
HTTPS_PROXY=$(https_proxy)

.PHONY: sonic-slave-build sonic-slave-bash init
.PHONY: sonic-slave-build sonic-slave-bash init reset

.DEFAULT_GOAL := all

Expand All @@ -72,7 +81,11 @@ SONIC_BUILD_INSTRUCTION := make \
{ echo Image $(SLAVE_IMAGE):$(SLAVE_TAG) not found. Building... ; \
$(DOCKER_BUILD) ; }
ifeq "$(KEEP_SLAVE_ON)" "yes"
@$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
ifdef SOURCE_FOLDER
@$(DOCKER_RUN) -v $(SOURCE_FOLDER):/var/src $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
else
@$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
endif
else
@$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) $(SONIC_BUILD_INSTRUCTION) $@
endif
Expand All @@ -91,5 +104,18 @@ sonic-slave-bash :
@$(DOCKER_RUN) -t $(SLAVE_IMAGE):$(SLAVE_TAG) bash

init :
git submodule update --init --recursive
git submodule foreach --recursive '[ -f .git ] && echo "gitdir: $$(realpath --relative-to=. $$(cut -d" " -f2 .git))" > .git'
@git submodule update --init --recursive
@git submodule foreach --recursive '[ -f .git ] && echo "gitdir: $$(realpath --relative-to=. $$(cut -d" " -f2 .git))" > .git'

reset :
@echo && echo -n "Warning! All local changes will be lost. Proceed? [y/N]: "
@read ans && \
if [ $$ans == y ]; then \
git clean -xfdf; \
git reset --hard; \
git submodule foreach --recursive git clean -xfdf; \
git submodule foreach --recursive git reset --hard; \
git submodule update --init --recursive;\
else \
echo "Reset aborted"; \
fi
39 changes: 27 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
*master*: Broadcom: [![Broadcom](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all)
Mellanox: [![Mellanox](https://sonic-jenkins.westus.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all)
P4: [![P4](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all)
VS: [![VS](https://sonic-jenkins.westus.cloudapp.azure.com/job/vs/job/buildimage-vs-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/vs/job/buildimage-vs-all)

*201709*: Cavium: [![Cavium](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/)
Centec: [![Centec](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/)
Nephos: [![Nephos](https://sonic-jenkins.westus.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all/)
Marvell: [![Marvell](https://sonic-jenkins.westus.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/)
*master*: Broadcom: [![Broadcom](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all)
Mellanox: [![Mellanox](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all)
Nephos: [![Nephos](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all)
P4: [![P4](https://sonic-jenkins.westus2.cloudapp.azure.com/job/p4/job/buildimage-p4-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/p4/job/buildimage-p4-all)
VS: [![VS](https://sonic-jenkins.westus2.cloudapp.azure.com/job/vs/job/buildimage-vs-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/vs/job/buildimage-vs-all)

*201709*:
Broadcom: [![Broadcom](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201709/)
Cavium: [![Cavium](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/)
Centec: [![Centec](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-all/)
Nephos: [![Nephos](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201709/)
Marvell: [![Marvell](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/)
Mellanox: [![Mellanox](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201709/)

# sonic-buildimage

Expand All @@ -27,12 +31,17 @@ Please refer to [SONiC roadmap](https://github.com/Azure/SONiC/wiki/Sonic-Roadma
## Clone or fetch the code repository with all git submodules
To clone the code repository recursively, assuming git version 1.9 or newer:

git clone --recursive https://github.com/Azure/sonic-buildimage.git
git clone https://github.com/Azure/sonic-buildimage.git

## Usage

To build SONiC installer image and docker images, run the following commands:

cd sonic-buildimage

# (Optional) Checkout a specific branch. By default, it uses master branch
git checkout [branch_name]

# Execute make init once after cloning the repo, or fetched remote repo with submodule updates
make init

Expand All @@ -41,15 +50,19 @@ To build SONiC installer image and docker images, run the following commands:

make

**NOTE**: We recommend reserving 50G free space to build one platform.

**NOTE**:

- We recommend reserving 50G free space to build one platform.
- Use ```http_proxy=[your_proxy] https_proxy=[your_proxy] make``` to enable http(s) proxy in the build process.

The SONiC installer contains all docker images needed. SONiC uses one image for all devices of a same ASIC vendor. The supported ASIC vendors are:

- PLATFORM=broadcom
- PLATFORM=marvell
- PLATFORM=mellanox
- PLATFORM=cavium
- PLATFORM=centec
- PLATFORM=nephos
- PLATFORM=p4
- PLATFORM=vs

Expand Down Expand Up @@ -93,9 +106,11 @@ This may take a while, but it is a one-time action, so please be patient.
- docker-orchagent-brcm.gz: docker image for SWitch State Service (SWSS) on Broadcom platform (gzip tar archive)
- docker-orchagent-cavm.gz: docker image for SWitch State Service (SWSS) on Cavium platform (gzip tar archive)
- docker-orchagent-mlnx.gz: docker image for SWitch State Service (SWSS) on Mellanox platform (gzip tar archive)
- docker-orchagent-nephos.gz: docker image for SWitch State Service (SWSS) on Nephos platform (gzip tar archive)
- docker-syncd-brcm.gz: docker image for the daemon to sync database and Broadcom switch ASIC (gzip tar archive)
- docker-syncd-cavm.gz: docker image for the daemon to sync database and Cavium switch ASIC (gzip tar archive)
- docker-syncd-mlnx.gz: docker image for the daemon to sync database and Mellanox switch ASIC (gzip tar archive)
- docker-syncd-nephos.gz: docker image for the daemon to sync database and Nephos switch ASIC (gzip tar archive)
- docker-sonic-p4.gz: docker image for all-in-one for p4 software switch (gzip tar archive)
- docker-sonic-vs.gz: docker image for all-in-one for software virtual switch (gzip tar archive)

Expand Down
22 changes: 18 additions & 4 deletions build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ touch $FILESYSTEM_ROOT/$PLATFORM_DIR/firsttime

## Build a basic Debian system by debootstrap
echo '[INFO] Debootstrap...'
sudo debootstrap --variant=minbase --arch amd64 jessie $FILESYSTEM_ROOT http://ftp.us.debian.org/debian
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch amd64 jessie $FILESYSTEM_ROOT http://debian-archive.trafficmanager.net/debian

## Config hostname and hosts, otherwise 'sudo ...' will complain 'sudo: unable to resolve host ...'
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '$HOSTNAME' > /etc/hostname"
Expand All @@ -79,6 +79,9 @@ sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '127.0.0.1 localhos
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'echo "proc /proc proc defaults 0 0" >> /etc/fstab'
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'echo "sysfs /sys sysfs defaults 0 0" >> /etc/fstab'

## Setup proxy
[ -n "$http_proxy" ] && sudo /bin/bash -c "echo 'Acquire::http::Proxy \"$http_proxy\";' > $FILESYSTEM_ROOT/etc/apt/apt.conf.d/01proxy"

## Note: mounting is necessary to makedev and install linux image
echo '[INFO] Mount all'
## Output all the mounted device for troubleshooting
Expand Down Expand Up @@ -123,6 +126,8 @@ sudo cp files/initramfs-tools/arista-convertfs $FILESYSTEM_ROOT/etc/initramfs-to
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-premount/arista-convertfs
sudo cp files/initramfs-tools/mke2fs $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/mke2fs
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/mke2fs
sudo cp files/initramfs-tools/setfacl $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/setfacl
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/setfacl

# Hook into initramfs: rename the management interfaces on arista switches
sudo cp files/initramfs-tools/arista-net $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-premount/arista-net
Expand All @@ -142,6 +147,9 @@ sudo chroot $FILESYSTEM_ROOT update-initramfs -u
## Install latest intel igb driver
sudo cp target/debs/igb.ko $FILESYSTEM_ROOT/lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/intel/igb/igb.ko

## Install latest intel ixgbe driver
sudo cp target/debs/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko

## Install docker
echo '[INFO] Install docker'
## Install apparmor utils since they're missing and apparmor is enabled in the kernel
Expand Down Expand Up @@ -208,6 +216,7 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
less \
unzip \
gdisk \
sysfsutils \
grub2-common

sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
Expand All @@ -224,6 +233,8 @@ sudo cp files/sshd/host-ssh-keygen.sh $FILESYSTEM_ROOT/usr/local/bin/
sudo cp -f files/sshd/sshd.service $FILESYSTEM_ROOT/lib/systemd/system/ssh.service
## Config sshd
sudo augtool --autosave "set /files/etc/ssh/sshd_config/UseDNS no" -r $FILESYSTEM_ROOT
sudo sed -i 's/^ListenAddress ::/#ListenAddress ::/' $FILESYSTEM_ROOT/etc/ssh/sshd_config
sudo sed -i 's/^#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/' $FILESYSTEM_ROOT/etc/ssh/sshd_config

## Config monit
sudo sed -i '
Expand Down Expand Up @@ -285,8 +296,8 @@ set /files/etc/sysctl.conf/net.core.rmem_max 2097152
" -r $FILESYSTEM_ROOT

## docker-py is needed by Ansible docker module
sudo LANG=C chroot $FILESYSTEM_ROOT easy_install pip
sudo LANG=C chroot $FILESYSTEM_ROOT pip install 'docker-py==1.6.0'
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT easy_install pip
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install 'docker-py==1.6.0'
## Note: keep pip installed for maintainance purpose

## Create /var/run/redis folder for docker-database to mount
Expand All @@ -310,7 +321,7 @@ sudo cp files/dhcp/dhclient.conf $FILESYSTEM_ROOT/etc/dhcp/
sudo mkdir -p $FILESYSTEM_ROOT/etc/sonic
sudo tee $FILESYSTEM_ROOT/etc/sonic/sonic_version.yml > /dev/null <<EOF
build_version: $(sonic_get_version)
debian_version: $(cat $FILESYSTEM_ROOT/etc/debian_version)
debian_version: '$(cat $FILESYSTEM_ROOT/etc/debian_version)'
kernel_version: $kversion
asic_type: $sonic_asic_platform
commit_id: $(git rev-parse --short HEAD)
Expand All @@ -337,6 +348,9 @@ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get autoclean
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get clean
sudo LANG=C chroot $FILESYSTEM_ROOT bash -c 'rm -rf /usr/share/doc/* /usr/share/locale/* /var/lib/apt/lists/* /tmp/*'

## Clean up proxy
[ -n "$http_proxy" ] && sudo rm -f $FILESYSTEM_ROOT/etc/apt/apt.conf.d/01proxy

## Umount all
echo '[INFO] Umount all'
## Display all process details access /proc
Expand Down
Loading