├── .gitignore
├── README.md
├── abstraction.html
├── abstraction
├── custom.css
└── img
│ ├── abstract.png
│ ├── abstract2.png
│ ├── expose.png
│ ├── network_diagram.png
│ ├── old_conf_mgmt_scale.png
│ └── templating_is_not_enough.png
├── ansible
├── ansible.cfg
├── callback_plugins
│ └── selective.py
├── deploy_network.yml
├── host_vars
│ ├── eos.spine1
│ ├── eos.spine2
│ ├── vmx.core1
│ └── vmx.core2
├── hosts
├── library
│ ├── check_fabric_links.py
│ ├── napalm_get_facts.py
│ └── napalm_install_config
├── roles
│ └── fabric
│ │ ├── tasks
│ │ └── main.yml
│ │ ├── templates
│ │ ├── eos
│ │ │ └── fabric.j2
│ │ └── junos
│ │ │ └── fabric.j2
│ │ └── vars
│ │ └── main.yml
├── tasks.py
└── test_network.yml
├── configure_environment.sh
├── howto
├── 1.png
├── 2.png
├── 3.png
├── 4.png
├── 5.png
└── 6.png
├── packs
└── chatops_demo
│ ├── actions
│ ├── add_link.yaml
│ ├── check_fabric_health.yaml
│ ├── clone_repo.yaml
│ ├── confirm_exec.meta.yaml
│ ├── deploy_fabric.yaml
│ ├── deploy_fabric_with_confirm.meta.yaml
│ ├── deploy_fabric_with_confirm_api.meta.yaml
│ ├── hello.yaml
│ ├── invoke_wrapper.py
│ ├── remove_link.yaml
│ ├── update_repo.yaml
│ └── workflows
│ │ ├── confirm_exec.yaml
│ │ ├── deploy_fabric.yaml
│ │ └── deploy_fabric_api.yaml
│ ├── aliases
│ ├── add_link.yaml
│ ├── check_fabric_health.yaml
│ ├── confirm.yaml
│ ├── deploy_fabric.yaml
│ ├── hello.yml
│ └── remove_link.yaml
│ ├── chatops_demo
│ ├── config.yaml
│ ├── pack.yaml
│ ├── requirements.txt
│ └── rules
│ ├── add_link.yaml
│ ├── deploy_fabric.yaml
│ ├── remove_link.yaml
│ ├── restart_docker_hubot.yaml
│ └── webhook_to_slack.yaml
├── requirements.txt
├── static
└── router_confs
│ ├── eos-spine1
│ ├── eos-spine2
│ ├── vmx1
│ └── vmx2
├── templating_is_not_always_enough
├── build_config.py
├── eos-spine1.yml
├── eos-spine2.yml
└── eos.j2
└── vagrant
├── Vagrantfile
└── st2
├── post_result.yaml
├── rc.local
└── st2bootstrap-deb.sh
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/.gitignore
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/README.md
--------------------------------------------------------------------------------
/abstraction.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction.html
--------------------------------------------------------------------------------
/abstraction/custom.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/custom.css
--------------------------------------------------------------------------------
/abstraction/img/abstract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/abstract.png
--------------------------------------------------------------------------------
/abstraction/img/abstract2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/abstract2.png
--------------------------------------------------------------------------------
/abstraction/img/expose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/expose.png
--------------------------------------------------------------------------------
/abstraction/img/network_diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/network_diagram.png
--------------------------------------------------------------------------------
/abstraction/img/old_conf_mgmt_scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/old_conf_mgmt_scale.png
--------------------------------------------------------------------------------
/abstraction/img/templating_is_not_enough.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/abstraction/img/templating_is_not_enough.png
--------------------------------------------------------------------------------
/ansible/ansible.cfg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/ansible.cfg
--------------------------------------------------------------------------------
/ansible/callback_plugins/selective.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/callback_plugins/selective.py
--------------------------------------------------------------------------------
/ansible/deploy_network.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/deploy_network.yml
--------------------------------------------------------------------------------
/ansible/host_vars/eos.spine1:
--------------------------------------------------------------------------------
1 | ---
2 | id: 6
3 | os: eos
4 | asn: 65001
5 |
--------------------------------------------------------------------------------
/ansible/host_vars/eos.spine2:
--------------------------------------------------------------------------------
1 | ---
2 | id: 7
3 | os: eos
4 | asn: 65001
5 |
--------------------------------------------------------------------------------
/ansible/host_vars/vmx.core1:
--------------------------------------------------------------------------------
1 | ---
2 | id: 1
3 | os: junos
4 | asn: 65000
5 |
--------------------------------------------------------------------------------
/ansible/host_vars/vmx.core2:
--------------------------------------------------------------------------------
1 | ---
2 | id: 2
3 | os: junos
4 | asn: 65000
5 |
--------------------------------------------------------------------------------
/ansible/hosts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/hosts
--------------------------------------------------------------------------------
/ansible/library/check_fabric_links.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/library/check_fabric_links.py
--------------------------------------------------------------------------------
/ansible/library/napalm_get_facts.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/library/napalm_get_facts.py
--------------------------------------------------------------------------------
/ansible/library/napalm_install_config:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/library/napalm_install_config
--------------------------------------------------------------------------------
/ansible/roles/fabric/tasks/main.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/roles/fabric/tasks/main.yml
--------------------------------------------------------------------------------
/ansible/roles/fabric/templates/eos/fabric.j2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/roles/fabric/templates/eos/fabric.j2
--------------------------------------------------------------------------------
/ansible/roles/fabric/templates/junos/fabric.j2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/roles/fabric/templates/junos/fabric.j2
--------------------------------------------------------------------------------
/ansible/roles/fabric/vars/main.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/roles/fabric/vars/main.yml
--------------------------------------------------------------------------------
/ansible/tasks.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/tasks.py
--------------------------------------------------------------------------------
/ansible/test_network.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/ansible/test_network.yml
--------------------------------------------------------------------------------
/configure_environment.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/configure_environment.sh
--------------------------------------------------------------------------------
/howto/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/1.png
--------------------------------------------------------------------------------
/howto/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/2.png
--------------------------------------------------------------------------------
/howto/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/3.png
--------------------------------------------------------------------------------
/howto/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/4.png
--------------------------------------------------------------------------------
/howto/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/5.png
--------------------------------------------------------------------------------
/howto/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/howto/6.png
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/add_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/add_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/check_fabric_health.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/check_fabric_health.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/clone_repo.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/clone_repo.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/confirm_exec.meta.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/confirm_exec.meta.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/deploy_fabric.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/deploy_fabric.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/deploy_fabric_with_confirm.meta.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/deploy_fabric_with_confirm.meta.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/deploy_fabric_with_confirm_api.meta.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/deploy_fabric_with_confirm_api.meta.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/hello.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/hello.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/invoke_wrapper.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/invoke_wrapper.py
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/remove_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/remove_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/update_repo.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/update_repo.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/workflows/confirm_exec.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/workflows/confirm_exec.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/workflows/deploy_fabric.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/workflows/deploy_fabric.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/actions/workflows/deploy_fabric_api.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/actions/workflows/deploy_fabric_api.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/add_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/add_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/check_fabric_health.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/check_fabric_health.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/confirm.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/confirm.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/deploy_fabric.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/deploy_fabric.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/hello.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/hello.yml
--------------------------------------------------------------------------------
/packs/chatops_demo/aliases/remove_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/aliases/remove_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/chatops_demo:
--------------------------------------------------------------------------------
1 | /vagrant/packs/chatops_demo
--------------------------------------------------------------------------------
/packs/chatops_demo/config.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packs/chatops_demo/pack.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/pack.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/requirements.txt:
--------------------------------------------------------------------------------
1 | ansible
2 | napalm
3 | invoke==0.12.2
4 | jinja2
5 |
--------------------------------------------------------------------------------
/packs/chatops_demo/rules/add_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/rules/add_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/rules/deploy_fabric.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/rules/deploy_fabric.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/rules/remove_link.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/rules/remove_link.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/rules/restart_docker_hubot.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/rules/restart_docker_hubot.yaml
--------------------------------------------------------------------------------
/packs/chatops_demo/rules/webhook_to_slack.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/packs/chatops_demo/rules/webhook_to_slack.yaml
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/requirements.txt
--------------------------------------------------------------------------------
/static/router_confs/eos-spine1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/static/router_confs/eos-spine1
--------------------------------------------------------------------------------
/static/router_confs/eos-spine2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/static/router_confs/eos-spine2
--------------------------------------------------------------------------------
/static/router_confs/vmx1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/static/router_confs/vmx1
--------------------------------------------------------------------------------
/static/router_confs/vmx2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/static/router_confs/vmx2
--------------------------------------------------------------------------------
/templating_is_not_always_enough/build_config.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/templating_is_not_always_enough/build_config.py
--------------------------------------------------------------------------------
/templating_is_not_always_enough/eos-spine1.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/templating_is_not_always_enough/eos-spine1.yml
--------------------------------------------------------------------------------
/templating_is_not_always_enough/eos-spine2.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/templating_is_not_always_enough/eos-spine2.yml
--------------------------------------------------------------------------------
/templating_is_not_always_enough/eos.j2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/templating_is_not_always_enough/eos.j2
--------------------------------------------------------------------------------
/vagrant/Vagrantfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/vagrant/Vagrantfile
--------------------------------------------------------------------------------
/vagrant/st2/post_result.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/vagrant/st2/post_result.yaml
--------------------------------------------------------------------------------
/vagrant/st2/rc.local:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/vagrant/st2/rc.local
--------------------------------------------------------------------------------
/vagrant/st2/st2bootstrap-deb.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dravetech/preso_abstract_all_the_things/HEAD/vagrant/st2/st2bootstrap-deb.sh
--------------------------------------------------------------------------------