#!/bin/bash . ./lib/db.sh . ./lib/colors.sh . ./lib/vpc.sh . ./lib/dhcp.sh function check_subnet_exist { local vpc_name="${1}" local subnet_name="${2}" local vxlan_id="${3}" local subnet_id="${4}" print_in_color "${COLOR_GREY}" "Check in db if ${subnet_name} exist" check_in_db subnet "${subnet_name};${vpc_name}" [ "$?" -eq "0" ] || return 1 print_in_color "${COLOR_GREY}" "Check in linux if ${subnet_name} exist" ip link show | grep -E '^[0-9]*:'|sed -e 's/ //g' | cut -d: -f 2 | grep "br-${subnet_id}" > /dev/null || return 1 ip -n "${vpc_name}" link show | grep -E '^[0-9]*:'|sed -e 's/ //g' | cut -d: -f 2 | grep "br-${subnet_id}" > /dev/null || return 1 ip link show | grep -E '^[0-9]*:'|sed -e 's/ //g' | cut -d: -f 2 | grep "v-${subnet_id}-e" > /dev/null || return 1 ip -n "${vpc_name}" link show | grep -E '^[0-9]*:'|sed -e 's/ //g' | cut -d: -f 2 | grep "v-${subnet_id}-i" > /dev/null || return 1 ip link show | grep -E '^[0-9]*:'|sed -e 's/ //g' | cut -d: -f 2 | grep "vxlan-${vxlan_id}" > /dev/null || return 1 return 0 } function create_subnet { local vpc_name="${1}" local subnet_name="${2}" local vxlan_id="${3}" local local_ip="${4}" local gateway_ip="${5}" local subnet="${6}" local subnet_id="$(echo "${subnet_name}" | cut -d\- -f2)" /opt/two/bin/subnet -action create \ -cidr "${subnet}" \ -gateway-ip "${gateway_ip}" \ -local-ip "${local_ip}" \ -name "${subnet_name}" \ -vpc "${vpc_name}" \ -vxlan-id "${vxlan_id}" return 0 } function delete_subnet { local subnet_name="${1}" /opt/two/bin/subnet -action delete -name "${subnet_name}" print_in_color "${COLOR_GREY}" "Try to delete ${vpc_name}" count_in_db "subnet" "${vpc_name}" [ "$?" -eq "0" ] && delete_vpc "${vpc_name}" }