fuel-library/deployment/puppet/l23network/spec/unit/puppet/provider/l2_port/dpdkovs__spec.rb

94 lines
3.1 KiB
Ruby

require 'spec_helper'
describe Puppet::Type.type(:l2_port).provider(:dpdkovs) do
let(:resource_br1) {
Puppet::Type.type(:l2_bridge).new(
:provider => 'ovs',
:name => 'br1',
:bridge => 'br1',
:vendor_specific => {
:datapath_type => 'netdev',
}
)
}
let(:provider_br1) { resource_br1.provider }
let(:resource_port) {
Puppet::Type.type(:l2_port).new(
:provider => 'dpdkovs',
:bridge => 'br1',
:name => 'eth0',
)
}
let(:resource_port_mtu) {
Puppet::Type.type(:l2_port).new(
:provider => 'dpdkovs',
:bridge => 'br1',
:name => 'eth0',
:mtu => '1504',
:vendor_specific => {
:driver => 'i40e',
},
)
}
let(:resource_port_multiq) {
Puppet::Type.type(:l2_port).new(
:provider => 'dpdkovs',
:bridge => 'br1',
:name => 'eth0',
:vendor_specific => {
:max_queues => '8',
},
)
}
let(:provider_port) { resource_port.provider }
let(:provider_port_mtu) { resource_port_mtu.provider }
let(:provider_port_multiq) { resource_port_multiq.provider }
let(:dpdk_ports_mapping) {
{
'eth0' => 'dpdk0'
}
}
describe "ovs port" do
before(:each) do
puppet_debug_override()
provider_br1.class.stubs(:vsctl).with(['add-br', 'br1', '--', 'set', 'Bridge', 'br1', 'datapath_type=netdev']).returns(true)
provider_br1.class.stubs(:vsctl).with('set', 'Bridge', 'br1', 'stp_enable=false').returns(true)
provider_br1.class.stubs(:vsctl).with('set', 'Port', 'br1', 'tag=[]').returns(true)
provider_br1.class.stubs(:interface_up).with('br1').returns(true)
end
it "Create bridge and add physical port to it" do
provider_br1.create
provider_br1.flush
provider_port.class.stubs(:vsctl).with(['--may-exist', 'add-port', 'br1', 'dpdk0', '--', 'set', 'Interface', 'dpdk0', 'type=dpdk']).returns(true)
provider_port.class.stubs(:get_dpdk_ports_mapping).returns(dpdk_ports_mapping)
provider_port.create
end
it "Create port with custom mtu" do
provider_br1.create
provider_br1.flush
provider_port_mtu.class.stubs(:vsctl).with(['--may-exist', 'add-port', 'br1', 'dpdk0', '--', 'set', 'Interface', 'dpdk0', 'type=dpdk']).returns(true)
provider_port_mtu.class.stubs(:get_dpdk_ports_mapping).returns(dpdk_ports_mapping)
provider_port_mtu.create
provider_port_mtu.class.stubs(:vsctl).with('set', 'Interface', 'dpdk0', 'mtu_request=1504').returns(true)
provider_port_mtu.flush
end
it " Create port with multiq" do
provider_br1.create
provider_br1.flush
provider_port_multiq.class.stubs(:vsctl).with(['--may-exist', 'add-port', 'br1', 'dpdk0', '--', 'set', 'Interface', 'dpdk0', 'type=dpdk']).returns(true)
provider_port_multiq.class.stubs(:get_dpdk_ports_mapping).returns(dpdk_ports_mapping)
provider_port_multiq.create
provider_port_multiq.class.stubs(:vsctl).with('set', 'Interface', 'dpdk0', 'options:n_rxq=8').returns(true)
provider_port_multiq.flush
end
end
end