From b32a5d77072a6cc63477d524eb239c4a74cc65a6 Mon Sep 17 00:00:00 2001 From: Sebastian Rieger Date: Wed, 22 Jul 2015 10:19:13 +0200 Subject: [PATCH] - deleted moved files --- create-arista-veos-image.sh | 152 ------------------------------------ dynamic-subtype-vEOS.json | 22 ------ minimal-config-vEOS.txt | 28 ------- 3 files changed, 202 deletions(-) delete mode 100644 create-arista-veos-image.sh delete mode 100644 dynamic-subtype-vEOS.json delete mode 100644 minimal-config-vEOS.txt diff --git a/create-arista-veos-image.sh b/create-arista-veos-image.sh deleted file mode 100644 index 0169895..0000000 --- a/create-arista-veos-image.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/bash -# create-arista-veos-image.sh V1.1 -# HS-Fulda - sebastian.rieger@informatik.hs-fulda.de -# -# changelog: -# V1.1 added injection of config defined in VM Maestro using config-drivex - -# usage -if [ ! $# -eq 3 ] ; then - echo -e "usage: $0 , e.g.:\n" - echo "$0 Aboot-veos-serial-2.0.8.iso vEOS-4.13.4F.vmdk vEOS" - exit -1 -fi - -# sudo check -if [ ! $UID -eq 0 ] ; then - echo "Insufficient privileges. Please consider using sudo -s." - exit -1 -fi - -ABOOT_SERIAL_ISO=$1 -ABOOT_SERIAL_ISO_BASENAME=$(basename -s .iso $1) -VEOS_VMDK=$2 -VEOS_VMDK_BASENAME=$(basename -s .vmdk $2) -GLANCE_IMAGE_NAME=$3 -GLANCE_IMAGE_RELEASE=$VEOS_VMDK_BASENAME-$ABOOT_SERIAL_ISO_BASENAME -TMP_NAME="vEOS-$GLANCE_IMAGE_RELEASE" - -echo -echo "Creating vEOS image..." -echo "===========================================================" - -# create a copy of Aboot bootloader and extend it to 3G -cp $1 $TMP_NAME.raw -truncate -s +3G $TMP_NAME.raw - -echo -echo "Extracting partitions from vEOS vmdk..." -echo "===========================================================" - -# convert vmdk to raw and extract two partitions in it -qemu-img convert -O raw $2 $VEOS_VMDK_BASENAME.raw -kpartx -av $VEOS_VMDK_BASENAME.raw -dd if=/dev/loop0p1 of=$VEOS_VMDK_BASENAME-p1.raw -dd if=/dev/loop0p2 of=$VEOS_VMDK_BASENAME-p2.raw -kpartx -d $VEOS_VMDK_BASENAME.raw - -echo -echo "Injecting rc.eos startup script to get switch config..." -echo "===========================================================" - -# inject rc.eos script in first partition of the image, to get switch config defined in VM Maestro (config-drive) -mkdir swi -mount -o loop $VEOS_VMDK_BASENAME-p1.raw swi -cd swi -cat << EOF > rc.eos -#!/bin/sh -# -# startup script to get node configs from VM Maestro -# - -echo "Getting switch config from config drive..." -echo "==========================================" -mkdir /config-drive -mount /dev/sdb1 /config-drive - -echo "Getting ip address for ma1 via dhcp..." -echo "==========================================" -dhclient -r ma1 -dhclient -1 -v ma1 >/mnt/flash/dhclient.log -IP=\$(ip addr show ma1 | grep inet | tr -s ' ' | cut -d ' ' -f 3 | sed s/"\/"/"\\\\\\\\\/"/g) -echo \$IP -sed s/"! ip of ma1 configured on launch"/"ip address \$IP"/g /config-drive/veos_config.txt >/mnt/flash/startup-config.tmp -cat /mnt/flash/startup-config.tmp -echo - -echo "Copying switch config from config drive..." -echo "==========================================" -cp /mnt/flash/startup-config.tmp /mnt/flash/startup-config -EOF -chmod 755 rc.eos -cd .. -umount swi -rmdir swi - -echo -echo "Injecting new partitions from vEOS vmdk in Aboot image..." -echo "===========================================================" - -# calulate size of the two partitions -PART1_START=$(fdisk -l $VEOS_VMDK_BASENAME.raw | grep "\.raw1" | tr -s " " | cut -d ' ' -f 3) -PART1_END=$(fdisk -l $VEOS_VMDK_BASENAME.raw | grep "\.raw1" | tr -s " " | cut -d ' ' -f 4) -PART1_LENGTH=$(expr $PART1_END - $PART1_START) - -PART2_START=$(fdisk -l $VEOS_VMDK_BASENAME.raw | grep "\.raw2" | tr -s " " | cut -d ' ' -f 2) -PART2_END=$(fdisk -l $VEOS_VMDK_BASENAME.raw | grep "\.raw2" | tr -s " " | cut -d ' ' -f 3) -PART2_LENGTH=$(expr $PART2_END - $PART2_START) - -# append the two partitions from vmdk in the bootloader iso -echo -e "n -p - - -+$PART1_LENGTH -t -2 -c -a -2 -n -p - - -+$PART2_LENGTH -t -3 -12 -w" | fdisk $TMP_NAME.raw >/dev/null - -# copy the partitions from vEOS vmdk to new image -kpartx -av $TMP_NAME.raw -dd if=$VEOS_VMDK_BASENAME-p1.raw of=/dev/loop0p2 -dd if=$VEOS_VMDK_BASENAME-p2.raw of=/dev/loop0p3 -kpartx -d $TMP_NAME.raw - -echo -echo "Convert new image to qcow2..." -echo "===========================================================" - -# convert raw to qcow2 -qemu-img convert -O qcow2 $TMP_NAME.raw $TMP_NAME.qcow2 - -echo -echo "Cleaning up..." -echo "===========================================================" - -#cleanup -rm $TMP_NAME.raw -rm $VEOS_VMDK_BASENAME-p1.raw -rm $VEOS_VMDK_BASENAME-p2.raw -rm $VEOS_VMDK_BASENAME.raw - -echo -echo "Importing image into glance..." -echo "===========================================================" -glance image-create --container-format bare --disk-format qcow2 --is-public true --name $GLANCE_IMAGE_NAME --file $TMP_NAME.qcow2 --property hw_disk_bus=ide --property serial=1 --property hw_vif_model=e1000 --property hw_cdrom_type=ide --property release="$GLANCE_IMAGE_RELEASE" --property subtype=IOSv --property config_disk_type=disk - -#testing: -# -# nova boot --image "Arista vEOS Disk" --flavor m1.small veos --nic net-id=abc7ad47-55fd-4396-8d31-91dd4d41a18a --nic net-id=abc7ad47-55fd-4396-8d31-91dd4d41a18a --nic net-id=abc7ad47-55fd-4396-8d31-91dd4d41a18a --nic net-id=abc7ad47-55fd-4396-8d31-91dd4d41a18a --nic net-id=abc7ad47-55fd-4396-8d31-91dd4d41a18a -# -# using VM Maestro, the image can be chosen as "VM image", e.g., for an IOSv or IOSvL2 node diff --git a/dynamic-subtype-vEOS.json b/dynamic-subtype-vEOS.json deleted file mode 100644 index d277bbd..0000000 --- a/dynamic-subtype-vEOS.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "dynamic-subtypes": [ - { - "plugin_name": "vEOS", - "cli_serial": 1, - "plugin_desc": "Arista vEOS", - "cli_protocol": "ssh", - "hw_ram": 1024, - "hw_vm_extra": "", - "interface_wrap": 7, - "baseline_image": "vEOS", - "hw_disk_bus": "ide", - "interface_pattern": "Ethernet{0}", - "config_file": "/veos_config.txt", - "baseline_flavor": "vEOS.small", - "plugin_base": "IOSvL2", - "vnc_available": true, - "interface_management": "Management1", - "interface_range": 7 - } - ] -} \ No newline at end of file diff --git a/minimal-config-vEOS.txt b/minimal-config-vEOS.txt deleted file mode 100644 index f2d1b38..0000000 --- a/minimal-config-vEOS.txt +++ /dev/null @@ -1,28 +0,0 @@ -! device: veos-1 (vEOS, EOS-4.14.2F) -! -! boot system flash:/vEOS.swi -! -transceiver qsfp default-mode 4x10G -! -hostname veos-1 -! -spanning-tree mode mstp -! -no aaa root -! -username admin role network-admin secret 5 -$1$93LlZesx$MSqS1D/8NGTSY724FGx1K0 -username cisco role network-admin secret 5 -$1$rQS0W9wP$ZUzVG2XoGCCZCJopFp1aV/ -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Management1 - ! ip of ma1 configured on launch -! -no ip routing -! -! -end \ No newline at end of file