Commit Graph

2941 Commits

Author SHA1 Message Date
Taoyu Li
42ae02b665 [oneimage]: Fix race condition in systemd container services (#421)
When Type=simple, systemd will consider the service activated immediately
after specified in ExecStart process is started. If there is downstream
service depending on the state prepared in ExecStart, there will be race condition.

For example, issue #390. In this case, database.service calls database.sh, which
calls docker run or docker start -a to start database container. However, systemd
considers database.service successfully started at the time database.sh begins,
not after docker run finishes. As database.service is consider started, bgp.service
can be started. The redis database, which bgp service depends on, might or might not
have been started at this time point.

To fix this issue (and still keeping the functionality to monitor docker status with
systemd), we split the ExecStart process into an ExecStartPre part and an ExecStart
part. docker run is splitted into docker run -d then docker attach , while docker start
-a  is splitted into docker start and then docker attach. In this way, we make sure
the downstream services are blocked until container is successfully started.
2017-03-22 13:26:00 -07:00
Taoyu Li
bd77f9a38a [sonic-cfggen]: Read ACL interfaces information from minigrap (#419)
* Enable translate_acl to read acl attaching from minigraph
* Add AclInterfaces into test t0 graph
* Expose minigraph_ports according
2017-03-21 21:42:07 -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
sihuihan88
0444ca7c34 [submodule]: Update sonic-utilities submodule (#415) 2017-03-20 15:28:49 -07:00
Taoyu Li
7a16e02ec1 [cfggen]: Fix the path to sonic-cfggen due to the path change in #388 (#416)
The path moved from /usr/bin/ to /usr/local/bin due to the installation change from deb to whl
2017-03-20 14:04:18 -07:00
Shuotian Cheng
7b7a61693a [sonic-cfggen]: Add -p option and add teamd.j2 test (#414)
- Add -p --port-config option to feed sonic-cfggen with port_config.ini
  file when necessary.
- Update minigraph.py file to accept the -p option
- Add test_j2files.py test to test config.sh and all .j2 templates
  * Currently test_teamd is added to test both the config.sh and teamd.j2
    file works well with the t0 sample minigraph and sample port config
    file
  * The sample output is added to the folder sample_output for comparison

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-17 21:38:20 -07:00
lguohan
4212efde6c [sonic-utilities]: update sonic-utilities module (#412) 2017-03-17 17:41:23 -07:00
Shuotian Cheng
783be14a5d [minigraph]: Add portchannels/vlans dictionary and update teamd templates (#408)
- minigraph_portchannel_interfaces and minigraph_vlan_interfaces are lists
  of interfaces and the name could duplicate due to multiple IPs
- Add minigraph_portchannels and minigraph_vlans dictionaries to support
  querying port channels and vlans via the name
- Update teamd.j2 template and config.sh file in docker-teamd
- Update zebra.conf.j2 template to add port channel interfaces

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-17 16:48:13 -07:00
Taoyu Li
3643281594 [cfggen] Add tool to translate openconfig acl into sonic format (#388)
* Build sonic-config-engine as whl instead of deb package
* Add tool to translate openconfig acl into sonic format
2017-03-17 14:51:42 -07:00
lguohan
b165ab9e54 [build]: allow install same platform module deb on multiple platforms (#410) 2017-03-17 11:59:07 -07:00
Taoyu Li
e0fd12aa23 [cfggen] Add basic functional test (#375)
[cfggen] Add basic functional test
2017-03-17 11:07:12 -07:00
wadelnn
799f0727a5 Update Ingrasys S9100 submodule (#406)
* Update Ingrasys S9100 submodule

* Modified debian files permission
2017-03-17 02:04:25 -07:00
Qi Luo
36e02f76ee Fix: support submodule patching if provided (#407) 2017-03-16 22:57:30 -07:00
Shuotian Cheng
1e07284e7a [p4]: Add openssh-client and openssh-server to Dockerfile (#405)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-16 22:43:39 -07:00
Qi Luo
74b6c4074b Support submodule patching if provided (#403)
* Support submodule patching if provided
* Replace stg with quilt, working without git branch
2017-03-16 14:24:43 -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
Joe LeVeque
d6bfa505b3 Wait for VLAN interface to come up before starting DHCP relay (#399) 2017-03-16 10:40:33 -07:00
lguohan
096690e626 [snmpagent]: update sonic-snmpagent submodule (#402) 2017-03-16 09:28:14 -07:00
Joe LeVeque
d34cfd04a8 [motd]: Lower-case 'i' in title (#398) 2017-03-15 20:14:28 -07:00
pavel-shirshov
d7c70665de [baseimage]: Add kexec-tools package into the baseimage (#397)
* Include kexec-tools package which could be used for fast reboot

* Use sudo for sed
2017-03-15 18:38:55 -07:00
kaiyu22
62ddedecdc [platform]: Updated syncd.conf for INGRASYS-S9100-C32 (#396)
Signed-off-by: Sam Yang yang.kaiyu@gmail.com
2017-03-15 10:55:16 -07:00
Min Yao
831b10ea26 [Centec] update centec gg sdk3.5 kernel module debian package (#393) 2017-03-14 21:03:30 -07:00
sihuihan88
d3aa07e1de Update sonic-utilities submodule (#395) 2017-03-14 21:03:04 -07:00
Qi Luo
57196aa927 Update submodules (#394) 2017-03-14 18:47:23 -07:00
Qi Luo
567b7901e4 Fix OneImage snmp mount (#392) 2017-03-13 17:37:45 -07:00
kaiyu22
b9bee5dc92 [platform]: Sync hwsku name with INGRASYS-S9100-C32 (#391)
Signed-off-by: Sam Yang yang.kaiyu@gmail.com
2017-03-13 08:31:51 -07:00
Marian Pritsak
0fbbb2be41 [slave.mk]: add procmail to sonic-slave. (#385)
Needed for lockfile utility.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-07 23:11:42 -08: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
Marian Pritsak
fcffbb3ce6 [slave.mk]: Add installer to clean targets. (#384)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-07 22:34:24 +02:00
lguohan
7548c36d77 [build]: set build jobs to 1 by default (#383) 2017-03-07 22:32:39 +02:00
Qi Luo
1491bf9eae [src]: Update sonic-snmpagent submodule (#382) 2017-03-07 02:28:50 -08:00
Taoyu Li
bd6bf1ff9a [config] [oneimage & dhcp relay docker] Move ntp, rsyslog, and dhcp server information into minigraph (#374)
Move DHCP, rsyslog, and NTP server information into minigraph


* Fix dhcp relay template according to CR
2017-03-06 12:41:26 -08:00
Joe LeVeque
5dafa907b2 [dockers]: Add base image files to syncd-brcm, database and teamd (#380) 2017-03-06 12:22:42 -08:00
lguohan
45e5c14729 add badge for centec 2017-03-05 09:46:46 -08:00
lguohan
6cb5925d81 [sairedis]: update syncd init to support centec asic (#379) 2017-03-04 18:02:15 -08:00
Lihua Yuan
7069cefc90 Update README.md 2017-03-04 13:48:36 -08:00
lguohan
32e4655b3c Update build instruction for broadcom platform 2017-03-04 10:11:20 -08:00
Min Yao
b9c624520e Support centec platform (#376) 2017-03-04 02:17:38 -08:00
Nadiya
701d5ddb8a Add cavm saiserver (#137) 2017-03-04 01:56:41 -08:00
Shuotian Cheng
366775a64e [Broadcom]: Update debian package versions (#373)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-03 23:07:23 -08:00
Marian Pritsak
1ba2111111 [teamd]: Add volumes from database in docker-teamd.mk (#369)
teamsyncd requires volumes from database to connect to DB.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-03 16:23:49 -08:00
lguohan
0993ac2188 [swss]: add swssloglevel to change level log on-the-fly (#367)
add swssloglevel to change level log on-the-fly and simplify syncd start logic on multiple platforms
2017-03-03 08:44:11 -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
Oleksandr Ivantsiv
ba0f19ad54 [build_debuian]: Fix issue #267 (docker connect failure). (#365) 2017-03-03 02:26:44 -08:00
lguohan
0f845998bb [sonic-slave]: fix thrift test break introduced in #358 (#364) 2017-03-03 01:33:44 -08:00
lguohan
80e3dc0df7 [device]: add missing sai profile and minigraph for the supported devices (#362)
change orchagent start.sh to use mounted hwsku directory
2017-03-02 23:53:20 -08:00
Shuotian Cheng
f9d8137975 [teamd]: Add redis-tools as the dependency of docker-teamd and fix bugs (#363)
- Fix the if condition bug to wait till PORT_TABLE:ConfigDone before start

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-02 18:07:43 -08:00
Qi Luo
d3891a2a42 Keep pip in the debian image (#356) 2017-03-02 16:04:18 -08:00
Shuotian Cheng
f06dc5d3f9 [teamd]: Update the start.sh script to clean up the docker state (#351)
This change should be temporary because the current teamd cannot
re-create net devices acrosss restart. Basically, it will fail
when there're files in /var/run/teamd/ folder or the previously
created net devices are still there. Thus, the current workaround
is to remove the obsolete files to restart the docker-teamd.

This workaround cannot resolve the swss restart issue. Before
restarting swss, docker teamd needs to be stopped manually. After
swss starts, docker teamd needs to be restarted manually.

This change will only make sure that rebooting the switch will
make the switch at the correct state.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-02 15:59:16 -08:00
Shuotian Cheng
667ef1d766 [libteam]: Add 0002-libteam-Temporarily-remove-redundant-debug-mes.patch (#357)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-02 13:34:37 -08:00