Commit Graph

977 Commits

Author SHA1 Message Date
Marian Pritsak
d597418b6c [rc.local]: Copy saved minigraph if available. (#533)
* [rc.local]: Copy saved minigraph if available.

In case of sonic-to-sonic update old image stores minigraph under /host
directory. Upon first boot this minigraph will be used by new image to
save configuration.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-04-26 11:41:18 +03:00
lguohan
147b89fa43 [sonic-utilities]: update sonic-utilities to use redis-load-dump to dump redis db data (#530) 2017-04-25 11:07:54 -07:00
Joe LeVeque
f28790ce9a [System logs]: Fix logrotate bugs (#535)
- rsyslog logs were being rotated regardless of whether they exceeded their maixmum size. This was due to "-f" flag passed to logrotate in cron job.

- After rotation, /var/log/syslog was never written to again. Instead, logs were written to /var/log/syslog.1. This was due to rsyslog not properly closing the file descriptor to the pre-rotated log.

- Also brought back time-related rotation via the new(er) maxsize option, which performs a boolean OR operation. If the log exceeds the maxsize OR the log hasn't been rotated in the specified, it will be rotated. Using the older size option, the time-based rotation was ignored.

- Also addresses issue #528
2017-04-24 17:55:05 -07:00
lguohan
34adb715df [oneimage]: use loop variable to get image dir in /proc/cmdline for aboot image (#534) 2017-04-24 13:39:29 -07:00
Andriy Moroz
b549adc36c [image]: SONiC-to-SONiC update (#464) 2017-04-21 17:23:36 -07:00
Joe LeVeque
6c202919b3 [System logs]: Eliminate duplicate log messages and attempt rotation more frequently (#520)
* Rename 'ACSFileFormat' -> 'SONiCFileFormat'

* Rename '00-acs.conf' -> '00-sonic.conf'

* Add logrotate.d and systemd-journald config files to image

* Log all SONiC process messages to /var/log/syslog; prevent duplicate logging to /var/log/messages

* Do not redirect cron and daemon logs to their own files, let them log to /var/log/syslog

* Log all teamd messages to /var/log/teamd.log; Add more SONiC program names to SONiC rules clause

* Remove duplicate code by condensing quagga programs into a list; Fix teamd log rule

* Kernel and LPR messages no longer getting duplicated to their own log files

* Now calling logrotate every minute via cron job

* Need full path to logrotate in cron job

* Add '.log' suffix to wildcards, otherwise logrotate will rotate already-rotated logs (e.g., bgpd.log.1.1.1.1.1...)

* Add microsecond granularity to syslog messages

* Don't overwrite system crontab, instead, install additional logrotate crontab file into /etc/cron.d

* Removed incomplete concept of per-process SONiC logs. We can revisit again later
2017-04-21 08:22:44 -07:00
Shuotian Cheng
b305a50a78 [interfaces]: Bring up LAG members before they are enslaved (#505)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-04-13 23:54:44 -07:00
Marian Pritsak
884bd2d467 [mellanox]: Add support for Mellanox MSN2410 (#491)
* [device]: Add support for Mellanox MSN2410
MSN2410 runs on Spectrum silicon and has 56 ports:
48 25GbE and 8 100GbE
* Avoid full path within bash -c

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-04-10 14:36:36 -07:00
lguohan
1458e9ea6b [aboot]: add varlog limit file in aboot image (#487)
* [aboot]: add varlog limit file in aboot image
2017-04-07 15:28:30 -07:00
Shuotian Cheng
eef859baf9 [interfaces]: Do not bring up LAG members when LAG is not up (#480)
- Do not bring up LAG member ports when LAG is not created.
  This is because LAG member ports must be DOWN when joining
  the teamd instances due to teamd design. Therefore, we cannot
  bring up a LAG member port first and then join the port to a LAG.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-04-05 16:22:19 -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
Taoyu Li
e0a3c2aa57 [oneimage] Add ":latest" to docker run script (#477) 2017-04-05 14:20:02 -07:00
Taoyu Li
b0537eab73 [oneimage] Update dhclient.conf (#479)
Add option 226 back and do slight adjustment to make sure the total option amount is not 16.
2017-04-05 13:16:20 -07:00
Shuotian Cheng
bd6976a6fa [interfaces]: Support ifup/ifdown on VLAN/LAG members (#462)
- This change is added so that when doing ifdown/ifup to flap the
  interface, it will success even when the interface is already
  enslaved as a member of VLAN.
- LAG members do not have IP addresses. Thus ifconfig command is
  needed.
- Do not display comments when not necessary.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-04-04 01:41:42 -07:00
Joe LeVeque
b7d2009b14 [base image]: Install SwSS SDK Python 2 package into base image (#461)
* [base image]: Install SwSS SDK Python packages (Python 2 & 3) into base image

* Fix typo in existing variable name

* Only install Python 2 version, as Python 3 is not installed in base image
2017-04-03 23:56:15 -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
Taoyu Li
8c76556efb Re-commit PR #432 (SHA 4546372) (#474)
* [config/acl] Get ACL config from DHCP and load it in swss container (#432)
* Temporarily disable DHCP option 226
2017-04-03 16:12:32 -07:00
sihuihan88
5c8bcef1ac [boot0]:remove no need files before extract image (#460)
* [Aboot]:remove no need files before extract image

Signed-off-by: Sihui Han <sihan@microsoft.com>

* use  and remove boot0 in the check

Signed-off-by: Sihui Han <sihan@microsoft.com>

* change the comments accordingly

Signed-off-by: Sihui Han <sihan@microsoft.com>
2017-03-31 23:51:59 -07:00
Taoyu Li
fed908fc6b [config-engine] minigraph.py refactoring (#448)
* Refactor minigraph.py
See description in https://github.com/Azure/sonic-buildimage/pull/448 for detail
2017-03-30 15:25:31 -07:00
lguohan
94934f7b3b Revert 432 taoyl/acl dhcp (#457)
* Revert "[config/acl] Get ACL config from DHCP and load it in swss container (#432)"

This reverts commit 4546372f48.
2017-03-29 20:11:46 -07:00
Taoyu Li
4546372f48 [config/acl] Get ACL config from DHCP and load it in swss container (#432)
Get ACL config from DHCP and load it in swss container
2017-03-29 13:33:54 -07:00
Taoyu Li
9e8df96ca7 [interface-config] Fix a loopback addr config bug (#437)
Fix a bug introduced in PR 430 that addresses on lo are not configured correctly.
2017-03-24 18:12:44 -07:00
Shuotian Cheng
6308420db9 [swss]: Enforce swss dependency with opennsl-modules (#434)
- This change ensures that when shuting down, opennsl-modules will
  not stop until swss stops. Otherwise it will cause kernel stack
  trace.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-24 16:29:23 -07:00
Shuotian Cheng
5150ed55c7 [interfaces]: Restart networking service after the file is updated (#430)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-03-23 16:30:18 -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
Taoyu Li
a8fdd1f42d [oneimage] Enable forcing mgmt route through minigraph (#424) 2017-03-22 20:13:55 -07:00
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
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
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
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
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
Joe LeVeque
d34cfd04a8 [motd]: Lower-case 'i' in title (#398) 2017-03-15 20:14:28 -07: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
Oleksandr Ivantsiv
ba0f19ad54 [build_debuian]: Fix issue #267 (docker connect failure). (#365) 2017-03-03 02:26: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
Qi Luo
d3891a2a42 Keep pip in the debian image (#356) 2017-03-02 16:04:18 -08:00
Joe LeVeque
4eb549d36f [sonic_cli]: Fix bash completion for 'show' command (#355) 2017-03-02 12:17:04 -08:00
Marian Pritsak
adc296bf6f [rc.local]: Put variables into quotes in conditionals (#361)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-02 10:10:40 -08: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
a8776033bf Merge swss and syncd into single service (#334)
Current implementation of swss and syncd causes a lot
of problems in terms of dependencies and synchronization.
Instead of handling them in separate services, we now
start and stop them both as a single entity.

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-03-01 10:57:35 -08:00
lguohan
b9b7d7a295 [installer]: support platform driver lazy installation (#340)
allow one image to support multiple switch devices, install
corresponding platform driver during the first boot time.
2017-02-27 13:08:41 -08:00
Joe LeVeque
2a551d3c60 Consolidate device-specific files; install as a Debian package (#316)
( All device-specific files now reside under /device directory in a <vendor-name>/<platform-string>/<hardware-SKU> directory structure in repo.

* Device-specific files are now packaged into a Debian package (sonic-device-data) and are now installed to /usr/share/sonic/device/<platform-string>/<hardware-SKU>/ directory on switch.
2017-02-27 00:13:36 -08:00
lguohan
b21d26dfe0 [platform]: add support for Force10-Z9100 32x100G (#332)
* [platform]: add support for Force10-Z9100 32x100G

* update sonic-swss submodule

* [broadcom]: update broadcom sai/sdk
2017-02-24 08:35:11 -08:00
Taoyu Li
873f6f8fb6 [oneimage] Check if graph service address got from dhcp is valid url (#324)
* [oneimage] Check if graph service address got from dhcp is valid url
2017-02-23 13:12:54 -08:00
kaiyu22
b5f9fcae99 [platform]: ingrasys-s9100: Add ingrasys switch s9100 (#318)
Signed-off-by: Sam Yang <yang.kaiyu@gmail.com>
2017-02-22 02:15:39 -08:00
Taoyu Li
073c28bf15 Move template files to /usr/share/sonic/templates (#305) 2017-02-18 17:50:29 -08:00
Taoyu Li
ea372cc7c1 Add get_graph service to fetch minigraph automatically (#288)
- Add a functionality to get SNMP community from DHCP (option 224)
- Add a functionality to get minigraph from http service instead of using default minigraph
  - The url for graph service is passed through DHCP option 225
  - This feature is by default disabled. Modify rule/config to enable it on build time, or modify /etc/sonic/graph_service_url on run time.
- Fix a bug that getting hostname from DHCP is not working correctly
2017-02-17 13:47:01 -08:00
Marian Pritsak
f9f31ed296 [installer]: limit size of /var/log (#284)
Create loop device during installation of
size soecified in config file for machine

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-02-16 23:28:09 -08:00
Samuel Angebault
a962c0b386 [boot0] sync filesystem before kexec (#301) 2017-02-16 22:10:29 -08:00
Samuel Angebault
89a695a5e7 [union-mount] Rescan dev if root partition disapear (#298)
On some platforms after the initramfs init scripts have mounted the root device its
block device disapear from /dev. The union-mount script therefore can't mount the
root device over the aufs. If this case happen, issue a rescan of the devices to
repopulate the /dev filesystem.
2017-02-15 23:18:02 -08:00
lguohan
0a6565d6a4 [config]: add device type in minigraph (#290) 2017-02-12 21:18:09 -08:00
Marian Pritsak
ec584a2cc0 [sonic-utilities]: integrate into base image (#282)
Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-02-12 15:05:12 -08:00
lguohan
6119a58e4a [build_debian]: install deps in rootfs instead of just extracting the packages (#280)
packages contains post-install that needs to be performed
2017-02-10 07:39:05 -08:00
lguohan
e5616f236d [swss]: Wait for redis server start before database clean (#281)
picked this change from sonic-mgmt repo.

https://github.com/Azure/sonic-mgmt/pull/110
2017-02-09 06:52:20 -08:00
Oleksandr Ivantsiv
53a9792014 [Makefile]: Add possibility for docker containers to install files to base image (#240)
- Add vtysh/lldpctl/sensors to baseimage
2017-02-07 00:33:20 -08:00
lguohan
8826beb597 [docker]: change hardcoded value to DOCKERFS_DIR for docker directory on the disk (#269) 2017-02-06 08:17:16 -08:00
lguohan
0bbde7b91a [aboot]: extract dockerfs in initramfs stage when the root fs is vfat (#266)
vfat does not support symbol links used in aufs
2017-02-05 22:11:52 -08:00
lguohan
27a0b7c1fd build one aboot image on arista platform (#263) 2017-02-05 15:59:59 -08:00
lguohan
8bc559ecca [sonic-aboot]: restore docker archive on arista platform (#261) 2017-02-04 22:32:45 -08:00
Joe LeVeque
e75acfe6d7 Add 'One Image' implementation for DHCP relay (hopefully fix builds) 2017-02-04 19:42:41 +00:00
Oleksandr Ivantsiv
2b113c4175 Add FLUSH DB commands to swss service missed during merge (#248)
* Add FLUSH DB commands to swss service missed during merge

* Update swss.service.j2
2017-02-03 21:35:48 -08:00
Taoyu Li
6f5262bc2c Fix config bug in snmp (#252)
1. Modify snmp user to Debian-snmp to fit snmpd 5.7.3
2. Fix a bug that cause sysLocation to be missing from snmpd.conf
2017-02-03 17:39:09 -08:00
Samuel Angebault
92b32fd910 Add DCS-7060CX-32S support in boot0 (#243) 2017-02-03 16:32:42 -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
793b842d60 Add DHCP client hook to update hostname. (#235)
* Add DHCP client hook to update hostname.

* Remove interface checking

* Update hostname in /etc/hosts file
2017-02-02 11:19:48 -08:00
Samuel Angebault
921db0511a Update boot0 (#202)
- Refactor of the whole script for readability purpose
 - Now detect the root= partition automatically
 - Allow more parameters to be passed to the cmdline using
   /mnt/flash/kernel-params
 - /host/machine.conf file will have to be generated at a later stage
   since Aboot doesn't have enough information about the platform here
2017-02-01 13:02:29 -08:00
Oleksandr Ivantsiv
d6f0c4611b Add platform-monitor container to one image. (#232) 2017-02-01 13:02:08 -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
byu343
694e12b4b4 [Arista]: Add VFAT support in initramfs (#208) 2017-01-24 19:18:01 -08:00
byu343
6d8f57631b [Arista]: Add support to convert vfat file system to ext4 (#201)
This commit will convert the existing file system of flash drive on Arista switches from VFAT to EXT4 in the booting of SONiC. It will take the whole flash and therefore remove the recovery partition. There is a check in the script making sure that the conversion operation will not happen on a non-Arista switch or if the existing file system is not VFAT.
2017-01-23 22:25:47 -08:00
Qi Luo
af38c0e77d Config apt inside docker images to save disk space: auto clean, gz, no trans (#69) 2016-11-16 12:46:15 -08:00
lguohan
81d6382321 use seperate sources.list for debian base image build (#61) 2016-11-08 03:04:52 -08:00
Qi Luo
a79966998a Squash merge latest code to github branch 2016-07-26 12:01:58 -07:00
Qi Luo
85f354b77b Sqush merge latest code to github branch 2016-05-27 13:35:44 -07:00
Qi Luo
462208b23b Build Arista Aboot image 2016-03-15 23:38:26 -07:00
Qi Luo
8228558d38 New release v1.0.0 2016-03-08 11:42:20 -08:00