feat: Désactivation de librairies obsolettes
This commit is contained in:
1
libs.deprecated/grepp.bash
Executable file
1
libs.deprecated/grepp.bash
Executable file
@ -0,0 +1 @@
|
||||
grepp() { x=$1; shift; perl -00ne ' print if /'"$x"'/i ' "$*" ; }
|
31
libs.deprecated/ipplan.bash
Executable file
31
libs.deprecated/ipplan.bash
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
function ipplan_search_by_ip()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where ipaddr = inet_aton('$1');" | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
||||
|
||||
function ipplan_search_by_location()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where location like '%$1%';" | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
||||
|
||||
function ipplan_search_by_name()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where hname like '%$1%';" | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
||||
|
||||
function ipplan_search_by_desc()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where descrip like '%$1%';" | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
||||
|
||||
function ipplan_search_by_user()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where userinf like '%$1%';" | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
||||
|
||||
function ipplan_list_ingesys()
|
||||
{
|
||||
echo "select inet_ntoa(ipaddr) as ip, location, hname, descrip, userinf from ipaddr where userinf like '%ing%sys%'; " | ssh virt-cha-nettools mysql --database ipplan --default-character-set=latin1 --table
|
||||
}
|
16
libs.deprecated/ldif.bash
Normal file
16
libs.deprecated/ldif.bash
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
function ldifparse ()
|
||||
{
|
||||
awk 'length > 79 {
|
||||
n=1
|
||||
while ( length($0) > 78 + n ) {
|
||||
printf "%s\n ", substr($0,1,78 + n)
|
||||
$0 = substr($0,79 + n)
|
||||
n=0
|
||||
}
|
||||
if (length) print
|
||||
next
|
||||
}
|
||||
{print}' "$FILE"
|
||||
}
|
279
libs.deprecated/virtualization.bash
Executable file
279
libs.deprecated/virtualization.bash
Executable file
@ -0,0 +1,279 @@
|
||||
#!/bin/bash
|
||||
|
||||
hypervisor_connect() {
|
||||
|
||||
if [ -e "${1}" ]; then echo "Usage : $0 hypervisor_name_or_ip"; return 1; fi
|
||||
hypervisor=${1}
|
||||
|
||||
echo
|
||||
echo "Trying to start interactive virsh session on ${hypervisor}"
|
||||
term_change_title "virsh session for ${USER} on ${hypervisor}"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system
|
||||
|
||||
}
|
||||
|
||||
hypervisor_command() {
|
||||
|
||||
if [ -e "${1}" ]; then echo "Usage : $0 hypervisor_name_or_ip"; return 1; fi
|
||||
hypervisor=${1}
|
||||
shift
|
||||
|
||||
echo
|
||||
echo "Trying to exec virsh command ($*) on ${hypervisor}"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system "$*"
|
||||
|
||||
}
|
||||
|
||||
vm_create() {
|
||||
|
||||
if [ $# -ne 5 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name vm_ram_size vm_disk_size vm_mac"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
ramsize=${3}
|
||||
disksize=${4}
|
||||
mac=${5}
|
||||
#mac=$( grep ${name} ~/repositories/fai/config-dhcp/dhcpd-hosts.conf | sed -e 's/^.*hardware.*ethernet\s*\([0-9a-zA-Z:]*\);.*$/\1/' )
|
||||
|
||||
echo "Creating VM with virt-install"
|
||||
virt-install --connect=qemu+ssh://${USER}@${hypervisor}/system \
|
||||
--name=${name} \
|
||||
--description="${name}" \
|
||||
--cpu=host \
|
||||
--ram=${ramsize} \
|
||||
--disk=/dev/lvm_guests_system/${name},size=${disksize},bus=virtio,cache=writethrough,io=native \
|
||||
--network=bridge=br192,mac=${mac},model=virtio \
|
||||
--os-type=linux \
|
||||
--os-variant=debiansqueeze \
|
||||
--boot=network,hd,menu=on \
|
||||
--pxe \
|
||||
--graphics=vnc \
|
||||
--noautoconsole
|
||||
|
||||
echo "Done"
|
||||
|
||||
}
|
||||
|
||||
vm_delete() {
|
||||
if [ $# -ne 2 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
|
||||
echo "Deleting VM ${name}"
|
||||
virsh destroy ${name}
|
||||
virsh undefine ${name}
|
||||
virsh vol-delete --pool default ${name}
|
||||
virsh vol-delete --pool lvm_guests_system ${name}
|
||||
virsh vol-delete --pool lvm_guests_data ${name}
|
||||
}
|
||||
|
||||
vm_start() {
|
||||
|
||||
if [ $# -ne 2 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
|
||||
echo
|
||||
echo "Trying to start ${name} on ${hypervisor} with virsh"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system start ${name}
|
||||
|
||||
}
|
||||
|
||||
vm_stop() {
|
||||
|
||||
if [ $# -ne 2 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
|
||||
echo
|
||||
echo "Trying to stop ${name} on ${hypervisor} with virsh"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system shutdown ${name}
|
||||
|
||||
}
|
||||
|
||||
vm_destroy() {
|
||||
|
||||
if [ $# -ne 2 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
|
||||
echo
|
||||
echo "Trying to destroy ${name} on ${hypervisor} with virsh"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system destroy ${name}
|
||||
|
||||
}
|
||||
|
||||
vm_connect() {
|
||||
|
||||
if [ $# -ne 2 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
|
||||
echo
|
||||
echo "Trying to connect to ${name} on ${hypervisor} with virsh"
|
||||
term_change_title "virsh session for ${USER} on ${hypervisor} : ${name} console"
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system ttyconsole ${name}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system console ${name}
|
||||
|
||||
}
|
||||
|
||||
#### A tester
|
||||
vm_change_bridge() {
|
||||
|
||||
if [ $# -ne 4 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name vm_mac vm_new_bridge"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
mac=${3}
|
||||
bridge=${4}
|
||||
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domiflist ${name}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system detach-interface --config --domain ${name} --type bridge --mac ${mac}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system attach-interface --config --domain ${name} --type bridge --mac ${mac} --source ${bridge}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domiflist ${name}
|
||||
|
||||
}
|
||||
|
||||
vm_add_data_disk() {
|
||||
|
||||
if [ $# -ne 3 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name size (in Gb)"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
size=$(( ${3} * 1024 * 1024 * 1024 ))
|
||||
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system pool-list
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domblklist ${name}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system vol-create-as --pool guests_data --name ${name} --capacity ${size} --format raw
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system attach-disk ${name} /dev/lvm_guests_data/${name} vdb --cache writethrough --persistent
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domblklist ${name}
|
||||
|
||||
}
|
||||
|
||||
vm_create_magick() {
|
||||
|
||||
if [ $# -ne 4 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name vm_ram_size vm_disk_size"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
ramsize=${3}
|
||||
disksize=${4}
|
||||
IFS='.' read -a array <<< "$(ssh admin dig +search +short ${name})"
|
||||
ip=$(printf "%3d.%3d.%3d.%3d\n" ${array[0]} ${array[1]} ${array[2]} ${array[3]})
|
||||
mac=$(printf "52:54:00:%02X:%02X:%02X\n" ${array[1]} ${array[2]} ${array[3]})
|
||||
|
||||
|
||||
echo "Creating VM with virt-install"
|
||||
echo " * mac = ${mac}"
|
||||
echo " * ip = ${ip}"
|
||||
virt-install --connect=qemu+ssh://${USER}@${hypervisor}/system \
|
||||
--name=${name} \
|
||||
--description="${name}" \
|
||||
--cpu=host \
|
||||
--ram=${ramsize} \
|
||||
--disk=/dev/lvm_guests_system/${name},size=${disksize},bus=virtio,cache=writethrough,io=native \
|
||||
--network=bridge=br192,mac=${mac},model=virtio \
|
||||
--os-type=linux \
|
||||
--os-variant=debianwheezy \
|
||||
--boot=network,hd,menu=on \
|
||||
--pxe \
|
||||
--graphics=vnc \
|
||||
--noautoconsole
|
||||
|
||||
echo "Done"
|
||||
|
||||
}
|
||||
|
||||
vm_create_magick2() {
|
||||
|
||||
if [ $# -ne 3 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name vm_template"; return 1; fi
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
template=${3}
|
||||
|
||||
# Define ressources based on template
|
||||
case $template in
|
||||
small)
|
||||
vcpus="1,maxvcpus=2"
|
||||
memory="1024,maxmemory=2048"
|
||||
disk="/dev/lvm_guests_system/${name},size=10,bus=virtio,cache=writethrough,io=native"
|
||||
;;
|
||||
medium)
|
||||
vcpus="vcpus=2,maxvcpus=4"
|
||||
memory="memory=2048,maxmemory=4096"
|
||||
disk="/dev/lvm_guests_system/${name},size=20,bus=virtio,cache=writethrough,io=native"
|
||||
;;
|
||||
large)
|
||||
vcpus="vcpus=4,maxvcpus=8"
|
||||
memory="memory=4096,maxmemory=8192"
|
||||
disk="/dev/lvm_guests_system/${name},size=40,bus=virtio,cache=writethrough,io=native"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get ip and compute MAC
|
||||
IFS='.' read -a array <<< "$(ssh admin dig +search +short ${name})"
|
||||
ip=$(printf "%3d.%3d.%3d.%3d\n" ${array[0]} ${array[1]} ${array[2]} ${array[3]})
|
||||
mac=$(printf "52:54:00:%02X:%02X:%02X\n" ${array[1]} ${array[2]} ${array[3]})
|
||||
|
||||
|
||||
echo "Creating VM with virt-install"
|
||||
echo " * mac = ${mac}"
|
||||
echo " * ip = ${ip}"
|
||||
virt-install --connect=qemu+ssh://${USER}@${hypervisor}/system \
|
||||
--name="${name}" \
|
||||
--description="${name}" \
|
||||
--cpu=host \
|
||||
--vcpus=${vcpus} \
|
||||
--memory=${memory} \
|
||||
--disk=${disk} \
|
||||
--network=bridge=br192,mac=${mac},model=virtio \
|
||||
--os-type=linux \
|
||||
--os-variant=debianwheezy \
|
||||
--boot=menu=on,useserial=on,network,hd \
|
||||
--pxe \
|
||||
--graphics=vnc \
|
||||
--noautoconsole
|
||||
|
||||
echo "Done"
|
||||
|
||||
}
|
||||
|
||||
vm_change_bridge_magick() {
|
||||
|
||||
if [ $# -ne 3 ]; then echo "Usage : $0 hypervisor_name_or_ip vm_name vm_new_bridge"; return 1; fi
|
||||
|
||||
hypervisor=${1}
|
||||
name=${2}
|
||||
bridge=${3}
|
||||
|
||||
IFS='.' read -a array <<< "$(ssh admin dig +search +short ${name})"
|
||||
ip=$(printf "%3d.%3d.%3d.%3d\n" ${array[0]} ${array[1]} ${array[2]} ${array[3]})
|
||||
mac=$(printf "52:54:00:%02X:%02X:%02X\n" ${array[1]} ${array[2]} ${array[3]})
|
||||
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domiflist ${name} --inactive
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system detach-interface --config --domain ${name} --type bridge --mac ${mac}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system attach-interface --config --domain ${name} --type bridge --model virtio --mac ${mac} --source ${bridge}
|
||||
virsh --connect=qemu+ssh://${USER}@${hypervisor}/system domiflist ${name} --inactive
|
||||
|
||||
}
|
||||
|
||||
#### bash completion
|
||||
|
||||
_hypervisors() {
|
||||
if [ -e ~/.ssh/config ]; then
|
||||
configured_hypervisors=$(cat ~/.ssh/config | egrep -i "^\s*host\s+[a-zA-Z]" | sed -e "s/^host\s*//i" | grep -i hypervisor)
|
||||
fi
|
||||
if [ -e ~/.ssh/known_hosts ]; then
|
||||
known_hypervisors=$(cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e 's/,.*//g' | grep -v "\[" | grep -i hypervisor | uniq)
|
||||
fi
|
||||
echo $configured_hypervisors $known_hypervisors
|
||||
}
|
||||
|
||||
#complete -W "$(cat ~/.ssh/config | egrep -i "^\s*host\s+[a-zA-Z]" | sed -e "s/^host\s*//i" | grep -i hypervisor)" hypervisor_connect
|
||||
complete -W "$(_hypervisors)" hypervisor_connect
|
||||
complete -W "$(_hypervisors)" hypervisor_command
|
||||
complete -W "$(_hypervisors)" vm_create
|
||||
complete -W "$(_hypervisors)" vm_start
|
||||
complete -W "$(_hypervisors)" vm_stop
|
||||
complete -W "$(_hypervisors)" vm_connect
|
||||
complete -W "$(_hypervisors)" vm_change_bridge
|
||||
complete -W "$(_hypervisors)" vm_add_data_disk
|
||||
complete -W "$(_hypervisors)" vm_create_magick
|
||||
complete -W "$(_hypervisors)" vm_create_magick2
|
||||
complete -W "$(_hypervisors)" vm_change_bridge_magick
|
Reference in New Issue
Block a user