Agenda
          - Introduction
- Network device automation
- Policy based automation
Open NX-OS
          - Bootstrap and provisioning - PoAP / ONIE / PXE
- Package management - RPM / YUM
- Standard Linux interfaces - Bash / iproute2 / ...
- Adaptable and extensible - Containers / 3rd-party software
- Automatable - NX-API / Python
- Automation tools - Puppet / OpenStack / ...
Puppet
          - Native agent - install by RPM from PuppetLabs
- Runs mcollective
- Run as a service with init scripts
ciscopuppet module
          cisco_vtp
cisco_ospf_vrf
cisco_tacacs_server
cisco_vlan
cisco_tacacs_server_host
cisco_bgp
cisco_snmp_server
cisco_bgp_vrf
cisco_snmp_community
cisco_interface
cisco_snmp_group
cisco_interface_ospf
cisco_ospf
cisco_interface_vlan
netdev_stdlib
          domain_name
name_server
network_dns
network_snmp
ntp_config
ntp_server
radius
radius_global
radius_server
syslog_server
syslog_settingcisco_command_config
          
          
class network_devices::vni ($vlan, $vnsegment) {
  cisco_command_config { "vni-$vnsegment-$vlan":
    command => "
      vlan $vlan
        vn-segment $vnsegment
    "
  }
}
          
        Who cares about ... VLANs? ... SVIs? ... VRFs?
        Abstraction - Puppet application orchestration
          
        Abstraction - Docker compose
          
        Summary
          - Device level automation
- Policy based automation
- Group based policy
 
		
						Network automation for non-networking experts
						Chris Gascoigne
            cgascoig@cisco.com
            http://cgascoig.github.io/pres-puppetcamp-mel-15