1d583b39bSJohn Wren Kennedy#!/usr/bin/ksh -p
2d583b39bSJohn Wren Kennedy#
3d583b39bSJohn Wren Kennedy# CDDL HEADER START
4d583b39bSJohn Wren Kennedy#
5d583b39bSJohn Wren Kennedy# The contents of this file are subject to the terms of the
6d583b39bSJohn Wren Kennedy# Common Development and Distribution License (the "License").
7d583b39bSJohn Wren Kennedy# You may not use this file except in compliance with the License.
8d583b39bSJohn Wren Kennedy#
9d583b39bSJohn Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10d583b39bSJohn Wren Kennedy# or http://www.opensolaris.org/os/licensing.
11d583b39bSJohn Wren Kennedy# See the License for the specific language governing permissions
12d583b39bSJohn Wren Kennedy# and limitations under the License.
13d583b39bSJohn Wren Kennedy#
14d583b39bSJohn Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
15d583b39bSJohn Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16d583b39bSJohn Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
17d583b39bSJohn Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
18d583b39bSJohn Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
19d583b39bSJohn Wren Kennedy#
20d583b39bSJohn Wren Kennedy# CDDL HEADER END
21d583b39bSJohn Wren Kennedy#
22d583b39bSJohn Wren Kennedy
23d583b39bSJohn Wren Kennedy#
24d583b39bSJohn Wren Kennedy# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
25d583b39bSJohn Wren Kennedy# Use is subject to license terms.
26d583b39bSJohn Wren Kennedy#
27d583b39bSJohn Wren Kennedy
28d583b39bSJohn Wren Kennedy#
29d583b39bSJohn Wren Kennedy# Copyright (c) 2012 by Delphix. All rights reserved.
30*c2b09db8SYuri Pankov# Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
31d583b39bSJohn Wren Kennedy#
32d583b39bSJohn Wren Kennedy
33d583b39bSJohn Wren Kennedy. $STF_SUITE/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib
34d583b39bSJohn Wren Kennedy. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
35d583b39bSJohn Wren Kennedy
36d583b39bSJohn Wren Kennedy#
37d583b39bSJohn Wren Kennedy# DESCRIPTION:
38d583b39bSJohn Wren Kennedy# import pools of all versions - verify the following operation not break.
39d583b39bSJohn Wren Kennedy#	* zfs create -o version=<vers> <filesystem>
40d583b39bSJohn Wren Kennedy#	* zfs upgrade [-V vers] <filesystem>
41d583b39bSJohn Wren Kennedy#	* zfs set version=<vers> <filesystem>
42d583b39bSJohn Wren Kennedy#
43d583b39bSJohn Wren Kennedy# STRATEGY:
44d583b39bSJohn Wren Kennedy# 1. Import pools of all versions
45d583b39bSJohn Wren Kennedy# 2. Setup a test enviorment over the old pools.
46d583b39bSJohn Wren Kennedy# 3. Verify the commands related to 'zfs upgrade' succeed as expected.
47d583b39bSJohn Wren Kennedy#
48d583b39bSJohn Wren Kennedy
49d583b39bSJohn Wren Kennedyverify_runnable "global"
50d583b39bSJohn Wren Kennedy
51d583b39bSJohn Wren Kennedyfunction cleanup
52d583b39bSJohn Wren Kennedy{
53d583b39bSJohn Wren Kennedy	destroy_upgraded_pool $config
54d583b39bSJohn Wren Kennedy}
55d583b39bSJohn Wren Kennedy
56*c2b09db8SYuri Pankovlog_assert "Import pools of all versions - 'zfs upgrade' on each pool works"
57d583b39bSJohn Wren Kennedylog_onexit cleanup
58d583b39bSJohn Wren Kennedy
59d583b39bSJohn Wren Kennedy# $CONFIGS gets set in the .cfg script
60*c2b09db8SYuri Pankovfor config in $CONFIGS; do
61*c2b09db8SYuri Pankov	typeset -n pool_name=ZPOOL_VERSION_${config}_NAME
62d583b39bSJohn Wren Kennedy
63*c2b09db8SYuri Pankov	create_old_pool $config
64*c2b09db8SYuri Pankov	default_check_zfs_upgrade $pool_name
65d583b39bSJohn Wren Kennedy	destroy_upgraded_pool $config
66d583b39bSJohn Wren Kennedydone
67d583b39bSJohn Wren Kennedy
68*c2b09db8SYuri Pankovlog_pass "Import pools of all versions - 'zfs upgrade' on each pool works"
69