vbox 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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">