Skip to content

Commit

Permalink
Merge pull request #2 from johnarnold/sonicv2
Browse files Browse the repository at this point in the history
Added: ansible/roles/sonicv2
  • Loading branch information
Tom Booth authored Aug 29, 2016
2 parents 0dbe0ab + accb252 commit 826ed2d
Show file tree
Hide file tree
Showing 23 changed files with 819 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ansible/roles/sonicv2/files/bin/bcmcmd.v2
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
docker exec -i syncd bcmcmd "$@"
2 changes: 2 additions & 0 deletions ansible/roles/sonicv2/files/bin/vtysh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
docker exec -i bgp vtysh "$@"
16 changes: 16 additions & 0 deletions ansible/roles/sonicv2/files/docker_clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

# Clean up untagged docker images, ie. '<none>:<none>'
docker images -q --filter "dangling=true" | xargs --no-run-if-empty docker rmi

# Clean up unused docker images, but ignore untagged docker images
# Note:
# if there is no tag or repository for one image, it will shows as 'repository:<none>'
# or '<none>:TAG' or '<none>:<none>'
# docker ps ...:
# list all used image
# docker images ...:
# list all images by tag and by digest
# grep -xvf A B:
# exclude all lines from file B matching any whole line in file A
grep -xvf <(docker ps -a --format {{.Image}}) <(docker images --format '{{.Repository}}:{{.Tag}}\n{{.Repository}}@{{.Digest}}' | grep -v '<none>') | xargs --no-run-if-empty docker rmi
33 changes: 33 additions & 0 deletions ansible/roles/sonicv2/files/ssw/ACS-MSN2700/port_config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# alias lanes
Ethernet0 0,1,2,3
Ethernet4 4,5,6,7
Ethernet8 8,9,10,11
Ethernet12 12,13,14,15
Ethernet16 16,17,18,19
Ethernet20 20,21,22,23
Ethernet24 24,25,26,27
Ethernet28 28,29,30,31
Ethernet32 32,33,34,35
Ethernet36 36,37,38,39
Ethernet40 40,41,42,43
Ethernet44 44,45,46,47
Ethernet48 48,49,50,51
Ethernet52 52,53,54,55
Ethernet56 56,57,58,59
Ethernet60 60,61,62,63
Ethernet64 64,65,66,67
Ethernet68 68,69,70,71
Ethernet72 72,73,74,75
Ethernet76 76,77,78,79
Ethernet80 80,81,82,83
Ethernet84 84,85,86,87
Ethernet88 88,89,90,91
Ethernet92 92,93,94,95
Ethernet96 96,97,98,99
Ethernet100 100,101,102,103
Ethernet104 104,105,106,107
Ethernet108 108,109,110,111
Ethernet112 112,113,114,115
Ethernet116 116,117,118,119
Ethernet120 120,121,122,123
Ethernet124 124,125,126,127
33 changes: 33 additions & 0 deletions ansible/roles/sonicv2/files/ssw/ACS-S6000/port_config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# alias lanes
Ethernet0 29,30,31,32
Ethernet4 25,26,27,28
Ethernet8 37,38,39,40
Ethernet12 33,34,35,36
Ethernet16 41,42,43,44
Ethernet20 45,46,47,48
Ethernet24 5,6,7,8
Ethernet28 1,2,3,4
Ethernet32 9,10,11,12
Ethernet36 13,14,15,16
Ethernet40 21,22,23,24
Ethernet44 17,18,19,20
Ethernet48 49,50,51,52
Ethernet52 53,54,55,56
Ethernet56 61,62,63,64
Ethernet60 57,58,59,60
Ethernet64 65,66,67,68
Ethernet68 69,70,71,72
Ethernet72 77,78,79,80
Ethernet76 73,74,75,76
Ethernet80 105,106,107,108
Ethernet84 109,110,111,112
Ethernet88 117,118,119,120
Ethernet92 113,114,115,116
Ethernet96 121,122,123,124
Ethernet100 125,126,127,128
Ethernet104 85,86,87,88
Ethernet108 81,82,83,84
Ethernet112 89,90,91,92
Ethernet116 93,94,95,96
Ethernet120 97,98,99,100
Ethernet124 101,102,103,104
33 changes: 33 additions & 0 deletions ansible/roles/sonicv2/files/ssw/Force10-S6000/port_config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# alias lanes
Ethernet0 29,30,31,32
Ethernet4 25,26,27,28
Ethernet8 37,38,39,40
Ethernet12 33,34,35,36
Ethernet16 41,42,43,44
Ethernet20 45,46,47,48
Ethernet24 5,6,7,8
Ethernet28 1,2,3,4
Ethernet32 9,10,11,12
Ethernet36 13,14,15,16
Ethernet40 21,22,23,24
Ethernet44 17,18,19,20
Ethernet48 49,50,51,52
Ethernet52 53,54,55,56
Ethernet56 61,62,63,64
Ethernet60 57,58,59,60
Ethernet64 65,66,67,68
Ethernet68 69,70,71,72
Ethernet72 77,78,79,80
Ethernet76 73,74,75,76
Ethernet80 105,106,107,108
Ethernet84 109,110,111,112
Ethernet88 117,118,119,120
Ethernet92 113,114,115,116
Ethernet96 121,122,123,124
Ethernet100 125,126,127,128
Ethernet104 85,86,87,88
Ethernet108 81,82,83,84
Ethernet112 89,90,91,92
Ethernet116 93,94,95,96
Ethernet120 97,98,99,100
Ethernet124 101,102,103,104
65 changes: 65 additions & 0 deletions ansible/roles/sonicv2/files/ssw/knet.soc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
knet netif create port=xe0 rcpu=no ifname=et0_0
knet filter create desttype=netif destid=1 ingport=xe0 desc="et0_0"
knet netif create port=xe1 rcpu=no ifname=et0_4
knet filter create desttype=netif destid=2 ingport=xe1 desc="et0_0"
knet netif create port=xe2 rcpu=no ifname=et0_8
knet filter create desttype=netif destid=3 ingport=xe2 desc="et0_8"
knet netif create port=xe3 rcpu=no ifname=et0_12
knet filter create desttype=netif destid=4 ingport=xe3 desc="et0_12"
knet netif create port=xe4 rcpu=no ifname=et0_16
knet filter create desttype=netif destid=5 ingport=xe4 desc="et0_16"
knet netif create port=xe5 rcpu=no ifname=et0_20
knet filter create desttype=netif destid=6 ingport=xe5 desc="et0_20"
knet netif create port=xe6 rcpu=no ifname=et0_24
knet filter create desttype=netif destid=7 ingport=xe6 desc="et0_24"
knet netif create port=xe7 rcpu=no ifname=et0_28
knet filter create desttype=netif destid=8 ingport=xe7 desc="et0_28"
knet netif create port=xe8 rcpu=no ifname=et0_32
knet filter create desttype=netif destid=9 ingport=xe8 desc="et0_32"
knet netif create port=xe9 rcpu=no ifname=et0_36
knet filter create desttype=netif destid=10 ingport=xe9 desc="et0_36"
knet netif create port=xe10 rcpu=no ifname=et0_40
knet filter create desttype=netif destid=11 ingport=xe10 desc="et0_40"
knet netif create port=xe11 rcpu=no ifname=et0_44
knet filter create desttype=netif destid=12 ingport=xe11 desc="et0_44"
knet netif create port=xe12 rcpu=no ifname=et0_48
knet filter create desttype=netif destid=13 ingport=xe12 desc="et0_48"
knet netif create port=xe13 rcpu=no ifname=et0_52
knet filter create desttype=netif destid=14 ingport=xe13 desc="et0_52"
knet netif create port=xe14 rcpu=no ifname=et0_56
knet filter create desttype=netif destid=15 ingport=xe14 desc="et0_56"
knet netif create port=xe15 rcpu=no ifname=et0_60
knet filter create desttype=netif destid=16 ingport=xe15 desc="et0_60"
knet netif create port=xe16 rcpu=no ifname=et0_64
knet filter create desttype=netif destid=17 ingport=xe16 desc="et0_64"
knet netif create port=xe17 rcpu=no ifname=et0_68
knet filter create desttype=netif destid=18 ingport=xe17 desc="et0_68"
knet netif create port=xe18 rcpu=no ifname=et0_72
knet filter create desttype=netif destid=19 ingport=xe18 desc="et0_72"
knet netif create port=xe19 rcpu=no ifname=et0_76
knet filter create desttype=netif destid=20 ingport=xe19 desc="et0_76"
knet netif create port=xe20 rcpu=no ifname=et0_80
knet filter create desttype=netif destid=21 ingport=xe20 desc="et0_80"
knet netif create port=xe21 rcpu=no ifname=et0_84
knet filter create desttype=netif destid=22 ingport=xe21 desc="et0_84"
knet netif create port=xe22 rcpu=no ifname=et0_88
knet filter create desttype=netif destid=23 ingport=xe22 desc="et0_88"
knet netif create port=xe23 rcpu=no ifname=et0_92
knet filter create desttype=netif destid=24 ingport=xe23 desc="et0_92"
knet netif create port=xe24 rcpu=no ifname=et0_96
knet filter create desttype=netif destid=25 ingport=xe24 desc="et0_96"
knet netif create port=xe25 rcpu=no ifname=et0_100
knet filter create desttype=netif destid=26 ingport=xe25 desc="et0_100"
knet netif create port=xe26 rcpu=no ifname=et0_104
knet filter create desttype=netif destid=27 ingport=xe26 desc="et0_104"
knet netif create port=xe27 rcpu=no ifname=et0_108
knet filter create desttype=netif destid=28 ingport=xe27 desc="et0_108"
knet netif create port=xe28 rcpu=no ifname=et0_112
knet filter create desttype=netif destid=29 ingport=xe28 desc="et0_112"
knet netif create port=xe29 rcpu=no ifname=et0_116
knet filter create desttype=netif destid=30 ingport=xe29 desc="et0_116"
knet netif create port=xe30 rcpu=no ifname=et0_120
knet filter create desttype=netif destid=31 ingport=xe30 desc="et0_120"
knet netif create port=xe31 rcpu=no ifname=et0_124
knet filter create desttype=netif destid=32 ingport=xe31 desc="et0_124"
pw start
5 changes: 5 additions & 0 deletions ansible/roles/sonicv2/handlers/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- name: Restart Quagga Daemon
become: true
service: name=bgp
state=restarted
35 changes: 35 additions & 0 deletions ansible/roles/sonicv2/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Setup VLAN Interfaces
- name: Copy VLAN Interfaces File.
become: true
template: src=vlan_interfaces.j2
dest=/etc/network/interfaces.d/vlan_interfaces
owner=root
group=root
mode=0644
register: if_copy
tags: network,unsafe
when: sonic_version == "v2"

# SSW
- name: Copy SSW files.
become: true
copy: directory_mode=0755
src=ssw/{{ sonic_hwsku }}
dest=/etc/ssw
owner=root
group=root
mode=0644
tags: ssw


# SONiC
- include: sonic-brcm.yml
when: sonic_asic_type == 'broadcom'
tags: swss,unsafe

- include: sonic-mlnx.yml
when: sonic_asic_type == 'mellanox'
tags: swss,unsafe

- include: quagga.yml
tags: quagga,unsafe
80 changes: 80 additions & 0 deletions ansible/roles/sonicv2/tasks/quagga.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
- name: Clean up old container
include: sonicdocker.yml
vars:
docker_container: docker-bgp
docker_image: "{{ image_id_bgp }}"
docker_privileged: yes
docker_state: absent


- name: Start the BGP docker container (Quagga)
include: sonicdocker.yml
vars:
docker_container: bgp
docker_image: "{{ image_id_fpm }}"
docker_privileged: yes
docker_state: reloaded

- block:
- name: Copy Device Specific Quagga Zebra Configuration File.
become: true
template: src=quagga/zebra.conf.j2
dest=/etc/quagga/zebra.conf
owner=root
group=root
mode=0644
notify:
- Restart Quagga Daemon

- name: Copy Device Specific Quagga BGP Configuration File.
become: true
template: src=quagga/bgpd.conf.j2
dest=/etc/quagga/bgpd.conf
owner=root
group=root
mode=0644
notify:
- Restart Quagga Daemon

# TODO: already in container, remove this template after stable version updated
- name: Copy Device Specific Quagga Daemons Configuration File.
become: true
template: src=quagga/daemons
dest=/etc/quagga/daemons
owner=root
group=root
mode=0644
notify:
- Restart Quagga Daemon

# Force handler flush to trigger daemon restarts
- meta: flush_handlers

- name: Ensure Quagga Daemon running and enabled
become: true
service: name=quagga
state=running
enabled=yes

- name: Copy BGP Isolating Scripts
become: true
template: src=quagga/{{item}}.j2
dest=/usr/sbin/bgp-{{item}}
owner=root
group=root
mode=0755
with_items:
- isolate
- unisolate

vars:
ansible_shell_type: docker
ansible_python_interpreter: docker exec -i bgp python

- name: Copy vtysh helper script
become: true
copy: src=bin/vtysh
dest=/usr/bin/vtysh
owner=root
group=root
mode=0755
55 changes: 55 additions & 0 deletions ansible/roles/sonicv2/tasks/sonic-brcm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SONiC

# FIXME: de-dup with sonic-common/tasks/main.yml?
# Setup Platform
#- include: platform.yml

# Remove v1 docker containers
- name: Remove sswsyncd docker container
docker:
name: docker-sswsyncd
image: "{{docker_registry_host}}/{{image_id_sswsyncd}}"
state: absent

# Ensure newer version of BCM OpenNSL
- name: Remove old version of BCM OpenNSL Linux Module
become: yes
apt: pkg={{ opennsl.name }}={{ opennsl.version }}
state=absent
force=yes

- name: Install new version of BCM OpenNSL Linux Module
become: yes
apt: pkg={{ opennslv2.name }}={{ opennslv2.version }}
state=present
default_release=trusty
force=yes

# Install docker containers
- name: Start syncd docker container
include: ../../sonic-common/tasks/sonicdocker.yml
vars:
docker_container: syncd
docker_image: "{{ image_id_syncd }}"
docker_privileged: yes
docker_state: reloaded
docker_volumes: "{{ syncd_docker_volumes }}"
tags: syncd

- name: Copy bcmcmd helper script
become: true
copy: src=bin/bcmcmd.v2
dest=/usr/bin/bcmcmd
owner=root
group=root
mode=0755

- name: Start orchagent docker container
include: ../../sonic-common/tasks/sonicdocker.yml
vars:
docker_container: orchagent
docker_image: "{{ image_id_orchagent }}"
docker_privileged: yes
docker_state: reloaded
docker_volumes: "{{ orchagent_docker_volumes }}"
tags: orchagent
Loading

0 comments on commit 826ed2d

Please sign in to comment.