From d346a65b37c8b1a23e28aadc81365cff1e962c81 Mon Sep 17 00:00:00 2001 From: Jan Orel Date: Mon, 18 Jan 2021 17:32:18 +0100 Subject: [PATCH] L #-: Lint ipam/elasitc files (#661) --- src/ipamm_mad/remotes/aws/register_address_range | 9 ++++++--- .../remotes/packet/register_address_range | 5 ++++- src/vnm_mad/remotes/elastic/Elastic.rb | 14 +++++++++++--- src/vnm_mad/remotes/elastic/aws_vnm.rb | 4 +++- src/vnm_mad/remotes/elastic/packet_vnm.rb | 2 +- src/vnm_mad/remotes/elastic/pre | 1 - src/vnm_mad/remotes/lib/vlan.rb | 1 - 7 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/ipamm_mad/remotes/aws/register_address_range b/src/ipamm_mad/remotes/aws/register_address_range index 0fb4783e8c..15fff87982 100755 --- a/src/ipamm_mad/remotes/aws/register_address_range +++ b/src/ipamm_mad/remotes/aws/register_address_range @@ -91,16 +91,19 @@ require 'opennebula' require 'oneprovision' require 'ipaddr' +# Add ^ and < operators to the IPAddr class class IPAddr + attr_reader :addr def ^(other) - return self.clone.set(@addr ^ other.to_i) + clone.set(@addr ^ other.to_i) end def <(other) - return @addr < other.addr + @addr < other.addr end + end begin @@ -126,7 +129,7 @@ begin cidr = IPAddr.new(cidr_s) - if ! ['255.255.0.0', '16'].include? mask + if !['255.255.0.0', '16'].include? mask STDERR.puts 'Elastic CIDR block has to be /16' exit(-1) end diff --git a/src/ipamm_mad/remotes/packet/register_address_range b/src/ipamm_mad/remotes/packet/register_address_range index f6cc5f1b8a..40570e780e 100755 --- a/src/ipamm_mad/remotes/packet/register_address_range +++ b/src/ipamm_mad/remotes/packet/register_address_range @@ -97,10 +97,13 @@ require 'ipaddr' IP_TYPE = %w[public_ipv4 global_ipv4] +# Add ^ operator to the IPAddr class class IPAddr + def ^(other) - return self.clone.set(@addr ^ other.to_i) + clone.set(@addr ^ other.to_i) end + end begin diff --git a/src/vnm_mad/remotes/elastic/Elastic.rb b/src/vnm_mad/remotes/elastic/Elastic.rb index 24ca4abd09..ba76cfff43 100644 --- a/src/vnm_mad/remotes/elastic/Elastic.rb +++ b/src/vnm_mad/remotes/elastic/Elastic.rb @@ -82,9 +82,11 @@ class ElasticDriver < VNMMAD::VNMDriver next if attach_nic_id && attach_nic_id != nic[:nic_id] ip("route del #{nic[:ip]}/32 dev #{nic[:bridge]} | true") - ip("neighbour del proxy #{nic[:gateway]} dev #{nic[:bridge]} | true") + ip("neighbour del proxy #{nic[:gateway]} dev #{nic[:bridge]} " << + '| true') next if nic[:conf][:keep_empty_bridge] + ip("link delete #{nic[:bridge]} | true") end @@ -102,6 +104,7 @@ class ElasticDriver < VNMMAD::VNMDriver attach_nic_id = @vm['TEMPLATE/NIC[ATTACH="YES"]/NIC_ID'] rc = @vm.each_nic do |nic| next if attach_nic_id && attach_nic_id != nic[:nic_id] + # pass aws_allocation_id if present opts = { :alloc_id => nic[:aws_allocation_id] } @@ -111,7 +114,10 @@ class ElasticDriver < VNMMAD::VNMDriver assigned << [nic[:ip], nic[:external]] end - assigned.each {|ip, ext| provider.unassign(ip, ext) } unless rc # rollback + # rollback + assigned.each do |ip, ext| + provider.unassign(ip, ext) + end unless rc !rc end @@ -125,6 +131,7 @@ class ElasticDriver < VNMMAD::VNMDriver attach_nic_id = @vm['TEMPLATE/NIC[ATTACH="YES"]/NIC_ID'] @vm.each_nic do |nic| next if attach_nic_id && attach_nic_id != nic[:nic_id] + provider.unassign(nic[:ip], nic[:external]) end end @@ -160,5 +167,6 @@ class ElasticDriver < VNMMAD::VNMDriver commands.add :ip, params commands.run_remote(@ssh) end + end - # rubocop:enable Naming/FileName +# rubocop:enable Naming/FileName diff --git a/src/vnm_mad/remotes/elastic/aws_vnm.rb b/src/vnm_mad/remotes/elastic/aws_vnm.rb index 498f7d9869..f09a26e10f 100644 --- a/src/vnm_mad/remotes/elastic/aws_vnm.rb +++ b/src/vnm_mad/remotes/elastic/aws_vnm.rb @@ -91,7 +91,9 @@ class AWSProvider filter = [{ :name => 'public-ip', :values => [external] }] aws_ip = @ec2.describe_addresses({ :filters => filter }).addresses[0] - if aws_ip.nil? || aws_ip.network_interface_id.nil? || aws_ip.private_ip_address.nil? + if aws_ip.nil? \ + || aws_ip.network_interface_id.nil? \ + || aws_ip.private_ip_address.nil? return end diff --git a/src/vnm_mad/remotes/elastic/packet_vnm.rb b/src/vnm_mad/remotes/elastic/packet_vnm.rb index a59013f258..9554370afd 100644 --- a/src/vnm_mad/remotes/elastic/packet_vnm.rb +++ b/src/vnm_mad/remotes/elastic/packet_vnm.rb @@ -49,7 +49,7 @@ class PacketProvider @deploy_id = host['TEMPLATE/PROVISION/DEPLOY_ID'] end - def assign(ip, _external, opts = {}) + def assign(ip, _external, _opts = {}) @client.assign_cidr_device("#{ip}/32", @deploy_id) 0 rescue StandardError => e diff --git a/src/vnm_mad/remotes/elastic/pre b/src/vnm_mad/remotes/elastic/pre index 5a57ad9703..5368cbfe19 100755 --- a/src/vnm_mad/remotes/elastic/pre +++ b/src/vnm_mad/remotes/elastic/pre @@ -50,7 +50,6 @@ begin deploy_id) drv.create_bridges - rescue StandardError => e OpenNebula.log_error(e.message) OpenNebula.log_error(e.backtrace) diff --git a/src/vnm_mad/remotes/lib/vlan.rb b/src/vnm_mad/remotes/lib/vlan.rb index 5e6e602a48..8abe751132 100644 --- a/src/vnm_mad/remotes/lib/vlan.rb +++ b/src/vnm_mad/remotes/lib/vlan.rb @@ -141,7 +141,6 @@ module VNMMAD @nic[:vlan_dev] = "#{@nic[:phydev]}.#{@nic[:vlan_id]}" end - def list_interface_vlan(_name) nil end