Now we need to configure our switches based on the picture from the cabling post

We can see:

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48
  • we expand this for
    • use port 1 for uplinks (outside,red)
    • use port 2 for the deployer node (blue) will trunk all vlans (except the management) and the management vlan (gray) being the native vlan.
    • add 2 more ESX servers (with ILOs) (servers, yellow), (management, gray)
    • move the NAS from [26,28,30,32] to [30, 32,34,36] (storage, white)
    • add a second NAS connection to [29,31,33,35] (storage, white)
    • (inside, green)
    • (pfsync, purple) if we choose to not use the internal NIC connection or need to attach another crate for vm/storage migration.
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48

As mentioned in an earlier post, this will let a single switch run the whole crate in the event of a switch failure, but will also alow us to spread the components across both switches such that a single switch failure will not take the crate's resources offline.

(blue)   trunk:      untagged: 1;  tagged: [5, 10-30, 256, 257]
(red)    outside:    untagged: 257
(green)  inside:     untagged: 256
(gray)   management: untagged: 5
(yellow) servers:    untagged: 5;  taggged [11-30]
(white)  storage:    untagged: 11
(purple) pfsync:     untagged: 10
(black)  unuses:     untagged: 1

In addition, we will be creating port-channel groups for storage on [29,31,33,35] and [30,32,34,36] as the NAS supports it. Rather than log into the switch and type each of our ~32 port configurations by hand, let's write some ruby to autogenerate our configs if we give it our design from above:

portmaker.rb
#!/usr/bin/env ruby
#
# convert hash of switch port "types" and a hash of switchport assignments to a working switch configuration
#
require "erb"
################################################################################
vlans = {
         'trunk'      => { 'pvid' => 1,  'tagging' => (10..30).to_a.push(5,256,257).sort },
         'vmware_esx' => { 'pvid' => 5,  'tagging' => (11..30).to_a },
         'outside'    => { 'pvid' => 257 },
         'inside'     => { 'pvid' => 256 },
         'management' => { 'pvid' => 5   },
         'storage'    => { 'pvid' => 11  },
         'pfsync'     => { 'pvid' => 10  },
        }

ports = {
         'trunk'      => (2..4).to_a,
         'outside'    => [1, 8, 44],
         'inside'     => [6, 42],
         'management'  => (13..16).to_a,
         'vmware_esx' => (17..28).to_a.push(10,46).sort,
         'storage'    => (29..36).to_a,
         'pfsync'     => [12, 48],
        }
################################################################################

# Array#to_ranges
# Converts an array of values (which must respond to #succ) to an array of ranges. For example,
# [3,4,5,1,6,9,8].to_ranges => [1,3..6,8..9]

class Array
  def to_ranges
    array = self.compact.uniq.sort
    ranges = []
    if !array.empty?
      # Initialize the left and right endpoints of the range
      left, right = self.first, nil
      array.each do |obj|
        # If the right endpoint is set and obj is not equal to right's successor
        # then we need to create a range.
        if right && obj != right.next
          if left == right
            ranges << left
          else
            ranges << Range.new(left,right)
          end
          left = obj
        end
        right = obj
      end
      if left == right
        ranges << left
      else
        ranges << Range.new(left,right) 
       end
    end
    ranges
  end
end

interfacerb = '
interface 0/<%= @port %>
description \'<%= @type %>\'
vlan ingressfilter
<% unless @vlanparticipation.nil? -%>
vlan participation include <%= @vlanparticipation %>
<% end -%>
<% unless @pvid.nil? -%>
vlan pvid <%= @pvid %>
<% end -%>
<% unless @vlantagging.nil? -%>
vlan tagging  <%= @vlantagging %>
<% end -%>
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit
'

(1..48).each do |port|
  @port = port
  found=0
  @pvid = nil
  @vlantagging = nil
  @vlanparticipation = nil
  ports.keys.each do |type|
    @type = type
    if  ports[type].grep(port).length.nonzero?
      @pvid = vlans[type]['pvid']
      participation = Array.new().push(vlans[type]['pvid'])
      if vlans[type]['tagging']
        # @vlantagging =  vlans[type]['tagging'].join(',')
        @vlantagging =  vlans[type]['tagging'].to_ranges.to_s.gsub!(/[\[\]]/,'').gsub(/\.\./,'-').gsub(/\s/,'')
        participation.concat(vlans[type]['tagging'])
      end
      # @vlanparticipation = participation.sort.join(',')
      @vlanparticipation = participation.to_ranges.to_s.gsub!(/[\[\]]/,'').gsub(/\.\./,'-').gsub(/\s/,'')
      puts ERB.new(interfacerb,nil,"-").result
      found=1
    end
  end
  # puts "#{port}: unconfigured" if found.zero?
end
portmaker output (you can see why I don't want to type this manually)

interface 0/1
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/2
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/3
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/4
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/6
description 'inside'
vlan ingressfilter
vlan participation include 256
vlan pvid 256
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/8
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/10
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/12
description 'pfsync'
vlan ingressfilter
vlan participation include 10
vlan pvid 10
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/13
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/14
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/15
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/16
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/17
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/18
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/19
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/20
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/21
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/22
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/23
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/24
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/25
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/26
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/27
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/28
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/29
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/30
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/31
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/32
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/33
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/34
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/35
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/36
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/42
description 'inside'
vlan ingressfilter
vlan participation include 256
vlan pvid 256
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/44
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/46
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/48
description 'pfsync'
vlan ingressfilter
vlan participation include 10
vlan pvid 10
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/1
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/2
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/3
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/4
description 'trunk'
vlan ingressfilter
vlan participation include 1,5,10-30,256-257
vlan pvid 1
vlan tagging  5,10-30,256-257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/6
description 'inside'
vlan ingressfilter
vlan participation include 256
vlan pvid 256
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/8
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/10
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/12
description 'pfsync'
vlan ingressfilter
vlan participation include 10
vlan pvid 10
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/13
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/14
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/15
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/16
description 'management'
vlan ingressfilter
vlan participation include 5
vlan pvid 5
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/17
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/18
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/19
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/20
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/21
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/22
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/23
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/24
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/25
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/26
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/27
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/28
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/29
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/30
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/31
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/32
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/33
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/34
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/35
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/36
description 'storage'
vlan ingressfilter
vlan participation include 11
vlan pvid 11
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/42
description 'inside'
vlan ingressfilter
vlan participation include 256
vlan pvid 256
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/44
description 'outside'
vlan ingressfilter
vlan participation include 257
vlan pvid 257
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/46
description 'vmware_esx'
vlan ingressfilter
vlan participation include 5,11-30
vlan pvid 5
vlan tagging  11-30
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit

interface 0/48
description 'pfsync'
vlan ingressfilter
vlan participation include 10
vlan pvid 10
port-security max-dynamic 0
lldp transmit-tlv port-desc
lldp transmit-tlv sys-name
lldp transmit-tlv sys-desc
lldp transmit-tlv sys-cap
lldp med confignotification
exit


Some thoughts on subnetting

Each crate will be given a 10.x.0.0/16 subnet in addition to it's 198.51.100.x/27 subnet. The result of this will be that the crates can be connected and the same "type" of traffic will be on the same VLANs, and can run side-by-side. We would then have a 10.255.5.0/24 subnet sharing the same VLAN (vlan 5) with 10.254.5.0/24, but there would be no IP collisions and all the traffic would be in the same "risk domain" (i.e. server traffic on server VLANs, outside traffic on outside VLANs, inside traffic on inside VLANs. This will allow us to migrate entire networks from crate to crate without re-wiring or reconfiguring VLANs. Every crate will be a part of a network of up to 8 crates (from the /27 of the backplane network)

VLAN-1   will be our 198.51.100.32/27 network
VLAN-5   will carry 10.x.5.0/24
VLAN-10  will carry 10.x.10.0/24
VLAN-11  will carry 10.x.11.0/24
... and so on ...
VLAN-30  will carry 10.x.30.0/24
VLAN-256 will carry 10.x.0.0/24
VLAN-257 will carry whatever the uplink provides.
  (We may not have control over this when we move the crate.)

So now we can use our serial connection from the deployer box to console our switches and log in as ubnt/ubnt. From serial interface: 115200 8n1 rollover (cisco) cable, pl2303, straight through (no null modem), we will use the TEST-NET-3 subnet - +6/+7 edge01/edge01, respectfully.

edge01
network protocol none
Changing protocol mode will reset ip configuration.
Are you sure you want to continue? (y/n)
y

network parms 198.51.100.38 255.255.255.224 198.51.100.33
(UBNT EdgeSwitch) #show network

Interface Status............................... Up
IP Address..................................... 198.51.100.38
Subnet Mask.................................... 255.255.255.224
Default Gateway................................ 198.51.100.33
IPv6 Administrative Mode....................... Enabled
IPv6 Prefix is ................................ fe80::7683:c2ff:fefd:6bf4/64
Burned In MAC Address.......................... 74:83:C2:FD:6B:F4
Locally Administered MAC address............... 00:00:00:00:00:00
MAC Address Type............................... Burned In
Configured IPv4 Protocol....................... None
Configured IPv6 Protocol....................... None
IPv6 AutoConfig Mode........................... Disabled
Management VLAN ID............................. 1

configure
do vlan database
vlan 5,10-30,256,257
exit

configure
(paste in the output from portmaker.rb)
exit

(UBNT EdgeSwitch) #copy system:running-config nvram:startup-config

This operation may take a few minutes.
Management interfaces will not be available during this time.

Are you sure you want to save? (y/n) y

Config file 'startup-config' created successfully .

Configuration Saved!

At this point all ports should be on the correct VLAN and should persist after a reload. And if you've plugged the deployer node into port 2 of the switch, the switch is now reachable, and you can ssh in as ubnt.

root@deployer2:~# ping 198.51.100.38
PING 198.51.100.38 (198.51.100.38) 56(84) bytes of data.
64 bytes from 198.51.100.38: icmp_seq=1 ttl=64 time=3.68 ms
64 bytes from 198.51.100.38: icmp_seq=2 ttl=64 time=1.81 ms
64 bytes from 198.51.100.38: icmp_seq=5 ttl=64 time=1.75 ms

configured the other switch

edge01
enable
network protocol none
network parms 198.51.100.39 255.255.255.224 198.51.100.33
copy system:running-config nvram:startup-config

configure
do vlan database
vlan 5,10-30,256,257
exit

configure
(paste in the output from portmaker.rb)
exit

copy system:running-config nvram:startup-config

The deployer node only has the native VLAN 1 configured, but also has [ 5, 10-30, 256-257 ] presented to it in a tagged trunk. We might need those later, but for now we can move on to deploying our OpenBSD nodes.