From 0a4ed4a156ae2b5c2012636c1ffde9393beecdcd Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Sun, 27 Apr 2025 22:54:44 +0200 Subject: [PATCH] create a full file Signed-off-by: GnomeZworc --- agent.sh | 56 +++++++++++++++++++ {frr => base_data/frr}/daemons | 0 {frr => base_data/frr}/local/frr.conf | 0 .../frr}/route_reflector/frr.conf | 0 {seed => base_data/seed}/meta-data | 0 {seed => base_data/seed}/network-config | 0 {seed => base_data/seed}/user-data | 0 start_net.sh => base_data/start_net.sh | 0 start_vm.sh => base_data/start_vm.sh | 0 9 files changed, 56 insertions(+) create mode 100644 agent.sh rename {frr => base_data/frr}/daemons (100%) rename {frr => base_data/frr}/local/frr.conf (100%) rename {frr => base_data/frr}/route_reflector/frr.conf (100%) rename {seed => base_data/seed}/meta-data (100%) rename {seed => base_data/seed}/network-config (100%) rename {seed => base_data/seed}/user-data (100%) rename start_net.sh => base_data/start_net.sh (100%) rename start_vm.sh => base_data/start_vm.sh (100%) diff --git a/agent.sh b/agent.sh new file mode 100644 index 0000000..adf7f12 --- /dev/null +++ b/agent.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +function start_vm { + [[ -f ./libs/shflags ]] && . ./libs/shflags || eval "$(curl --silent https://git.g3e.fr/H6N/tools/raw/branch/main/libs/shflags)" + + DEFINE_string 'interface' 'eno1' 'KVM Interface' 'i' + DEFINE_string 'vxlan_id' '-' 'VXLAN ID' 'v' + DEFINE_string 'gateway_ip' '-' 'Gatewat IP' 'g' + DEFINE_string 'network' '-' 'Network IP' 'n' + DEFINE_string 'netmask' '-' 'Network Mask' 'e' + DEFINE_string 'vpc_name' '-' 'VPC NAME' 'c' + DEFINE_string 'subnet_name' '-' 'SUBNET NAME' 's' + DEFINE_string 'vm_name' '-' 'VM NAME' 'm' + DEFINE_string 'vm_ip' '-' 'VM CIDR' 'p' + DEFINE_boolean 'dryrun' false 'Enable dry-run mode' 'd' + + FLAGS "$@" || exit $? + eval set -- "${FLAGS_ARGV}" + + #bash agent.sh StartVm -c vpc-00000 -s subnet-00000 -v 12 -g 240.0.0.1 -n 240.0.0.0 -e 16 -m i-00000 -p 240.0.1.1 + local local_ip=$(ip a show dev ${FLAGS_interface} | grep 'inet ' | sed -e 's/ */ /g' |cut -d\ -f 3|cut -d\/ -f1) + local gateway_ip="${FLAGS_gateway_ip}/32" + local subnet="${FLAGS_network}/${FLAGS_netmask}" + local vm_ip="${FLAGS_vm_ip}/${FLAGS_netmask}" + + echo "Create vm" + echo "kvm:" + echo " interface name: ${FLAGS_interface}" + echo " interface ip: ${local_ip}" + echo "subnet:" + echo " vpc: ${FLAGS_vpc_name}" + echo " vxlan: ${FLAGS_vxlan_id}" + echo " name: ${FLAGS_subnet_name}" + echo " gateway: ${gateway_ip}" + echo " network: ${subnet}" + echo "vm:" + echo " name: ${FLAGS_vm_name}" + echo " ip: ${vm_ip}" + echo " tap: to generate" +} + +function main { + fonction="${1}" + shift 1 + + case "${fonction}" in + "StartVm") + start_vm "$@" + ;; + *) + echo "action : ${fonction} not known !" + ;; + esac +} + +main "$@" \ No newline at end of file diff --git a/frr/daemons b/base_data/frr/daemons similarity index 100% rename from frr/daemons rename to base_data/frr/daemons diff --git a/frr/local/frr.conf b/base_data/frr/local/frr.conf similarity index 100% rename from frr/local/frr.conf rename to base_data/frr/local/frr.conf diff --git a/frr/route_reflector/frr.conf b/base_data/frr/route_reflector/frr.conf similarity index 100% rename from frr/route_reflector/frr.conf rename to base_data/frr/route_reflector/frr.conf diff --git a/seed/meta-data b/base_data/seed/meta-data similarity index 100% rename from seed/meta-data rename to base_data/seed/meta-data diff --git a/seed/network-config b/base_data/seed/network-config similarity index 100% rename from seed/network-config rename to base_data/seed/network-config diff --git a/seed/user-data b/base_data/seed/user-data similarity index 100% rename from seed/user-data rename to base_data/seed/user-data diff --git a/start_net.sh b/base_data/start_net.sh similarity index 100% rename from start_net.sh rename to base_data/start_net.sh diff --git a/start_vm.sh b/base_data/start_vm.sh similarity index 100% rename from start_vm.sh rename to base_data/start_vm.sh