-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuildVifDriver
executable file
·66 lines (49 loc) · 1.69 KB
/
buildVifDriver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
DRIVER_NAME=$1
BUILDDIR=build
NAME=${DRIVER_NAME}-driver
VERSION=0
TARGETDIR=$BUILDDIR/$NAME-$VERSION
HOOKSDIR=usr/libexec/vdsm/hooks
TARGET_VIFDRIVERDIR=$HOOKSDIR/vifdriver
RPMBUILDDIR=~/rpmbuild
HOOKS=(
'get_caps'
'get_stats'
'device_create'
'device_destroy'
'vm_migrate_destination'
'vm_migrate_source'
'nic_hotplug'
'nic_hotunplug'
'network_setup'
'vm_start'
)
PREFIXES=('before' 'after')
rm -rf $TARGETDIR/usr/libexec/vdsm/hooks/*
mkdir -p $TARGETDIR/usr/libexec/vdsm/hooks/vifdriver
cp vifdriver/vif_driver.py $TARGETDIR/$TARGET_VIFDRIVERDIR/
cp vifdriver/vif_driver_hooking.py $TARGETDIR/$TARGET_VIFDRIVERDIR/
cp vifdriver/vifdriver_implementations/${DRIVER_NAME}/* $TARGETDIR/$TARGET_VIFDRIVERDIR/
for prefix in "${PREFIXES[@]}"
do
for hook in "${HOOKS[@]}"
do
hook_name=${prefix}_${hook}
echo ==== $hook_name ====
mkdir -p $TARGETDIR/usr/libexec/vdsm/hooks/${prefix}_${hook}
echo Create dir: $TARGETDIR/usr/libexec/vdsm/hooks/$hook_name
cp vifdriver/hooks/external_networks_${hook_name}.py $TARGETDIR/$HOOKSDIR/${hook_name}
echo Copy: cp vifdriver/hooks/external_networks_${prefix}_${hook}.py $TARGETDIR/$HOOKSDIR/${prefix}_${hook}/
chmod 755 $TARGETDIR/$HOOKSDIR/${prefix}_${hook}/external_networks_${prefix}_${hook}.py
echo chmod 755 $TARGETDIR/$HOOKSDIR/${prefix}_${hook}/external_networks_${prefix}_${hook}.py
done
done
cp vifdriver/Makefile $TARGETDIR/
cd $BUILDDIR
tar -zcf $NAME.tar.gz vdsmdummy-driver-0/
cp $NAME.tar.gz $RPMBUILDDIR/SOURCES
cd ..
rpmbuild -ba vifdriver/vdsmdummy-driver.spec
echo "RPM ready: $RPMBUILDDIR/RPMS/$NAME-$VERSION.rpm"
#rm -rf ./$BUILDDIR