62 lines
1.9 KiB
Ruby
62 lines
1.9 KiB
Ruby
# Encoding: utf-8
|
|
require_relative 'spec_helper'
|
|
|
|
describe 'openstack-network::_bridge_config_example' do
|
|
describe 'ubuntu' do
|
|
let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) }
|
|
let(:node) { runner.node }
|
|
let(:chef_run) do
|
|
runner.converge(described_recipe)
|
|
end
|
|
|
|
before do
|
|
%w(eth-ext eth-vlan eth-tun).each do |eth|
|
|
stub_command("ip link show | grep #{eth}")
|
|
end
|
|
allow_any_instance_of(Chef::Recipe).to receive(:address_for)
|
|
.with('eth-tun')
|
|
.and_return('1.2.3.4')
|
|
end
|
|
|
|
describe 'create ovs external network bridge and port' do
|
|
let(:cmd_br) { 'ovs-vsctl --may-exist add-br br-ex' }
|
|
let(:cmd_port) { 'ovs-vsctl --may-exist add-port br-ex eth-ext' }
|
|
let(:name) { 'create external network bridge' }
|
|
|
|
it 'adds external network bridge' do
|
|
expect(chef_run).to run_execute(name)
|
|
.with(command: cmd_br)
|
|
end
|
|
it 'adds external network bridge port' do
|
|
expect(chef_run).to run_execute("#{name} port")
|
|
.with(command: cmd_port)
|
|
end
|
|
end
|
|
|
|
describe 'create vlan network bridge and port' do
|
|
let(:cmd_br) { 'ovs-vsctl --may-exist add-br br-vlan' }
|
|
let(:cmd_port) { 'ovs-vsctl --may-exist add-port br-vlan eth-vlan' }
|
|
let(:name) { 'create vlan network bridge' }
|
|
|
|
it 'adds vlan network bridge' do
|
|
expect(chef_run).to run_execute(name)
|
|
.with(command: cmd_br)
|
|
end
|
|
it 'adds vlan network bridge port' do
|
|
expect(chef_run).to run_execute("#{name} port")
|
|
.with(command: cmd_port)
|
|
end
|
|
end
|
|
|
|
describe 'create tunnel network bridge' do
|
|
let(:cmd_br) { 'ovs-vsctl --may-exist add-br br-tun' }
|
|
let(:name) { 'create tunnel network bridge' }
|
|
|
|
it 'adds tunnel network bridge' do
|
|
expect(chef_run).to run_execute(name)
|
|
.with(command: cmd_br)
|
|
end
|
|
end
|
|
end
|
|
end
|