equal
deleted
inserted
replaced
4 set -u |
4 set -u |
5 set -e |
5 set -e |
6 |
6 |
7 TESTING= |
7 TESTING= |
8 |
8 |
|
9 DO_SHOWSPEC=y |
9 DO_VIRTINSTALL= |
10 DO_VIRTINSTALL= |
10 |
11 |
11 scripts=$(dirname $0)/scripts |
12 scripts=$(dirname $0)/scripts |
12 . $scripts/lib.sh |
13 . $scripts/lib.sh |
13 |
14 |
59 ;; |
60 ;; |
60 |
61 |
61 q) |
62 q) |
62 LOG_CMD= |
63 LOG_CMD= |
63 LOG_INFO= |
64 LOG_INFO= |
|
65 DO_SHOWSPEC= |
64 |
66 |
65 log_debug "log: Quiet" |
67 log_debug "log: Quiet" |
66 ;; |
68 ;; |
67 |
69 |
68 N) |
70 N) |
94 exit 1 |
96 exit 1 |
95 ;; |
97 ;; |
96 esac |
98 esac |
97 done |
99 done |
98 |
100 |
|
101 |
99 # forget them |
102 # forget them |
100 shift $(( $OPTIND - 1 )) |
103 [ $OPTIND -gt 1 ] && shift $(( $OPTIND - 1 )) |
101 |
104 |
102 ## Command-line arguments |
105 ## Command-line arguments |
103 # Name |
106 # Name |
104 [ -z $1 ] && die "Machine name must be given as first argument" |
107 [ -z $1 ] && die "Machine name must be given as first argument" |
105 |
108 |
132 define_opt disk_bus virtio |
135 define_opt disk_bus virtio |
133 define_opt guest_disk /dev/vda |
136 define_opt guest_disk /dev/vda |
134 define_opt hostname $opt_name |
137 define_opt hostname $opt_name |
135 define_opt bridge br-lan |
138 define_opt bridge br-lan |
136 define_opt dns_domain paivola.fi |
139 define_opt dns_domain paivola.fi |
137 define_opt ip $(resolve_name ${opt_name}.${opt_dns_domain}) |
140 define_opt ip |
138 |
141 |
139 log_info "Processing ${#@} parameters:" |
142 log_info "Processing ${#@} parameters:" |
140 for param in "$@"; do |
143 for param in "$@"; do |
141 name=${param%=*} |
144 name=${param%=*} |
142 value=${param##*=} |
145 value=${param##*=} |
144 # evaluate |
147 # evaluate |
145 value=$(expand_line "$value") |
148 value=$(expand_line "$value") |
146 |
149 |
147 define_opt ${name} "${value}" |
150 define_opt ${name} "${value}" |
148 done |
151 done |
|
152 |
|
153 # resolve defaults |
|
154 if [ -z $opt_ip ]; then |
|
155 define_opt ip $(resolve_name ${opt_name}.${opt_dns_domain}) |
|
156 fi |
149 |
157 |
150 ### State |
158 ### State |
151 ## Guest info |
159 ## Guest info |
152 GUEST_NAME=$opt_name |
160 GUEST_NAME=$opt_name |
153 |
161 |
228 ## SELinux? |
236 ## SELinux? |
229 #SEMANAGE=/usr/sbin/semanage |
237 #SEMANAGE=/usr/sbin/semanage |
230 #RESTORECON=/sbin/restorecon |
238 #RESTORECON=/sbin/restorecon |
231 |
239 |
232 ### Prepare |
240 ### Prepare |
233 cat <<END |
241 if [ $DO_SHOWSPEC ]; then |
|
242 cat <<END |
234 Guest: |
243 Guest: |
235 Name: $GUEST_NAME |
244 Name: $GUEST_NAME |
236 CPUs: $GUEST_VCPUS |
245 CPUs: $GUEST_VCPUS |
237 RAM: $GUEST_RAM |
246 RAM: $GUEST_RAM |
238 OS: $GUEST_OS_VARIANT |
247 OS: $GUEST_OS_VARIANT |
273 Target: $PRESEED_FILE |
282 Target: $PRESEED_FILE |
274 Isolinux: $PRESEED_ISOLINUX |
283 Isolinux: $PRESEED_ISOLINUX |
275 Includes: $PRESEED_INCLUDES |
284 Includes: $PRESEED_INCLUDES |
276 |
285 |
277 END |
286 END |
278 |
287 fi |
279 |
288 |
280 [ $TESTING ] && exit 0 |
289 [ $TESTING ] && exit 0 |
281 |
290 |
282 ### Check |
291 ### Check |
283 # Parameters given? |
292 # Parameters given? |
284 [ -z $NET_IPADDR ] && die "net: No IP-address given: ip" |
293 [ -z $NET_IPADDR ] && die "net: No IP-address given: ip" |
285 |
294 |
286 # VM exists? |
295 # VM exists? |
287 if cmd virsh domid ${GUEST_NAME} 2> /dev/null; then |
296 if cmd virsh domid ${GUEST_NAME} > /dev/null 2> /dev/null; then |
288 die "Virtual machine already exists: ${GUEST_NAME}" |
297 die "Virtual machine already exists: ${GUEST_NAME}" |
289 fi |
298 fi |
290 |
299 |
291 # Installer exists? |
300 # Installer exists? |
292 if cmd test ! -f ${INSTALLER_ISO}; then |
301 if cmd test ! -f ${INSTALLER_ISO}; then |