def migrate_container(container_id, cidr, attached_cidrs)
      # first remove any existing addresses
      # this is required, since weave will not attach if the address already exists, but with a different netmask
      attached_cidrs.each do |attached_cidr|
        if cidr != attached_cidr
          warn "Migrate container=#{container_id} from cidr=#{attached_cidr}"
          @executor_pool.detach(container_id, attached_cidr)
        end
      end

      # attach with the correct address
      self.attach_container(container_id, cidr)
    end
def migrate_container(container_id, cidr, attached_cidrs)
      # first remove any existing addresses
      # this is required, since weave will not attach if the address already exists, but with a different netmask
      attached_cidrs.each do |attached_cidr|
        if cidr != attached_cidr
          warn "Migrate container=#{container_id} from cidr=#{attached_cidr}"
          @executor_pool.detach(container_id, attached_cidr)
        end
      end

      # attach with the correct address
      self.attach_container(container_id, cidr)
    end
Attach container to weave with given CIDR address, first detaching any existing mismatching addresses

 @param [String] container_id
 @param [String] overlay_cidr '10.81.X.Y/16'
 @param [Array<String>] migrate_cidrs ['10.81.X.Y/19']