1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 #
  27 # For every configX.cfg file there must be a corresponding stateX.cfg
  28 # file. The state file both drives the operations to be performed on the
  29 # dataset hierarchy which has been specified by the corresponding
  30 # configX.cfg file, and also specifies the expected state of the
  31 # properties after the operation has been completed.
  32 #
  33 # The format of the file is:
  34 #       <target dataset>:<command>
  35 #       <property source before command>        <property src after command>
  36 #       <property source before command>        <property src after command>
  37 #       ....                                    ....
  38 #       ....                                    ....
  39 #
  40 # <target dataset> - dataset upon which the <command> is to be executed. Can
  41 #                    be any of the datasets specified in the corresponding
  42 #                    configX.cfg file. If no command is to be executed
  43 #                    then must be set to '-'
  44 #
  45 #
  46 # <command>        - command to be executed upon the specified dataset.
  47 #                    Currently the only supported commands are 'inherit'
  48 #                    or 'inherit -r'. If no command is to be executed,
  49 #                    then must be set to '-'.
  50 #
  51 # <property src before command>
  52 #                  - the 'source' (as reported in 'zfs get') for the
  53 #                    the properties before <command> is executed. This
  54 #                    can be 'default', 'local' or the name of a dataset
  55 #                    from which the property is inherited. (The code
  56 #                    automatically adds in the 'inherited from..' part
  57 #                    of the string when doing the check.
  58 #
  59 #                    This field is for informational purposes only, to
  60 #                    aid the user in seeing how the changes trickle down
  61 #                    the data hierarchy.
  62 #
  63 # <property src after command>
  64 #                  - the expected value of the 'source' field after the
  65 #                    <command> has been executed on the <target dataset>.
  66 #                    As above can be 'default', 'local', or the dataset
  67 #                    from which the property is inherited.
  68 #
  69 # Two important things to note:
  70 # 1) there must be a <property src..> line corresponding to each dataset
  71 #    line specified in the configX.cfg file.
  72 #
  73 #
  74 # 2) There can be as many <command>/<property src> blocks as desired, but
  75 #    there must be at least one, and the effect of each block is cumulative
  76 #    (i.e. the properties are not reset back to their default values between
  77 #    each block. If that is desired then each block must be placed in its
  78 #    own state file with its own corresponding configX.cfg file).
  79 #
  80 #
  81 # Below are two sample <command>/<property src> blocks.
  82 #
  83 # The first simply verifies that the properties on the top level dataset
  84 # were set locally, and that the middle and bottom datasets properties
  85 # were inherited from the top level pool (called TESTPOOL). Note the '-:-'
  86 # which means that no command is to be executed, but simply that the
  87 # properties settings are to be verified.
  88 #
  89 
  90 #
  91 # Copyright (c) 2013 by Delphix. All rights reserved.
  92 #
  93 
  94 -:-
  95 #
  96 local                           local
  97 TESTPOOL                        TESTPOOL
  98 TESTPOOL                        TESTPOOL
  99 #
 100 #
 101 # The block below describes the expected state of the properties after
 102 # an 'inherit -r' command has been run on the top level pool (called
 103 # TESTPOOL).
 104 #
 105 TESTPOOL:inherit -r
 106 #
 107 local                           default
 108 TESTPOOL                        default
 109 TESTPOOL                        default