From 899840bfd633b7ae3374c6f78adb98f3b5ef65c1 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Tue, 6 Jan 2026 22:55:25 +0100 Subject: [PATCH] use metadata binarie #4 Signed-off-by: GnomeZworc --- lib/metadata.sh | 61 ++++++++--------------------------------------- lib/prime/init.sh | 3 +-- lib/qemu.sh | 4 ++-- 3 files changed, 13 insertions(+), 55 deletions(-) diff --git a/lib/metadata.sh b/lib/metadata.sh index 8c26e85..9c3617a 100644 --- a/lib/metadata.sh +++ b/lib/metadata.sh @@ -1,65 +1,24 @@ #!/bin/bash -function metadata_service() { - cp ./files/metadata.service /etc/systemd/system/metadata@.service - cp ./files/metadata.sh /usr/local/bin/run-metadata-in-netns.sh - chmod +x /usr/local/bin/run-metadata-in-netns.sh -} - -function metadata_config() { - vm_name="${1}" - meta_def="${2}" - ssh_key="${3}" - - PASSWORD="\$6\$LD5z9v/s2b170Twj\$pl1B/Mz0w8PCr7JhFcclQpBSxUQTDOiuPko8yf4LntEo8FrIo2yKVeHR6fb5VQpxX9NP2k9yhXdsp671Sc56u1" - - VENDOR_DATA=$( - cat < "/opt/metadata/${meta_def}.conf" -{ - "meta-data": "instance-id: ${vm_name}\nlocal-hostname: ${vm_name}\n", - "user-data": "#!/bin/sh\npasswd -d root\n", - "network-config": "version: 2\nethernets:\n eth0:\n dhcp4: true\n", - "vendor-data": "${VENDOR_DATA}" -} -END - - -} - function metadata_start() { local vpc="${1}" local ip="${2}" local port="${3}" local vm_name="${4}" local ssh_key="${5}" + local vm="${6}" + PASSWORD="\$6\$LD5z9v/s2b170Twj\$pl1B/Mz0w8PCr7JhFcclQpBSxUQTDOiuPko8yf4LntEo8FrIo2yKVeHR6fb5VQpxX9NP2k9yhXdsp671Sc56u1" - - metadata_config "${vm_name}" "${vpc}_${ip}-${port}" "${ssh_key}" - systemctl start "metadata@${vpc}_${ip}-${port}.service" + /opt/two/bin/meta --start --vm_name "${vm}" \ + --ip "${ip}" \ + --key "${ssh_key}" \ + --pass "${PASSWORD}" \ + --port "${port}" \ + --vpc_name "${vpc}" } function metadata_stop() { - vpc="${1}" - ip="${2}" - port="${3}" + vm="${1}" - systemctl stop "metadata@${vpc}_${ip}-${port}.service" - rm -f "/opt/metadata/${vpc}_${ip}-${port}.conf" + /opt/two/bin/meta --stop --vm_name "${vm}" } \ No newline at end of file diff --git a/lib/prime/init.sh b/lib/prime/init.sh index 5739719..bd58da9 100644 --- a/lib/prime/init.sh +++ b/lib/prime/init.sh @@ -40,7 +40,6 @@ function config_kvm { brctl addbr br-public brctl stp "br-public" off ip link set up dev "br-public" - - metadata_service + systemctl daemon-reload } \ No newline at end of file diff --git a/lib/qemu.sh b/lib/qemu.sh index 20886d2..681c65e 100644 --- a/lib/qemu.sh +++ b/lib/qemu.sh @@ -51,7 +51,7 @@ function qemu_start_vm { print_in_color "${COLOR_GREEN}" "Create tap tap${tap_id}" add_in_db "vm" "${vm_name}" "${subnet_name}" "${tap_id}" "${metadata_port}" "${ip}" "${public_ip}" create_tap "${tap_id}" "br-${subnet_id}" "${vpc_name}" - metadata_start "${vpc_name}" "${gateway_ip}" "${metadata_port}" "${vm_name}" "${ssh_key}" + metadata_start "${vpc_name}" "${gateway_ip}" "${metadata_port}" "${vm_name}" "${ssh_key}" "${vm_name}" ip netns exec "${vpc_name}" iptables -t nat -A PREROUTING -s "${ip}/32" -d "169.254.169.254/32" -p tcp -m tcp --dport 80 -j DNAT --to-destination "${gateway_ip}:${metadata_port}" print_in_color "${COLOR_GREEN}" "Start vm ${vm_name}" @@ -94,7 +94,7 @@ function qemu_stop_vm { print_in_color "${COLOR_RED}" "Delete tap${tap_id}" ip -n "${vpc_name}" link del dev "tap${tap_id}" - metadata_stop "${vpc_name}" "${gateway_ip}" "${metadata_port}" + metadata_stop "${vm_name}" delete_public_ip "${vpc_name}" "${public_ip}" "${ip}" delete_in_db "vm" "${vm_name}"