Empact-deprec 1.99.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/CHANGELOG +170 -0
  2. data/COPYING +19 -0
  3. data/LICENSE +339 -0
  4. data/README +136 -0
  5. data/THANKS +5 -0
  6. data/bin/depify +133 -0
  7. data/docs/ANNOUNCE.deprec2 +47 -0
  8. data/docs/README.install +88 -0
  9. data/docs/README.nagios +28 -0
  10. data/docs/README.rails +20 -0
  11. data/docs/README.svn +31 -0
  12. data/docs/ROADMAP.txt +74 -0
  13. data/docs/deprec-1.x/deprec-1.x.quickstart +50 -0
  14. data/docs/deprec-1.x/notes.txt +12 -0
  15. data/docs/deprec_banner.gif +0 -0
  16. data/lib/deprec.rb +8 -0
  17. data/lib/deprec/capistrano_extensions.rb +378 -0
  18. data/lib/deprec/recipes.rb +40 -0
  19. data/lib/deprec/recipes/aoe.rb +117 -0
  20. data/lib/deprec/recipes/apache.rb +179 -0
  21. data/lib/deprec/recipes/ar_sendmail.rb +65 -0
  22. data/lib/deprec/recipes/canonical.rb +57 -0
  23. data/lib/deprec/recipes/deprec.rb +155 -0
  24. data/lib/deprec/recipes/deprecated.rb +71 -0
  25. data/lib/deprec/recipes/example.rb +115 -0
  26. data/lib/deprec/recipes/git.rb +168 -0
  27. data/lib/deprec/recipes/gitosis.rb +47 -0
  28. data/lib/deprec/recipes/god.rb +107 -0
  29. data/lib/deprec/recipes/heartbeat.rb +138 -0
  30. data/lib/deprec/recipes/iptables.rb +53 -0
  31. data/lib/deprec/recipes/logrotate.rb +51 -0
  32. data/lib/deprec/recipes/lvm.rb +20 -0
  33. data/lib/deprec/recipes/memcached.rb +102 -0
  34. data/lib/deprec/recipes/mongrel.rb +209 -0
  35. data/lib/deprec/recipes/monit.rb +130 -0
  36. data/lib/deprec/recipes/mysql.rb +115 -0
  37. data/lib/deprec/recipes/nagios.rb +302 -0
  38. data/lib/deprec/recipes/network.rb +84 -0
  39. data/lib/deprec/recipes/nginx.rb +154 -0
  40. data/lib/deprec/recipes/ntp.rb +96 -0
  41. data/lib/deprec/recipes/php.rb +99 -0
  42. data/lib/deprec/recipes/postfix.rb +105 -0
  43. data/lib/deprec/recipes/rails.rb +302 -0
  44. data/lib/deprec/recipes/ruby.rb +66 -0
  45. data/lib/deprec/recipes/sphinx.rb +83 -0
  46. data/lib/deprec/recipes/ssh.rb +93 -0
  47. data/lib/deprec/recipes/svn.rb +169 -0
  48. data/lib/deprec/recipes/swiftiply.rb +108 -0
  49. data/lib/deprec/recipes/thin.rb +201 -0
  50. data/lib/deprec/recipes/trac.rb +277 -0
  51. data/lib/deprec/recipes/ubuntu.rb +20 -0
  52. data/lib/deprec/recipes/users.rb +90 -0
  53. data/lib/deprec/recipes/utils.rb +39 -0
  54. data/lib/deprec/recipes/xen.rb +259 -0
  55. data/lib/deprec/templates/aoe/aoe-init +55 -0
  56. data/lib/deprec/templates/aoe/fence_aoemask +351 -0
  57. data/lib/deprec/templates/apache/httpd-vhost-app.conf.erb +144 -0
  58. data/lib/deprec/templates/apache/httpd.conf +465 -0
  59. data/lib/deprec/templates/apache/index.html.erb +37 -0
  60. data/lib/deprec/templates/apache/master.css +72 -0
  61. data/lib/deprec/templates/ar_sendmail/logrotate.conf.erb +9 -0
  62. data/lib/deprec/templates/ar_sendmail/monit.conf.erb +5 -0
  63. data/lib/deprec/templates/coraid/aoe-init +55 -0
  64. data/lib/deprec/templates/deprec/caprc.erb +14 -0
  65. data/lib/deprec/templates/god/god-init-script +71 -0
  66. data/lib/deprec/templates/god/god-notifications +0 -0
  67. data/lib/deprec/templates/god/god_mongrel.erb +81 -0
  68. data/lib/deprec/templates/god/god_mysql.erb +50 -0
  69. data/lib/deprec/templates/god/god_nginx.erb +61 -0
  70. data/lib/deprec/templates/god/god_thin.erb +80 -0
  71. data/lib/deprec/templates/heartbeat/authkeys.erb +2 -0
  72. data/lib/deprec/templates/heartbeat/ha.cf.erb +15 -0
  73. data/lib/deprec/templates/heartbeat/haresources.erb +1 -0
  74. data/lib/deprec/templates/iptables/iptables.up.erb +41 -0
  75. data/lib/deprec/templates/logrotate/logrotate.conf.erb +32 -0
  76. data/lib/deprec/templates/memcached/memcached-init-script +65 -0
  77. data/lib/deprec/templates/memcached/memcached.conf.erb +46 -0
  78. data/lib/deprec/templates/mongrel/logrotate.conf.erb +11 -0
  79. data/lib/deprec/templates/mongrel/mongrel_cluster-init-script +54 -0
  80. data/lib/deprec/templates/mongrel/mongrel_cluster.logrotate.d +14 -0
  81. data/lib/deprec/templates/mongrel/mongrel_cluster.yml.erb +10 -0
  82. data/lib/deprec/templates/mongrel/monit.conf.erb +17 -0
  83. data/lib/deprec/templates/monit/monit-init-script +104 -0
  84. data/lib/deprec/templates/monit/monitrc.erb +227 -0
  85. data/lib/deprec/templates/monit/nothing +0 -0
  86. data/lib/deprec/templates/mysql/create_databases.sql +20 -0
  87. data/lib/deprec/templates/mysql/database.yml.prod +6 -0
  88. data/lib/deprec/templates/mysql/database.yml.stage +6 -0
  89. data/lib/deprec/templates/mysql/my.cnf.erb +140 -0
  90. data/lib/deprec/templates/mysql/sphinx.conf.prod +542 -0
  91. data/lib/deprec/templates/mysql/sphinx.conf.stage +542 -0
  92. data/lib/deprec/templates/nagios/cgi.cfg.erb +321 -0
  93. data/lib/deprec/templates/nagios/commands.cfg.erb +240 -0
  94. data/lib/deprec/templates/nagios/contacts.cfg.erb +75 -0
  95. data/lib/deprec/templates/nagios/hosts.cfg.erb +70 -0
  96. data/lib/deprec/templates/nagios/htpasswd.users +1 -0
  97. data/lib/deprec/templates/nagios/localhost.cfg.erb +157 -0
  98. data/lib/deprec/templates/nagios/nagios.cfg.erb +1274 -0
  99. data/lib/deprec/templates/nagios/nagios_apache_vhost.conf.erb +45 -0
  100. data/lib/deprec/templates/nagios/nrpe.cfg.erb +208 -0
  101. data/lib/deprec/templates/nagios/nrpe.xinetd.erb +16 -0
  102. data/lib/deprec/templates/nagios/resource.cfg.erb +34 -0
  103. data/lib/deprec/templates/nagios/services.cfg.erb +7 -0
  104. data/lib/deprec/templates/nagios/templates.cfg.erb +190 -0
  105. data/lib/deprec/templates/nagios/timeperiods.cfg.erb +94 -0
  106. data/lib/deprec/templates/network/hostname.erb +1 -0
  107. data/lib/deprec/templates/network/hosts.erb +2 -0
  108. data/lib/deprec/templates/network/interfaces.erb +18 -0
  109. data/lib/deprec/templates/nginx/logrotate.conf.erb +13 -0
  110. data/lib/deprec/templates/nginx/mime.types.erb +70 -0
  111. data/lib/deprec/templates/nginx/nginx-init-script +62 -0
  112. data/lib/deprec/templates/nginx/nginx.conf.erb +53 -0
  113. data/lib/deprec/templates/nginx/nginx.logrotate.d +12 -0
  114. data/lib/deprec/templates/nginx/nothing.conf +1 -0
  115. data/lib/deprec/templates/nginx/rails_nginx_vhost.conf.erb +45 -0
  116. data/lib/deprec/templates/ntp/ntp.conf.erb +42 -0
  117. data/lib/deprec/templates/postfix/aliases.erb +3 -0
  118. data/lib/deprec/templates/postfix/dynamicmaps.cf.erb +8 -0
  119. data/lib/deprec/templates/postfix/main.cf.erb +41 -0
  120. data/lib/deprec/templates/postfix/master.cf.erb +77 -0
  121. data/lib/deprec/templates/rails/database.yml.erb +6 -0
  122. data/lib/deprec/templates/sphinx/monit.conf.erb +5 -0
  123. data/lib/deprec/templates/ssh/ssh_config.erb +50 -0
  124. data/lib/deprec/templates/ssh/sshd_config.erb +78 -0
  125. data/lib/deprec/templates/subversion/svn.apache.vhost.erb +43 -0
  126. data/lib/deprec/templates/swiftiply/swiftiply-init-script +61 -0
  127. data/lib/deprec/templates/swiftiply/swiftiply.yml.erb +11 -0
  128. data/lib/deprec/templates/thin/thin-init-script +51 -0
  129. data/lib/deprec/templates/thin/thin.yml.erb +11 -0
  130. data/lib/deprec/templates/trac/apache_vhost.conf.erb +24 -0
  131. data/lib/deprec/templates/trac/nginx_vhost.conf.erb +26 -0
  132. data/lib/deprec/templates/trac/trac.ini.erb +169 -0
  133. data/lib/deprec/templates/trac/trac_deprec.png +0 -0
  134. data/lib/deprec/templates/trac/tracd-init.erb +43 -0
  135. data/lib/deprec/templates/trac/users.htdigest.erb +0 -0
  136. data/lib/deprec/templates/xen/15-disable-hwclock +40 -0
  137. data/lib/deprec/templates/xen/network-bridge-wrapper +3 -0
  138. data/lib/deprec/templates/xen/xen-tools.conf.erb +220 -0
  139. data/lib/deprec/templates/xen/xend-config.sxp.erb +195 -0
  140. data/lib/deprec/templates/xen/xend-init.erb +69 -0
  141. data/lib/deprec/templates/xen/xendomains.erb +137 -0
  142. data/lib/deprec/templates/xen/xm.tmpl.erb +85 -0
  143. data/lib/vmbuilder_plugins/all.rb +20 -0
  144. data/lib/vmbuilder_plugins/apt.rb +93 -0
  145. data/lib/vmbuilder_plugins/emerge.rb +76 -0
  146. data/lib/vmbuilder_plugins/gem.rb +90 -0
  147. data/lib/vmbuilder_plugins/std.rb +203 -0
  148. metadata +207 -0
@@ -0,0 +1,195 @@
1
+ # -*- sh -*-
2
+
3
+ #
4
+ # Xend configuration file.
5
+ #
6
+
7
+ # This example configuration is appropriate for an installation that
8
+ # utilizes a bridged network configuration. Access to xend via http
9
+ # is disabled.
10
+
11
+ # Commented out entries show the default for that entry, unless otherwise
12
+ # specified.
13
+
14
+ #(logfile /var/log/xen/xend.log)
15
+ #(loglevel DEBUG)
16
+
17
+
18
+ # The Xen-API server configuration. (Please note that this server is
19
+ # available as an UNSUPPORTED PREVIEW in Xen 3.0.4, and should not be relied
20
+ # upon).
21
+ #
22
+ # This value configures the ports, interfaces, and access controls for the
23
+ # Xen-API server. Each entry in the list starts with either unix, a port
24
+ # number, or an address:port pair. If this is "unix", then a UDP socket is
25
+ # opened, and this entry applies to that. If it is a port, then Xend will
26
+ # listen on all interfaces on that TCP port, and if it is an address:port
27
+ # pair, then Xend will listen on the specified port, using the interface with
28
+ # the specified address.
29
+ #
30
+ # The subsequent string configures the user-based access control for the
31
+ # listener in question. This can be one of "none" or "pam", indicating either
32
+ # that users should be allowed access unconditionally, or that the local
33
+ # Pluggable Authentication Modules configuration should be used. If this
34
+ # string is missing or empty, then "pam" is used.
35
+ #
36
+ # The final string gives the host-based access control for that listener. If
37
+ # this is missing or empty, then all connections are accepted. Otherwise,
38
+ # this should be a space-separated sequence of regular expressions; any host
39
+ # with a fully-qualified domain name or an IP address that matches one of
40
+ # these regular expressions will be accepted.
41
+ #
42
+ # Example: listen on TCP port 9363 on all interfaces, accepting connections
43
+ # only from machines in example.com or localhost, and allow access through
44
+ # the unix domain socket unconditionally:
45
+ #
46
+ # (xen-api-server ((9363 pam '^localhost$ example\\.com$')
47
+ # (unix none)))
48
+ #
49
+ # Optionally, the TCP Xen-API server can use SSL by specifying the private
50
+ # key and certificate location:
51
+ #
52
+ # (9367 pam '' /etc/xen/xen-api.key /etc/xen/xen-api.crt)
53
+ #
54
+ # Default:
55
+ # (xen-api-server ((unix)))
56
+
57
+
58
+ #(xend-http-server no)
59
+ #(xend-unix-server no)
60
+ #(xend-tcp-xmlrpc-server no)
61
+ #(xend-unix-xmlrpc-server yes)
62
+ #(xend-relocation-server no)
63
+ (xend-relocation-server yes)
64
+
65
+ #(xend-unix-path /var/lib/xend/xend-socket)
66
+
67
+
68
+ # Address and port xend should use for the legacy TCP XMLRPC interface,
69
+ # if xen-tcp-xmlrpc-server is set.
70
+ #(xen-tcp-xmlrpc-server-address 'localhost')
71
+ #(xen-tcp-xmlrpc-server-port 8006)
72
+
73
+ # SSL key and certificate to use for the legacy TCP XMLRPC interface.
74
+ # Setting these will mean that this port serves only SSL connections as
75
+ # opposed to plaintext ones.
76
+ #(xend-tcp-xmlrpc-server-ssl-key-file /etc/xen/xmlrpc.key)
77
+ #(xend-tcp-xmlrpc-server-ssl-cert-file /etc/xen/xmlrpc.crt)
78
+
79
+
80
+ # Port xend should use for the HTTP interface, if xend-http-server is set.
81
+ #(xend-port 8000)
82
+
83
+ # Port xend should use for the relocation interface, if xend-relocation-server
84
+ # is set.
85
+ #(xend-relocation-port 8002)
86
+
87
+ # Address xend should listen on for HTTP connections, if xend-http-server is
88
+ # set.
89
+ # Specifying 'localhost' prevents remote connections.
90
+ # Specifying the empty string '' (the default) allows all connections.
91
+ #(xend-address '')
92
+ #(xend-address localhost)
93
+
94
+ # Address xend should listen on for relocation-socket connections, if
95
+ # xend-relocation-server is set.
96
+ # Meaning and default as for xend-address above.
97
+ #(xend-relocation-address '')
98
+
99
+ # The hosts allowed to talk to the relocation port. If this is empty (the
100
+ # default), then all connections are allowed (assuming that the connection
101
+ # arrives on a port and interface on which we are listening; see
102
+ # xend-relocation-port and xend-relocation-address above). Otherwise, this
103
+ # should be a space-separated sequence of regular expressions. Any host with
104
+ # a fully-qualified domain name or an IP address that matches one of these
105
+ # regular expressions will be accepted.
106
+ #
107
+ # For example:
108
+ # (xend-relocation-hosts-allow '^localhost$ ^.*\\.example\\.org$')
109
+ #
110
+ #(xend-relocation-hosts-allow '')
111
+ (xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')
112
+
113
+ # The limit (in kilobytes) on the size of the console buffer
114
+ #(console-limit 1024)
115
+
116
+ ##
117
+ # To bridge network traffic, like this:
118
+ #
119
+ # dom0: fake eth0 -> vif0.0 -+
120
+ # |
121
+ # bridge -> real eth0 -> the network
122
+ # |
123
+ # domU: fake eth0 -> vifN.0 -+
124
+ #
125
+ # use
126
+ #
127
+ (network-script network-bridge-wrapper)
128
+ #
129
+ # Your default ethernet device is used as the outgoing interface, by default.
130
+ # To use a different one (e.g. eth1) use
131
+ #
132
+ # (network-script 'network-bridge netdev=eth1')
133
+ #
134
+ # The bridge is named xenbr0, by default. To rename the bridge, use
135
+ #
136
+ # (network-script 'network-bridge bridge=<name>')
137
+ #
138
+ # It is possible to use the network-bridge script in more complicated
139
+ # scenarios, such as having two outgoing interfaces, with two bridges, and
140
+ # two fake interfaces per guest domain. To do things like this, write
141
+ # yourself a wrapper script, and call network-bridge from it, as appropriate.
142
+ #
143
+ # (network-script network-dummy)
144
+
145
+ # The script used to control virtual interfaces. This can be overridden on a
146
+ # per-vif basis when creating a domain or a configuring a new vif. The
147
+ # vif-bridge script is designed for use with the network-bridge script, or
148
+ # similar configurations.
149
+ #
150
+ # If you have overridden the bridge name using
151
+ # (network-script 'network-bridge bridge=<name>') then you may wish to do the
152
+ # same here. The bridge name can also be set when creating a domain or
153
+ # configuring a new vif, but a value specified here would act as a default.
154
+ #
155
+ # If you are using only one bridge, the vif-bridge script will discover that,
156
+ # so there is no need to specify it explicitly.
157
+ #
158
+ (vif-script vif-bridge)
159
+
160
+
161
+ ## Use the following if network traffic is routed, as an alternative to the
162
+ # settings for bridged networking given above.
163
+ #(network-script network-route)
164
+ #(vif-script vif-route)
165
+
166
+
167
+ ## Use the following if network traffic is routed with NAT, as an alternative
168
+ # to the settings for bridged networking given above.
169
+ #(network-script network-nat)
170
+ #(vif-script vif-nat)
171
+
172
+
173
+ # Dom0 will balloon out when needed to free memory for domU.
174
+ # dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
175
+ # If dom0-min-mem=0, dom0 will never balloon out.
176
+ (dom0-min-mem 196)
177
+
178
+ # In SMP system, dom0 will use dom0-cpus # of CPUS
179
+ # If dom0-cpus = 0, dom0 will take all cpus available
180
+ (dom0-cpus 0)
181
+
182
+ # Whether to enable core-dumps when domains crash.
183
+ #(enable-dump no)
184
+
185
+ # The tool used for initiating virtual TPM migration
186
+ #(external-migration-tool '')
187
+
188
+ # The interface for VNC servers to listen on. Defaults
189
+ # to 127.0.0.1 To restore old 'listen everywhere' behaviour
190
+ # set this to 0.0.0.0
191
+ #(vnc-listen '127.0.0.1')
192
+
193
+ # The default password for VNC console on HVM domain.
194
+ # Empty string is no authentication.
195
+ (vncpasswd '')
@@ -0,0 +1,69 @@
1
+ #!/bin/bash
2
+ ### BEGIN INIT INFO
3
+ # Provides: xend
4
+ # Required-Start: $local_fs
5
+ # Required-Stop: $local_fs
6
+ # Default-Start: 2 3 4 5
7
+ # Default-Stop: S 0 1 6
8
+ # Short-Description: XEN control daemon
9
+ # Description: XEN control daemon
10
+ ### END INIT INFO
11
+
12
+ if ! grep -q "control_d" /proc/xen/capabilities ; then
13
+ exit 0
14
+ fi
15
+
16
+ # Wait for Xend to be up
17
+ function await_daemons_up
18
+ {
19
+ i=1
20
+ rets=10
21
+ xend status
22
+ while [ $? -ne 0 -a $i -lt $rets ]; do
23
+ sleep 1
24
+ echo -n .
25
+ i=$(($i + 1))
26
+ xend status
27
+ done
28
+ }
29
+
30
+ # Rules for ip forwarding and NAT
31
+ # echo 1 >/proc/sys/net/ipv4/ip_forward
32
+ # echo 1 >/proc/sys/net/ipv4/conf/eth0/proxy_arp
33
+ # echo 1 >/proc/sys/net/ipv4/conf/eth1/proxy_arp
34
+ # IPTABLES=/sbin/iptables
35
+ # EXTIF=eth0
36
+ # INTIF=eth1
37
+ # $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
38
+ # $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
39
+ # $IPTABLES -t nat -A POSTROUTING -o $EXTIF -s 192.168.1.0/24 -j MASQUERADE
40
+
41
+
42
+ case "$1" in
43
+ start)
44
+ xend start
45
+ await_daemons_up
46
+ ;;
47
+ stop)
48
+ /etc/init.d/xendomains stop # make sure domains are shut down
49
+ xend stop
50
+ ;;
51
+ status)
52
+ xend status
53
+ ;;
54
+ reload)
55
+ xend reload
56
+ ;;
57
+ restart|force-reload)
58
+ xend restart
59
+ await_daemons_up
60
+ ;;
61
+ *)
62
+ # do not advertise unreasonable commands that there is no reason
63
+ # to use with this device
64
+ echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
65
+ exit 1
66
+ esac
67
+
68
+ exit $?
69
+
@@ -0,0 +1,137 @@
1
+ ## Path: System/xen
2
+ ## Description: xen domain start/stop on boot
3
+ ## Type: string
4
+ ## Default:
5
+ #
6
+ # The xendomains script can send SysRq requests to domains on shutdown.
7
+ # If you don't want to MIGRATE, SAVE, or SHUTDOWN, this may be a possibility
8
+ # to do a quick and dirty shutdown ("s e i u o") or at least sync the disks
9
+ # of the domains ("s").
10
+ #
11
+ XENDOMAINS_SYSRQ=""
12
+
13
+ ## Type: integer
14
+ ## Default: 100000
15
+ #
16
+ # If XENDOMAINS_SYSRQ is set, this variable determines how long to wait
17
+ # (in microseconds) after each SysRq, so the domain has a chance to react.
18
+ # If you want to a quick'n'dirty shutdown via SysRq, you may want to set
19
+ # it to a relatively high value (1200000).
20
+ #
21
+ XENDOMAINS_USLEEP=100000
22
+
23
+ ## Type: integer
24
+ ## Default: 5000000
25
+ #
26
+ # When creating a guest domain, it is sensible to allow a little time for it
27
+ # to get started before creating another domain or proceeding through the
28
+ # boot process. Without this, the booting guests will thrash the disk as they
29
+ # start up. This timeout (in microseconds) specifies the delay after guest
30
+ # domain creation.
31
+ #
32
+ XENDOMAINS_CREATE_USLEEP=5000000
33
+
34
+ ## Type: string
35
+ ## Default: ""
36
+ #
37
+ # Set this to a non-empty string if you want to migrate virtual machines
38
+ # on shutdown. The string will be passed to the xm migrate DOMID command
39
+ # as is: It should contain the target IP address of the physical machine
40
+ # to migrate to and optionally parameters like --live. Leave empty if
41
+ # you don't want to try virtual machine relocation on shutdown.
42
+ # If migration succeeds, neither SAVE nor SHUTDOWN will be executed for
43
+ # that domain.
44
+ #
45
+ XENDOMAINS_MIGRATE=""
46
+
47
+ ## Type: string
48
+ ## Default: /var/lib/xen/save
49
+ #
50
+ # Directory to save running domains to when the system (dom0) is
51
+ # shut down. Will also be used to restore domains from if # XENDOMAINS_RESTORE
52
+ # is set (see below). Leave empty to disable domain saving on shutdown
53
+ # (e.g. because you rather shut domains down).
54
+ # If domain saving does succeed, SHUTDOWN will not be executed.
55
+ #
56
+ # XENDOMAINS_SAVE=/var/lib/xen/save
57
+
58
+ ## Type: string
59
+ ## Default: "--halt --wait"
60
+ #
61
+ # If neither MIGRATE nor SAVE were enabled or if they failed, you can
62
+ # try to shut down a domain by sending it a shutdown request. To do this,
63
+ # set this to "--halt --wait". Omit the "--wait" flag to avoid waiting
64
+ # for the domain to be really down. Leave empty to skip domain shutdown.
65
+ #
66
+ XENDOMAINS_SHUTDOWN="--halt --wait"
67
+
68
+ ## Type: string
69
+ ## Default: "--all --halt --wait"
70
+ #
71
+ # After we have gone over all virtual machines (resp. all automatically
72
+ # started ones, see XENDOMAINS_AUTO_ONLY below) in a loop and sent SysRq,
73
+ # migrated, saved and/or shutdown according to the settings above, we
74
+ # might want to shutdown the virtual machines that are still running
75
+ # for some reason or another. To do this, set this variable to
76
+ # "--all --halt --wait", it will be passed to xm shutdown.
77
+ # Leave it empty not to do anything special here.
78
+ # (Note: This will hit all virtual machines, even if XENDOMAINS_AUTO_ONLY
79
+ # is set.)
80
+ #
81
+ XENDOMAINS_SHUTDOWN_ALL="--all --halt --wait"
82
+
83
+ ## Type: boolean
84
+ ## Default: true
85
+ #
86
+ # This variable determines whether saved domains from XENDOMAINS_SAVE
87
+ # will be restored on system startup.
88
+ #
89
+ XENDOMAINS_RESTORE=true
90
+
91
+ ## Type: string
92
+ ## Default: /etc/xen/auto
93
+ #
94
+ # This variable sets the directory where domains configurations
95
+ # are stored that should be started on system startup automatically.
96
+ # Leave empty if you don't want to start domains automatically
97
+ # (or just don't place any xen domain config files in that dir).
98
+ # Note that the script tries to be clever if both RESTORE and AUTO are
99
+ # set: It will first restore saved domains and then only start domains
100
+ # in AUTO which are not running yet.
101
+ # Note that the name matching is somewhat fuzzy.
102
+ #
103
+ XENDOMAINS_AUTO=/etc/xen/auto
104
+
105
+ ## Type: boolean
106
+ ## Default: false
107
+ #
108
+ # If this variable is set to "true", only the domains started via config
109
+ # files in XENDOMAINS_AUTO will be treated according to XENDOMAINS_SYSRQ,
110
+ # XENDOMAINS_MIGRATE, XENDOMAINS_SAVE, XENDMAINS_SHUTDOWN; otherwise
111
+ # all running domains will be.
112
+ # Note that the name matching is somewhat fuzzy.
113
+ #
114
+ XENDOMAINS_AUTO_ONLY=false
115
+
116
+ ## Type: integer
117
+ ## Default: 300
118
+ #
119
+ # On xendomains stop, a number of xm commands (xm migrate, save, shutdown,
120
+ # shutdown --all) may be executed. In the worst case, these commands may
121
+ # stall forever, which will prevent a successful shutdown of the machine.
122
+ # If this variable is non-zero, the script will set up a watchdog timer
123
+ # for every of these xm commands and time it out after the number of seconds
124
+ # specified by this variable.
125
+ # Note that SHUTDOWN_ALL will not be called if no virtual machines or only
126
+ # zombies are still running, so you don't need to enable this timeout just
127
+ # for the zombie case.
128
+ # The setting should be large enough to make sure that migrate/save/shutdown
129
+ # can succeed. If you do live migrations, keep in mind that live migration
130
+ # of a 1GB machine over Gigabit ethernet may actually take something like
131
+ # 100s (assuming that live migration uses 10% of the network # bandwidth).
132
+ # Depending on the virtual machine, a shutdown may also require a significant
133
+ # amount of time. So better setup this variable to a huge number and hope the
134
+ # watchdog never fires.
135
+ #
136
+ XENDOMAINS_STOP_MAXWAIT=300
137
+
@@ -0,0 +1,85 @@
1
+ #
2
+ # Configuration file for the Xen instance {$hostname}, created
3
+ # by xen-tools {$xen_tools_version} on { scalar localtime }.
4
+ #
5
+
6
+ #
7
+ # Kernel + memory size
8
+ #
9
+ { if ( $kernel )
10
+ {
11
+ $OUT.= "kernel = '$kernel'";
12
+ }
13
+ }
14
+ { if ( $initrd )
15
+ {
16
+ $OUT.= "ramdisk = '$initrd'";
17
+ }
18
+ }
19
+ memory = '{$memory}'
20
+
21
+ #
22
+ # Disk device(s).
23
+ #
24
+ root = '/dev/{$device}1 ro'
25
+ { if ( $noswap )
26
+ {
27
+ $OUT .= "disk = [ '$image_vbd,$device" . "1,w' ]";
28
+ }
29
+ else
30
+ {
31
+ $OUT .= "disk = [ '$image_vbd,$device" . "1,w', '$swap_vbd,$device" . "2,w' ]";
32
+ }
33
+ }
34
+
35
+ #
36
+ # Hostname
37
+ #
38
+ name = '{$hostname}'
39
+
40
+ #
41
+ # Networking
42
+ #
43
+ { if ( $dhcp )
44
+ {
45
+ $OUT .= "dhcp = 'dhcp'\n";
46
+
47
+ # Setup the mac address, if present.
48
+ my $m = '';
49
+ if ( $mac )
50
+ {
51
+ $m = "mac=$mac"
52
+ }
53
+
54
+ $OUT .= "vif = [ '$m' ]";
55
+ }
56
+ else
57
+ {
58
+ #
59
+ # Setup the mac address, if present.
60
+ #
61
+ my $m = '';
62
+ if ( $mac )
63
+ {
64
+ $m = ",mac=$mac"
65
+ }
66
+
67
+ $OUT .= "vif = [ 'ip=$ip1";
68
+ $OUT .= "$m' ]";
69
+ }
70
+ }
71
+
72
+ #
73
+ # Behaviour
74
+ #
75
+ on_poweroff = 'destroy'
76
+ on_reboot = 'restart'
77
+ on_crash = 'restart'
78
+
79
+
80
+ { if ( $admins )
81
+ {
82
+ $OUT .= "xen_shell = '$admins'\n";
83
+ }
84
+ }
85
+ extra = ' TERM=xterm xencons=tty console=tty1'