User Tools

Site Tools


network_stuff:cisco:csr1k:vagrantfile

This is an old revision of the document!


# -*- mode: ruby -*-
# vi: set ft=ruby :

def get_mac(oui="28:b7:ad")
  "Generate a MAC address"
  nic = (1..3).map{"%0.2x"%rand(256)}.join(":")
  return "#{oui}:#{nic}"
end

def get_mac_cisco(oui="a0:00:00:00:00")
  "Generate a MAC address"
  nic = (1..1).map{"%0.2x"%rand(256)}.join(":")
  return "#{oui}:#{nic}"
end

cwd = Dir.pwd.split("/").last
username = ENV['USER']
domain_prefix = "#{username}_#{cwd}"

Vagrant.configure("2") do |config|
  config.vm.define "csr1k-01" do |node|
    guest_name = "csr1k"
    node.vm.box = "cisco/csr1000v"
    node.vm.guest = :freebsd
    node.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true

    node.ssh.insert_key = false
    node.vm.boot_timeout = 180

  node.vm.provider :libvirt do |domain|
    domain.nic_adapter_count = 8
    #domain.nic_model_type = "e1000"
    domain.memory = 4096
    domain.cpus = 2
    domain.driver = "kvm"
  end

    node.vm.network :private_network,
      # csr1k-01 Gi2 <--> csr1k-02 Gi2
      #:mac => "a0:00:00:00:00:21",
      :mac => "#{get_mac_cisco()}",
      :libvirt__tunnel_type => 'udp',
      :libvirt__tunnel_local_ip => '127.0.0.1',
      :libvirt__tunnel_local_port => '8013',
      :libvirt__tunnel_ip => '127.0.0.2',
      :libvirt__tunnel_port => '8013',
      :libvirt__iface_name => 'Gig2',
      auto_config: false
  end
  

  config.vm.define "csr1k-02" do |node|
    guest_name = "csr2k"
    node.vm.box = "cisco/csr1000v"
    node.vm.guest = :freebsd
    node.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true

    node.ssh.insert_key = false
    node.vm.boot_timeout = 180

  node.vm.provider :libvirt do |domain|
    domain.nic_adapter_count = 8
    #domain.nic_model_type = "e1000"
    domain.memory = 4096
    domain.cpus = 2
    domain.driver = "kvm"
  end

    node.vm.network :private_network,
      # csr1k-02 Gi2 <--> csr1k-01 Gi2
      #:mac => "a0:00:00:00:00:22",
      :mac => "#{get_mac_cisco()}",
      :libvirt__tunnel_type => 'udp',
      :libvirt__tunnel_local_ip => '127.0.0.2',
      :libvirt__tunnel_local_port => '8013',
      :libvirt__tunnel_ip => '127.0.0.1',
      :libvirt__tunnel_port => '8013',
      :libvirt__iface_name => 'Gig2',
      auto_config: false

  end
end
network_stuff/cisco/csr1k/vagrantfile.1571952481.txt.gz · Last modified: (external edit)