xref: /freebsd/tests/sys/cddl/zfs/tests/zones/cleanup.ksh (revision 780fb4a2)
1#!/usr/local/bin/ksh93 -p
2#
3# CDDL HEADER START
4#
5# The contents of this file are subject to the terms of the
6# Common Development and Distribution License (the "License").
7# You may not use this file except in compliance with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22
23# $FreeBSD$
24
25#
26# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
27# Use is subject to license terms.
28#
29# ident	"@(#)cleanup.ksh	1.5	09/05/19 SMI"
30#
31
32. ${STF_SUITE}/include/libtest.kshlib
33
34verify_runnable "both"
35
36if ! is_global_zone ; then
37	default_cleanup
38fi
39
40# Zone installs that may have been interrupted can leave the system in
41# an odd state, lots of processes hanging around that will block
42# our attempts to delete the zone. Remove these first.
43for program in zoneadm lucreatezone lupi_zones lupi_bebasic pkginstall
44do
45	$PKILL -9 $program
46done
47
48# Zone installs that may have been interrupted can leave the system
49# with lofs mounts from our test pool. Unmount these.
50FS=$($MOUNT | $GREP $TESTPOOL | $AWK '{print $1}')
51
52for fs in $FS
53do
54	$UMOUNT -f $fs
55done
56
57for zone in $ZONE $ZONE2 $ZONE3 $ZONE4 ; do
58	$ZONEADM -z $zone list > /dev/null 2>&1
59	if (( $? == 0 )) ; then
60		$ZONEADM -z $zone halt > /dev/null 2>&1
61		$ZONEADM -z $zone uninstall -F > /dev/null 2>&1
62		$ZONECFG -z $zone delete -F > /dev/null 2>&1
63	fi
64done
65
66default_cleanup
67