vbox 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/.gitignore +14 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile.lock +68 -0
  4. data/README.md +5 -0
  5. data/Rakefile +91 -0
  6. data/bin/vbox +73 -0
  7. data/lib/java/README.txt +5 -0
  8. data/lib/java/dir2floppy.jar +0 -0
  9. data/lib/java/dir2floppy.java +134 -0
  10. data/lib/vagrant_init.rb +6 -0
  11. data/lib/vbox.rb +2 -0
  12. data/lib/vbox/command.rb +82 -0
  13. data/lib/vbox/config.rb +5 -0
  14. data/lib/vbox/export.rb +65 -0
  15. data/lib/vbox/scancode.rb +208 -0
  16. data/lib/vbox/session.rb +893 -0
  17. data/lib/vbox/shell.rb +54 -0
  18. data/lib/vbox/ssh.rb +193 -0
  19. data/lib/vbox/transaction.rb +122 -0
  20. data/lib/vbox/utils.rb +26 -0
  21. data/lib/vbox/version.rb +3 -0
  22. data/lib/vbox/web.rb +48 -0
  23. data/templates/CentOS-5.7-i386-netboot/definition.rb +16 -0
  24. data/templates/CentOS-5.7-i386-netboot/ks.cfg +45 -0
  25. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +53 -0
  26. data/templates/CentOS-5.7-x86_64-netboot/definition.rb +16 -0
  27. data/templates/CentOS-5.7-x86_64-netboot/ks.cfg +45 -0
  28. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +60 -0
  29. data/templates/CentOS-6.0-i386-netboot/definition.rb +16 -0
  30. data/templates/CentOS-6.0-i386-netboot/ks.cfg +52 -0
  31. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +30 -0
  32. data/templates/CentOS-6.0-i386/definition.rb +17 -0
  33. data/templates/CentOS-6.0-i386/ks.cfg +47 -0
  34. data/templates/CentOS-6.0-i386/postinstall.sh +48 -0
  35. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +16 -0
  36. data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +52 -0
  37. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +30 -0
  38. data/templates/CentOS-6.0-x86_64/definition.rb +17 -0
  39. data/templates/CentOS-6.0-x86_64/ks.cfg +47 -0
  40. data/templates/CentOS-6.0-x86_64/postinstall.sh +48 -0
  41. data/templates/Debian-6.0.3-amd64-netboot/definition.rb +42 -0
  42. data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +80 -0
  43. data/templates/Debian-6.0.3-amd64-netboot/preseed.cfg +42 -0
  44. data/templates/Debian-6.0.3-i386-netboot/definition.rb +44 -0
  45. data/templates/Debian-6.0.3-i386-netboot/postinstall.sh +80 -0
  46. data/templates/Debian-6.0.3-i386-netboot/preseed.cfg +42 -0
  47. data/templates/Fedora-15-i386-netboot/definition.rb +17 -0
  48. data/templates/Fedora-15-i386-netboot/ks.cfg +82 -0
  49. data/templates/Fedora-15-i386-netboot/postinstall.sh +18 -0
  50. data/templates/Fedora-15-i386/definition.rb +17 -0
  51. data/templates/Fedora-15-i386/ks.cfg +64 -0
  52. data/templates/Fedora-15-i386/postinstall.sh +33 -0
  53. data/templates/Fedora-15-x86_64-netboot/definition.rb +29 -0
  54. data/templates/Fedora-15-x86_64-netboot/ks.cfg +64 -0
  55. data/templates/Fedora-15-x86_64-netboot/postinstall.sh +33 -0
  56. data/templates/Fedora-15-x86_64/definition.rb +17 -0
  57. data/templates/Fedora-15-x86_64/ks.cfg +64 -0
  58. data/templates/Fedora-15-x86_64/postinstall.sh +33 -0
  59. data/templates/Sysrescuecd-2.0.0-experimental/autorun0 +3 -0
  60. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +20 -0
  61. data/templates/archlinux-i386-netboot/aif.cfg +34 -0
  62. data/templates/archlinux-i386-netboot/definition.rb +29 -0
  63. data/templates/archlinux-i386-netboot/postinstall.sh +87 -0
  64. data/templates/archlinux-i386-netboot/postinstall2.sh +28 -0
  65. data/templates/archlinux-i386/aif.cfg +33 -0
  66. data/templates/archlinux-i386/definition.rb +29 -0
  67. data/templates/archlinux-i386/postinstall.sh +106 -0
  68. data/templates/archlinux-x86_64-netboot/aif.cfg +34 -0
  69. data/templates/archlinux-x86_64-netboot/definition.rb +29 -0
  70. data/templates/archlinux-x86_64-netboot/postinstall.sh +90 -0
  71. data/templates/archlinux-x86_64-netboot/postinstall2.sh +28 -0
  72. data/templates/archlinux-x86_64/aif.cfg +33 -0
  73. data/templates/archlinux-x86_64/definition.rb +29 -0
  74. data/templates/archlinux-x86_64/postinstall.sh +90 -0
  75. data/templates/archlinux-x86_64/postinstall2.sh +38 -0
  76. data/templates/freebsd-8.2-experimental/definition.rb +19 -0
  77. data/templates/freebsd-8.2-experimental/postinstall.sh +191 -0
  78. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +35 -0
  79. data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +58 -0
  80. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +93 -0
  81. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +31 -0
  82. data/templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg +57 -0
  83. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +93 -0
  84. data/templates/gentoo-latest-i386-experimental/definition.rb +29 -0
  85. data/templates/gentoo-latest-i386-experimental/postinstall.sh +184 -0
  86. data/templates/openSUSE-11.4-DVD-i586/autoinst_de.xml +1284 -0
  87. data/templates/openSUSE-11.4-DVD-i586/autoinst_en.xml +1284 -0
  88. data/templates/openSUSE-11.4-DVD-i586/definition.rb +28 -0
  89. data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +43 -0
  90. data/templates/openSUSE-11.4-DVD-x86_64/autoinst_de.xml +1459 -0
  91. data/templates/openSUSE-11.4-DVD-x86_64/autoinst_en.xml +1459 -0
  92. data/templates/openSUSE-11.4-DVD-x86_64/definition.rb +28 -0
  93. data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +43 -0
  94. data/templates/openSUSE-11.4-NET-i586/autoinst_de.xml +1278 -0
  95. data/templates/openSUSE-11.4-NET-i586/autoinst_en.xml +1278 -0
  96. data/templates/openSUSE-11.4-NET-i586/definition.rb +28 -0
  97. data/templates/openSUSE-11.4-NET-i586/postinstall.sh +43 -0
  98. data/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml +1453 -0
  99. data/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml +1453 -0
  100. data/templates/openSUSE-11.4-NET-x86_64/definition.rb +28 -0
  101. data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +43 -0
  102. data/templates/solaris-11-express-i386/auto_install/ai.dtd +58 -0
  103. data/templates/solaris-11-express-i386/auto_install/ai_manifest.xml +241 -0
  104. data/templates/solaris-11-express-i386/auto_install/configuration.dtd +44 -0
  105. data/templates/solaris-11-express-i386/auto_install/default.xml +124 -0
  106. data/templates/solaris-11-express-i386/auto_install/default.xml.orig +124 -0
  107. data/templates/solaris-11-express-i386/auto_install/sc_profiles/static_network.xml +105 -0
  108. data/templates/solaris-11-express-i386/auto_install/software.dtd +105 -0
  109. data/templates/solaris-11-express-i386/auto_install/target.dtd +196 -0
  110. data/templates/solaris-11-express-i386/default.xml +121 -0
  111. data/templates/solaris-11-express-i386/definition.rb +65 -0
  112. data/templates/solaris-11-express-i386/postinstall.sh +98 -0
  113. data/templates/ubuntu-10.04.3-server-amd64/definition.rb +54 -0
  114. data/templates/ubuntu-10.04.3-server-amd64/postinstall.sh +90 -0
  115. data/templates/ubuntu-10.04.3-server-amd64/preseed.cfg +87 -0
  116. data/templates/ubuntu-10.04.3-server-i386/definition.rb +24 -0
  117. data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +91 -0
  118. data/templates/ubuntu-10.04.3-server-i386/preseed.cfg +87 -0
  119. data/templates/ubuntu-11.10-server-amd64/definition.rb +35 -0
  120. data/templates/ubuntu-11.10-server-amd64/postinstall.sh +90 -0
  121. data/templates/ubuntu-11.10-server-amd64/preseed.cfg +87 -0
  122. data/templates/ubuntu-11.10-server-i386/definition.rb +35 -0
  123. data/templates/ubuntu-11.10-server-i386/postinstall.sh +90 -0
  124. data/templates/ubuntu-11.10-server-i386/preseed.cfg +87 -0
  125. data/validation/features/steps/ssh_steps.rb +169 -0
  126. data/validation/support/env.rb +1 -0
  127. data/validation/vagrant-private.key +27 -0
  128. data/validation/vagrant.feature +52 -0
  129. data/validation/vagrant.pub +1 -0
  130. data/vbox.gemspec +32 -0
  131. metadata +338 -0
@@ -0,0 +1,124 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
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
+ Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23
+
24
+ -->
25
+ <!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd">
26
+ <auto_install>
27
+ <ai_instance name="default">
28
+ <software>
29
+ <source>
30
+ <publisher name="solaris">
31
+ <origin name="http://pkg.oracle.com/solaris/release"/>
32
+ </publisher>
33
+ </source>
34
+ <!--
35
+ By default the latest build available, in the specified IPS
36
+ repository, is installed. If another build is required, the
37
+ build number has to be appended to the 'entire' package in following
38
+ form:
39
+
40
+ <name>pkg:/entire@0.5.11-0.build#</name>
41
+ -->
42
+ <software_data action="install" type="IPS">
43
+ <name>pkg:/entire</name>
44
+ <name>pkg:/babel_install</name>
45
+ <!--
46
+ The following packages are required by iSCSI and included
47
+ by default to make it easier for users to enable iSCSI if
48
+ desired. They can be deleted from this list if iSCSI isn't
49
+ used. See iscsiadm(1m) man page for more information.
50
+ support for iSCSI.
51
+ -->
52
+ <name>pkg:/network/iscsi/initiator</name>
53
+ <name>pkg:/network/iscsi/iser</name>
54
+ </software_data>
55
+ <!--
56
+ babel_install and slim_install are group packages used to
57
+ define the default installation. They are removed here so
58
+ that they do not inhibit removal of other packages on the
59
+ installed system.
60
+ -->
61
+ <software_data action="uninstall" type="IPS">
62
+ <name>pkg:/babel_install</name>
63
+ <name>pkg:/slim_install</name>
64
+ </software_data>
65
+ </software>
66
+ <!--
67
+ Add missing driver packages to a booted install image so an
68
+ installation can complete. Add packages to target as well.
69
+ <search_all> searches and installs from configured repo.
70
+ -->
71
+ <add_drivers>
72
+ <search_all/>
73
+ </add_drivers>
74
+ <sc_embedded_manifest name="AI">
75
+ <!-- <?xml version='1.0'?>
76
+ <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
77
+ <service_bundle type="profile" name="system configuration">
78
+ <service name="system/install/config" version="1" type="service">
79
+ <instance name="default" enabled="true">
80
+ <property_group name="user_account" type="application">
81
+ <propval name="login" type="astring" value="jack"/>
82
+ <propval name="password" type="astring" value="9Nd/cwBcNWFZg"/>
83
+ <propval name="description" type="astring" value="default_user"/>
84
+ <propval name="shell" type="astring" value="/usr/bin/bash"/>
85
+ <propval name="uid" type='count' value='101'/>
86
+ <propval name="gid" type='count' value='10'/>
87
+ <propval name="type" type="astring" value="normal"/>
88
+ <propval name="roles" type="astring" value="root"/>
89
+ </property_group>
90
+
91
+ <property_group name="root_account" type="application">
92
+ <propval name="password" type="astring" value="$5$dnRfcZse$Hx4aBQ161Uvn9ZxJFKMdRiy8tCf4gMT2s2rtkFba2y4"/>
93
+ <propval name="type" type="astring" value="role"/>
94
+ </property_group>
95
+
96
+ <property_group name="other_sc_params" type="application">
97
+ <propval name="timezone" type="astring" value="GMT"/>
98
+ <propval name="hostname" type="astring" value="solaris"/>
99
+ </property_group>
100
+ </instance>
101
+ </service>
102
+ <service name="system/console-login" version="1" type="service">
103
+ <property_group name="ttymon" type="application">
104
+ <propval name="terminal_type" type="astring" value="sun"/>
105
+ </property_group>
106
+ </service>
107
+
108
+ <service name='system/keymap' version='1' type='service'>
109
+ <instance name='default' enabled='true'>
110
+ <property_group name='keymap' type='system'>
111
+ <propval name='layout' type='astring' value='US-English'/>
112
+ </property_group>
113
+ </instance>
114
+ </service>
115
+
116
+ <service name="network/physical" version="1" type="service">
117
+ <instance name="nwam" enabled="true"/>
118
+ <instance name="default" enabled="false"/>
119
+ </service>
120
+ </service_bundle>
121
+ -->
122
+ </sc_embedded_manifest>
123
+ </ai_instance>
124
+ </auto_install>
@@ -0,0 +1,105 @@
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
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
22
+ -->
23
+
24
+ <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
25
+ <service_bundle type="profile" name="system configuration">
26
+ <service name="system/install/config" version="1" type="service">
27
+ <instance name="default" enabled="true">
28
+ <property_group name="user_account" type="application">
29
+ <propval name="login" type="astring" value="jack"/>
30
+ <propval name="password" type="astring" value="9Nd/cwBcNWFZg"/>
31
+ <propval name="description" type="astring" value="default_user"/>
32
+ <propval name="shell" type="astring" value="/usr/bin/bash"/>
33
+ <propval name="uid" type='count' value='101'/>
34
+ <propval name="gid" type='count' value='10'/>
35
+ <propval name="type" type="astring" value="normal"/>
36
+ <propval name="roles" type="astring" value="root"/>
37
+ </property_group>
38
+
39
+ <property_group name="root_account" type="application">
40
+ <propval name="password" type="astring" value="$5$VgppCOxA$ycFmYW4ObRRHhtsGEygDdexk5bugqgSiaSR9niNCouC"/>
41
+ <propval name="type" type="astring" value="role"/>
42
+ </property_group>
43
+
44
+ <property_group name="other_sc_params" type="application">
45
+ <propval name="timezone" type="astring" value="GMT"/>
46
+ <propval name="hostname" type="astring" value="solaris"/>
47
+ </property_group>
48
+ </instance>
49
+ </service>
50
+
51
+ <service name="system/console-login" version="1" type="service">
52
+ <property_group name="ttymon" type="application">
53
+ <propval name="terminal_type" type="astring" value="sun"/>
54
+ </property_group>
55
+ </service>
56
+
57
+ <service name='system/keymap' version='1' type='service'>
58
+ <instance name='default' enabled='true'>
59
+ <property_group name='keymap' type='system'>
60
+ <propval name='layout' type='astring' value='US-English'/>
61
+ </property_group>
62
+ </instance>
63
+ </service>
64
+
65
+ <service name="network/physical" version="1" type="service">
66
+ <instance name="nwam" enabled="false"/>
67
+ <instance name="default" enabled="true"/>
68
+ </service>
69
+
70
+ <service name='network/install' version='1' type='service'>
71
+ <instance name='default' enabled='true'>
72
+ <property_group name='install_ipv4_interface' type='application'>
73
+ <propval name='name' type='astring' value='net0/v4'/>
74
+ <propval name='address_type' type='astring' value='static'/>
75
+ <propval name='static_address' type='net_address_v4' value='x.x.x.x/n'/>
76
+ <propval name='default_route' type='net_address_v4' value='x.x.x.x'/>
77
+ </property_group>
78
+
79
+ <property_group name='install_ipv6_interface' type='application'>
80
+ <propval name='name' type='astring' value='net0/v6'/>
81
+ <propval name='address_type' type='astring' value='addrconf'/>
82
+ <propval name='stateless' type='astring' value='yes'/>
83
+ <propval name='stateful' type='astring' value='yes'/>
84
+ </property_group>
85
+ </instance>
86
+ </service>
87
+
88
+ <service name='network/dns/install' version='1' type='service'>
89
+ <instance name='default' enabled='true'>
90
+ <property_group name='install_props' type='application'>
91
+ <property name='nameserver' type='net_address'>
92
+ <net_address_list>
93
+ <value_node value='x.x.x.x'/>
94
+ </net_address_list>
95
+ </property>
96
+ <property name='search' type='astring'>
97
+ <astring_list>
98
+ <value_node value='example.com'/>
99
+ </astring_list>
100
+ </property>
101
+ </property_group>
102
+ </instance>
103
+ </service>
104
+ </service_bundle>
105
+
@@ -0,0 +1,105 @@
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
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
22
+
23
+ -->
24
+
25
+ <!ELEMENT software (destination?, source*, software_data*)>
26
+
27
+ <!--
28
+ The software name is utilized to allow users to associate
29
+ a specific software instance with a specific checkpoint.
30
+ For example, we could have multiple transfer types during the
31
+ course of an installation process. If a software is
32
+ to be associated with a specific checkpoint the software inst
33
+ name must be utilized and must be the same as the associated
34
+ checkpoint. If no name provided the software elements
35
+ will be used in order based on the type provided.
36
+ -->
37
+
38
+ <!ATTLIST software name CDATA #IMPLIED>
39
+
40
+ <!ELEMENT software_data (name*)>
41
+ <!ATTLIST software_data action (install|uninstall|unpack|noinstall) "install">
42
+ <!ATTLIST software_data type (IPS|SVR4|ARCHIVE|IMAGE|P5I|DU|P5P|FILE|DIR) "IPS">
43
+
44
+ <!ELEMENT name (#PCDATA)>
45
+
46
+ <!--
47
+ Destination element is not required. If specified there can only
48
+ be one destination per software element. If not specified,
49
+ the destination is assumed to be an ipkg image and will be
50
+ discovered automatically.
51
+ -->
52
+
53
+ <!ELEMENT destination (image|dir)>
54
+
55
+ <!ELEMENT image (facet*, img_type?, property*)>
56
+ <!ATTLIST image action (create|use_existing) "create">
57
+ <!ATTLIST image index (true|false) "false">
58
+ <!ATTLIST image ssl_key CDATA #IMPLIED>
59
+ <!ATTLIST image ssl_cert CDATA #IMPLIED>
60
+ <!ATTLIST image img_root CDATA #IMPLIED>
61
+
62
+ <!ELEMENT img_type EMPTY>
63
+ <!ATTLIST img_type completeness (full|partial) #REQUIRED>
64
+ <!ATTLIST img_type zone (true|false) "false">
65
+
66
+ <!--
67
+ A property on an image is set via pkg set-property <propname>.
68
+ So, for use in this schema an example would be:
69
+ <image>
70
+ <img_type completeness="partial" zone="true"/>
71
+ <property val="true">send-uuid</property>
72
+ <property val="false">flush-content-cache-on-success
73
+ </property>
74
+ </image>
75
+ -->
76
+ <!ELEMENT property (#PCDATA)>
77
+ <!ATTLIST property val (true|false) #REQUIRED>
78
+
79
+ <!--
80
+ A facet is an option that may be selected or not selected,
81
+ such as various locales, documentation, etc. This is per
82
+ image.
83
+ -->
84
+
85
+ <!ELEMENT facet (#PCDATA)>
86
+ <!ATTLIST facet set (true|false) "true">
87
+
88
+ <!ELEMENT source (publisher+|dir)>
89
+
90
+ <!--
91
+ If name is not specified, and this is an ips install,
92
+ then publishers known by the specified repository will be added to
93
+ the image. Origin can be an uri, path to a file, archive, directory.
94
+ -->
95
+ <!ELEMENT publisher (origin+, mirror*)>
96
+ <!ATTLIST publisher name CDATA #IMPLIED>
97
+
98
+ <!ELEMENT origin EMPTY>
99
+ <!ATTLIST origin name CDATA #REQUIRED>
100
+
101
+ <!ELEMENT mirror EMPTY>
102
+ <!ATTLIST mirror name CDATA #REQUIRED>
103
+
104
+ <!ELEMENT dir EMPTY>
105
+ <!ATTLIST dir path CDATA #REQUIRED>
@@ -0,0 +1,196 @@
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
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
22
+
23
+ -->
24
+
25
+ <!ELEMENT target (target_device+)>
26
+
27
+ <!--
28
+ A partition and slice element must be specified within a
29
+ containing element, such as a disk, zpool or vdev. There must
30
+ be one element, if disk or pool are specified, that is
31
+ tagged as the root device. If no target_devices are specified
32
+ the the application must choose the device based on its
33
+ specific criteria and assume this is the root device.
34
+ -->
35
+
36
+ <!ELEMENT target_device (disk|zpool+|swap|dump)>
37
+
38
+ <!--
39
+ If a disk is specified at the top level, that is not contained
40
+ within a zpool specification, this disk will be assumed
41
+ to be the root device. If a disk target is specified
42
+ at the top level, and then a zpool with the is_root attribute
43
+ set this is an error. The user can specify a specific
44
+ slice within the disk to be used as the root slice. If
45
+ no slice specified then root slice will be 0.
46
+ -->
47
+
48
+ <!ELEMENT disk ((disk_name|disk_prop|disk_keyword|iscsi), partition*, slice*)>
49
+ <!--
50
+ Disk name can be one of ctd, volid, devpath or devid name.
51
+ Default is "ctd".
52
+ -->
53
+ <!ELEMENT disk_name EMPTY>
54
+ <!ATTLIST disk_name name CDATA #REQUIRED>
55
+ <!ATTLIST disk_name name_type (ctd|volid|devpath|devid) "ctd">
56
+
57
+ <!ELEMENT disk_prop EMPTY>
58
+ <!ATTLIST disk_prop dev_type CDATA #IMPLIED>
59
+ <!ATTLIST disk_prop dev_vendor CDATA #IMPLIED>
60
+ <!ATTLIST disk_prop dev_size CDATA #IMPLIED>
61
+
62
+ <!ELEMENT disk_keyword EMPTY>
63
+ <!ATTLIST disk_keyword key (boot_disk) #REQUIRED>
64
+
65
+ <!--
66
+ A vdev must start with a disk element. The slice and partition
67
+ elements use numerical names, such as 0 or 1. A disk must
68
+ be named for a vdev, using the disk element notation.
69
+ -->
70
+
71
+ <!ELEMENT vdev (disk+, partition*, slice*)>
72
+ <!ATTLIST vdev redundancy (mirror|raidz|raidz1|raidz2|raidz3|none) "mirror">
73
+
74
+ <!ELEMENT dataset (zvol|filesystem)>
75
+
76
+ <!--
77
+ No size specification means we create the slice the whole size of
78
+ the disk. If multiple slices specified for one disk, with
79
+ no sizes, this is an error. The attribute is_root is only
80
+ valid when a slice is part of a disk definition, outside of
81
+ a zpool definition. The user can request to format the disk
82
+ with multiple slices but specify one that they want to
83
+ be included in the root pool.
84
+
85
+ -->
86
+
87
+
88
+ <!ELEMENT slice (size?)>
89
+ <!ATTLIST slice action (create|delete|preserve) "create">
90
+ <!ATTLIST slice name CDATA #REQUIRED>
91
+ <!ATTLIST slice is_root (true|false) #IMPLIED>
92
+
93
+ <!--
94
+ The use of the 'force' attribute on slice specifies that on
95
+ a 'create' of a slice that already exists we overwrite the
96
+ slice if force==true. Otherwise the application errors.
97
+ -->
98
+
99
+ <!ATTLIST slice force (true|false) "false">
100
+
101
+ <!--
102
+ If partition size is not provided the partition will be the
103
+ remaining free size left on the disk.
104
+ -->
105
+
106
+ <!ELEMENT partition (slice*, size?)>
107
+ <!ATTLIST partition action (create|delete|use_existing) "create">
108
+
109
+ <!--
110
+ A partition name is a numeric value, e.g. 1, will be
111
+ interpreted as partition 1. If a name is not provided
112
+ the user must specify the use_existing action, otherwise
113
+ this will be an invalid specification.
114
+ -->
115
+ <!ATTLIST partition name CDATA #IMPLIED>
116
+ <!ATTLIST partition part_type CDATA "191">
117
+
118
+ <!--
119
+ Size must be suffixed with a size unit. i.e 100gb, 2secs, 2tb.
120
+ -->
121
+ <!ELEMENT size EMPTY>
122
+ <!ATTLIST size val CDATA #REQUIRED>
123
+ <!ATTLIST size start_sector CDATA #IMPLIED>
124
+
125
+
126
+ <!ELEMENT options (#PCDATA)>
127
+
128
+ <!--
129
+ Option elements allow any string type, and this string is parsable
130
+ character data, should the application require it.
131
+ -->
132
+
133
+ <!--
134
+ Filesystem options are for zfs filesystems. The format of these
135
+ is this: "-o property=value". Any editable ZFS filesystem property
136
+ can be set at creation time. Multiple -o options can be
137
+ specified. An error will occur if a propert is specified in
138
+ multiple -o options.
139
+ -->
140
+
141
+ <!ELEMENT filesystem (options?)>
142
+ <!ATTLIST filesystem name CDATA #REQUIRED>
143
+ <!ATTLIST filesystem action (create|delete|preserve) "create">
144
+ <!ATTLIST filesystem mountpoint CDATA #IMPLIED>
145
+
146
+ <!--
147
+ Redundancy needs to be part of the vdev grouping,
148
+ not a property on zpool itself. There can be multiple
149
+ vdev groupings within one pool configuration.
150
+ -->
151
+
152
+ <!ELEMENT zpool (vdev*, dataset*, pool_options?, dataset_options?)>
153
+ <!ATTLIST zpool action (create|delete|preserve|use_existing) "create">
154
+ <!ATTLIST zpool name CDATA #REQUIRED>
155
+ <!ATTLIST zpool is_root (true|false) "false">
156
+
157
+ <!--
158
+ The pool option string, which is also a parsable string,
159
+ can include both pool options and filesystem options.
160
+ For pool options the format is: "-o property=value". For
161
+ filesystem properties the format is: "-O file-system-property=value"
162
+ Both of these typs of properties can be set in the option string.
163
+ An example of combining these in the option string:
164
+
165
+ "-o altroot=/a -o autoexpand=off -o delegation=off -O atime=on -O compression=lzbj"
166
+ -->
167
+
168
+ <!ELEMENT pool_options (options)>
169
+ <!ELEMENT dataset_options (options)>
170
+
171
+
172
+ <!ELEMENT zvol (options?, size) >
173
+ <!ATTLIST zvol action (create|delete|preserve|use_existing) "create">
174
+ <!ATTLIST zvol name CDATA #REQUIRED>
175
+
176
+ <!--
177
+ ISCSI does not have an action attribute. We use iscsi devices but
178
+ we do not operate directly on them.
179
+ -->
180
+ <!ELEMENT iscsi (ip)>
181
+ <!ATTLIST iscsi name CDATA #REQUIRED>
182
+ <!ATTLIST iscsi source CDATA #IMPLIED>
183
+ <!ATTLIST iscsi target_lun CDATA #IMPLIED>
184
+ <!ATTLIST iscsi target_port CDATA #IMPLIED>
185
+
186
+ <!ELEMENT ip (#PCDATA)>
187
+
188
+ <!--
189
+ Swap and dump are optional with Solaris install.
190
+ -->
191
+
192
+ <!ELEMENT swap (zvol)>
193
+ <!ATTLIST swap no_swap (true|false) "false">
194
+
195
+ <!ELEMENT dump (zvol)>
196
+ <!ATTLIST dump no_dump (true|false) "false">