Fix the types for midonet gateway type

Change-Id: I1bb96901856173de8d9b5d7d20016d9a2a10467f
This commit is contained in:
Alex Ruiz Estradera 2016-10-10 16:04:14 +02:00
parent 178a9d1c4c
commit f615e10861
2 changed files with 16 additions and 10 deletions

View File

@ -25,13 +25,15 @@ Puppet::Type.type(:midonet_gateway_bgp).provide(:midonet_api_caller) do
define_connection(resource[:midonet_api_url])
entered_neighbors_parsed = bgp_neighbors_resource.collect { |x| {'ip_address' => x['ip_address'], 'remote_asn' => x['remote_asn'].to_i} }
# Get the edge router uuid
provider_router = call_get_provider_router()[0]
provider_router_id = provider_router['id']
# Assign local ASN to the provider router
asn = provider_router['asNumber']
call_assign_asn(provider_router, resource[:bgp_local_as_number]) unless asn == resource[:bgp_local_as_number]
call_assign_asn(provider_router, resource[:bgp_local_as_number]) unless asn.to_i == resource[:bgp_local_as_number].to_i
# Sync BGP peers
bgp_neighbors = call_get_bgp_peers(provider_router_id)
@ -41,8 +43,8 @@ Puppet::Type.type(:midonet_gateway_bgp).provide(:midonet_api_caller) do
"remote_asn" => bgp_neighbor["asNumber"] }
m << n
end
tbd_peers = m - bgp_neighbors_resource
tba_peers = bgp_neighbors_resource - m
tbd_peers = m - entered_neighbors_parsed
tba_peers = entered_neighbors_parsed - m
tba_peers.each { |a| call_add_bgp_peer(provider_router_id, a['ip_address'], a['remote_asn']) }
tbd_peers.each do |d|
@ -113,7 +115,7 @@ Puppet::Type.type(:midonet_gateway_bgp).provide(:midonet_api_caller) do
# De-advertise floating IP networks
bgp_networks = call_get_bgp_networks(provider_router_id)
bgp_networks.each do |bgp_network|
call_delete_bgp_network(bgp_network)
call_delete_bgp_network(bgp_network["id"])
end
end
@ -133,13 +135,15 @@ Puppet::Type.type(:midonet_gateway_bgp).provide(:midonet_api_caller) do
define_connection(resource[:midonet_api_url])
entered_neighbors_parsed = bgp_neighbors_resource.collect { |x| {'ip_address' => x['ip_address'], 'remote_asn' => x['remote_asn'].to_i} }
# Get the edge router uuid
provider_router = call_get_provider_router()[0]
provider_router_id = provider_router['id']
result_array = Array.new
# Check if local ASN is the same
result_array.push(provider_router["asNumber"] == resource[:bgp_local_as_number])
result_array.push(provider_router["asNumber"].to_i == resource[:bgp_local_as_number].to_i)
# Check if BGP neighbors are the same
bgp_neighbors = call_get_bgp_peers(provider_router_id)
m = Array.new
@ -148,7 +152,7 @@ Puppet::Type.type(:midonet_gateway_bgp).provide(:midonet_api_caller) do
"remote_asn" => bgp_neighbor["asNumber"] }
m << n
end
result_array.push(m == bgp_neighbors_resource)
result_array.push(m == entered_neighbors_parsed)
# Check if advertised networks are the same
bgp_advertised_networks = call_get_bgp_networks(provider_router_id)
j = Array.new

View File

@ -61,7 +61,9 @@ describe Puppet::Type.type(:midonet_gateway_bgp).provider(:midonet_api_caller) d
let(:bgp_networks) {
[
{
"id" => "4a5e4356-3417-4c60-9cf8-7516abcd1234",
"id" => "4a5e4356-3417-4c60-9cf8-7516abcd1234",
"subnetAddress" => "10.0.0.0",
"subnetLength" => "24"
}
]
}
@ -84,7 +86,7 @@ describe Puppet::Type.type(:midonet_gateway_bgp).provider(:midonet_api_caller) d
allow(provider).to receive(:call_advertise_bgp_network)
allow(provider).to receive(:call_get_bgp_peers).and_return(bgp_peers)
allow(provider).to receive(:call_delete_bgp_peer)
allow(provider).to receive(:call_get_bgp_networks).and_return(bgp_networks.map { |e| e['id'] })
allow(provider).to receive(:call_get_bgp_networks).and_return(bgp_networks)
allow(provider).to receive(:call_delete_bgp_network)
allow(provider).to receive(:call_get_bgp_routes).and_return(bgp_routes)
end
@ -92,8 +94,8 @@ describe Puppet::Type.type(:midonet_gateway_bgp).provider(:midonet_api_caller) d
it 'follows happy path (BGP)' do
expect(provider).to receive(:call_get_provider_router)
expect(provider).to receive(:call_assign_asn)
expect(provider).to receive(:call_add_bgp_peer).with(routers[0]['id'], '200.100.98.7', '45237')
expect(provider).to receive(:call_add_bgp_peer).with(routers[0]['id'], '182.24.63.2', '45235')
expect(provider).to receive(:call_add_bgp_peer).with(routers[0]['id'], '200.100.98.7', 45237)
expect(provider).to receive(:call_add_bgp_peer).with(routers[0]['id'], '182.24.63.2', 45235)
expect(provider).to receive(:call_advertise_bgp_network).with(routers[0]['id'], '200.100.0.0/24')
expect(provider).to receive(:call_advertise_bgp_network).with(routers[0]['id'], '200.0.20.0/24')
expect(provider).to receive(:call_get_bgp_peers).with(routers[0]['id'])