Skip to content

Commit

Permalink
Add chapter 8 exercises
Browse files Browse the repository at this point in the history
  • Loading branch information
natenka committed Feb 2, 2017
1 parent 2289a4e commit 6606936
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 2 deletions.
60 changes: 60 additions & 0 deletions exercises/08_modules/08_exercises.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,63 @@
* Эти функции, в свою очередь, возвращают список со строками готовой конфигурации
которую надо записать в файл result.txt в виде стандартного конфига (то есть, строк)

### Задание 8.2

Создать функцию parse_cdp_neighbors, которая обрабатывает
вывод команды show cdp neighbors.

Функция ожидает, как аргумент, вывод команды одной строкой.

Функция должна возвращать словарь, который описывает соединения между устройствами.

Например, если как аргумент был передан такой вывод:
```
R4>show cdp neighbors
Device ID Local Intrfce Holdtme Capability Platform Port ID
R5 Fa 0/1 122 R S I 2811 Fa 0/1
R6 Fa 0/2 143 R S I 2811 Fa 0/0
```

Функция должна вернуть такой словарь:
```python
{('R4', 'Fa0/1'): ('R5', 'Fa0/1'),
('R4', 'Fa0/2'): ('R6', 'Fa0/0')}
```

Проверить работу функции на содержимом файла sw1_sh_cdp_neighbors.txt


### Задание 8.2a

С помощью функции parse_cdp_neighbors из задания 8.2
и функции draw_topology из файла draw_network_graph.py,
сгенерировать топологию, которая соответствует выводу
команды sh cdp neighbor в файле sw1_sh_cdp_neighbors.txt

Не копировать код функций parse_cdp_neighbors и draw_topology.

В итоге, должен быть сгенерировано изображение топологии.
Результат должен выглядеть так же, как схема в файле task_8_2a_topology.svg
![task_8_2a_topology](https://raw.githubusercontent.com/natenka/PyNEng/master/images/08_modules/task_8_2a_topology.png)



### Задание 8.2b

С помощью функции parse_cdp_neighbors из задания 8.2
и функции draw_topology из файла draw_network_graph.py,
сгенерировать топологию, которая соответствует выводу
команды sh cdp neighbor из файлов:
* sh_cdp_n_sw1.txt
* sh_cdp_n_r1.txt
* sh_cdp_n_r2.txt
* sh_cdp_n_r3.txt


Не копировать код функций parse_cdp_neighbors и draw_topology.

В итоге, должен быть сгенерировано изображение топологии.
Результат должен выглядеть так же, как схема в файле task_8_2b_topology.svg

![task_8_2b_topology](https://raw.githubusercontent.com/natenka/PyNEng/master/images/08_modules/task_8_2b_topology.png)
2 changes: 1 addition & 1 deletion exercises/08_modules/task_8_2a.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
Не копировать код функций parse_cdp_neighbors и draw_topology.
В итоге, должен быть сгенерировано изображение топологии.
Результат должен выглядеть так же, как схема в файле task_8_1a_topology.svg
Результат должен выглядеть так же, как схема в файле task_8_2a_topology.svg
"""

2 changes: 1 addition & 1 deletion exercises/08_modules/task_8_2b.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
Не копировать код функций parse_cdp_neighbors и draw_topology.
В итоге, должен быть сгенерировано изображение топологии.
Результат должен выглядеть так же, как схема в файле task_8_1b_topology.svg
Результат должен выглядеть так же, как схема в файле task_8_2b_topology.svg
"""

Binary file added images/08_modules/task_8_2a_topology.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/08_modules/task_8_2b_topology.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6606936

Please sign in to comment.