117 lines
2.9 KiB
Plaintext
117 lines
2.9 KiB
Plaintext
|
#! /bin/bash
|
||
|
|
||
|
# Usage:
|
||
|
# create-vm vmname nic
|
||
|
|
||
|
if [ $# -eq 0 ]
|
||
|
then
|
||
|
echo "No arguments supplied"
|
||
|
echo "Usage:"
|
||
|
echo " create-vm <vm-name> <nic>"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
export VMNAME=$1
|
||
|
export NIC=$2
|
||
|
export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||
|
|
||
|
echo "$1"
|
||
|
echo $DIR
|
||
|
|
||
|
dladm create-vnic -l ${NIC} vnic${VMNAME}0
|
||
|
if [ $? -gt 0 ]
|
||
|
then
|
||
|
echo Error: Cannot Create Vnic vnic"$VMNAME"0 over $NIC
|
||
|
exit 1
|
||
|
else
|
||
|
echo "Koncal z izdelavo VNIC... $?"
|
||
|
fi
|
||
|
|
||
|
ipadm create-if vnic${VMNAME}0
|
||
|
if [ $? -gt 0 ]
|
||
|
then
|
||
|
echo Error: $?
|
||
|
echo Error: Cannot plumb vnic vnic"$VMNAME"0
|
||
|
exit 1
|
||
|
else
|
||
|
echo "Plumbed vnic ..."
|
||
|
fi
|
||
|
|
||
|
echo "cat $DIR/vmbase.txt | sed "s/base/$VMNAME/g" > $DIR/$VMNAME.conf"
|
||
|
|
||
|
cat $DIR/vmbase.txt | sed "s/base/$VMNAME/g" > $DIR/$VMNAME.conf
|
||
|
if [ $? -gt 0 ]
|
||
|
then
|
||
|
echo Error: Writing to file $DIR/$VMNAME.conf
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo "cat $DIR/basenet.txt | sed "s/base/$VMNAME/g" > $DIR/$VMNAME-net.conf"
|
||
|
|
||
|
cat $DIR/basenet.txt | sed "s/base/$VMNAME/g" > $DIR/$VMNAME-net.conf
|
||
|
#if [ $? -gt 0 ] then
|
||
|
# echo Error: Writing to file $DIR/$VMNAME-net.conf
|
||
|
# exit 1
|
||
|
#fi
|
||
|
|
||
|
|
||
|
echo "Koncal z izdelavo konfiguracijskih datotek"
|
||
|
echo "zonecfg -z ${VMNAME} -f $DIR/${VMNAME}.conf"
|
||
|
zonecfg -z ${VMNAME} -f $DIR/${VMNAME}.conf
|
||
|
#if [ $? -gt 0 ] then
|
||
|
# echo Error: Writing zone config failed
|
||
|
# exit 1
|
||
|
#fi
|
||
|
|
||
|
|
||
|
|
||
|
echo "Koncal z konfiguracijo nove zone, zacenjam instalacijo..."
|
||
|
zoneadm -z ${VMNAME} install
|
||
|
#if [ $? -gt 0 ] then
|
||
|
# echo Error: Installing the zone failed
|
||
|
# exit 1
|
||
|
#fi
|
||
|
|
||
|
|
||
|
echo "Koncal z instalacijo, nadaljujem z zagonom zone..."
|
||
|
|
||
|
#mv $VMNAME-net.conf /zones/${VMNAME}/root/etc/ipadm/ipadm.conf
|
||
|
|
||
|
zoneadm -z ${VMNAME} boot
|
||
|
#if [ $? -gt 0 ] then
|
||
|
# echo Error: Booting the zone failed
|
||
|
# exit 1
|
||
|
#fi
|
||
|
|
||
|
|
||
|
echo "Koncal z zagonom zone."
|
||
|
|
||
|
zlogin ${VMNAME} "echo 'begin-base64 644 -
|
||
|
H4sIAPS781gAA4VT30/bMBB+91/xKY0oIKWBMk0TEKRCO1ptGkgF7WFCq5e4xCK1I9sl
|
||
|
dKH/+85JKSAe9hDnzv7u13d314ObcRL/keo4XlrzKthXaV6117p0cWobhYmnUhuHa7Jm
|
||
|
TM7xC2EHUeHQxx1zuVAMEGmuEdxafi+Og60OpHnJrcXp0gqz4Eqc4dRfVNpkZ6+4RnqS
|
||
|
DodsLsHYYuHxSXhIkocnYZ+xDqa64EZa5NxCaTitCzpghQPHi1t6UZFUThieOvkoilWP
|
||
|
TG+tVPcIqBSRuqDxQOmsQO4ebI88oxLIpKHXYgWRUS6xcGlsc57pqsesLn6XVba7x2o2
|
||
|
urmYjgfDq5/JGwgbDm5GF+PLZFYKUyAS6JaG0oD/nFyI+MvnTwcH3Rklc87Th2WJSroc
|
||
|
ulLCxGSzkNZKrYhgIiMtEZUI622o9Tslws7O/1E9vnzywA6uHoWpjHQC1C7MZSHsyYfI
|
||
|
4CpDIZUAsSgMjFhwqSzF4dUDuvQHzkeXkx+o8XWaXNEXHAdYNw+74WGS+Kbt0WvYT4jg
|
||
|
/AThUZJxRz2+38BqtKR4rYumyUE4GTYNyUkcD6bjABsb0jekBjh9X+bZh0JfBrGD/e/f
|
||
|
9ol1lFXkvTZlHfiLglvnU6mo+XrDiBOq145OhmgJ6QfLQYlUWMvNihwuHhHNP/L69oKG
|
||
|
lq0p8mZI/Kh66ujfjvfIT2NTLe1GxwieYTJkk2ES1u2kr98jy2qLux5Mp8wfDdYnum5X
|
||
|
MPqLlrk7PD/7law7HrZuFvPozWLSWvn8PLPJrI0S1g00wDN0KZS1xZYC6zKpZt5lY/hS
|
||
|
0T+P7qFQOgQAAA==
|
||
|
====' | uudecode | gunzip > chpass"
|
||
|
|
||
|
echo "Injected password script"
|
||
|
|
||
|
zlogin ${VMNAME} chmod +x chpass
|
||
|
|
||
|
zlogin ${VMNAME} mkdir /export/home
|
||
|
zlogin ${VMNAME} useradd -u 1000 -g 10 -m -d /export/home/${VMNAME} -s /bin/bash ${VMNAME}
|
||
|
|
||
|
zlogin ${VMNAME} ./chpass ${VMNAME} changeme
|
||
|
zlogin ${VMNAME} ./chpass root changeme
|
||
|
|
||
|
echo "Passwords set"
|
||
|
|