Fix the types for midonet gateway type
Change-Id: I1bb96901856173de8d9b5d7d20016d9a2a10467f
This commit is contained in:
parent
178a9d1c4c
commit
f615e10861
@ -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
|
||||
|
@ -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'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user