xref: /illumos-gate/usr/src/cmd/fs.d/nfs/svc/server.xml (revision e77c795bcbe51aebd7579fe13cbf2a6d56eca47f)
1<?xml version="1.0"?>
2<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3<!--
4
5 CDDL HEADER START
6
7 The contents of this file are subject to the terms of the
8 Common Development and Distribution License (the "License").
9 You may not use this file except in compliance with the License.
10
11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12 or http://www.opensolaris.org/os/licensing.
13 See the License for the specific language governing permissions
14 and limitations under the License.
15
16 When distributing Covered Code, include this CDDL HEADER in each
17 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18 If applicable, add the following below this CDDL HEADER, with the
19 fields enclosed by brackets "[]" replaced with your own identifying
20 information: Portions Copyright [yyyy] [name of copyright owner]
21
22 CDDL HEADER END
23
24	Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
25
26	NOTE:  This service manifest is not editable; its contents will
27	be overwritten by package or patch operations, including
28	operating system upgrade.  Make customizations in a different
29	file.
30
31	Note: if this service is modified to consist of anything other
32	than a single instance named 'default', you must make changes to
33	$SRC/head/rpcsvc/daemon_utils.h and libnsl:open_daemon_lock().
34-->
35
36<service_bundle type='manifest' name='SUNWnfssr:nfs-server'>
37
38<service
39	name='network/nfs/server'
40	type='service'
41	version='1'>
42
43	<dependency name='network'
44	    grouping='require_any'
45	    restart_on='error'
46	    type='service'>
47		<service_fmri value='svc:/milestone/network' />
48	</dependency>
49
50	<dependency name='nlockmgr'
51	    grouping='require_all'
52	    restart_on='error'
53	    type='service'>
54		<service_fmri value='svc:/network/nfs/nlockmgr' />
55	</dependency>
56
57	<dependency name='mapid'
58	    grouping='optional_all'
59	    restart_on='error'
60	    type='service'>
61		<service_fmri value='svc:/network/nfs/mapid' />
62	</dependency>
63
64	<dependency name='rpcbind'
65	    grouping='require_all'
66	    restart_on='restart'
67	    type='service'>
68		<service_fmri value='svc:/network/rpc/bind' />
69	</dependency>
70
71	<dependency name='keyserv'
72	    grouping='optional_all'
73	    restart_on='none'
74	    type='service'>
75		<service_fmri value='svc:/network/rpc/keyserv' />
76	</dependency>
77
78	<dependency name='gss'
79	    grouping='optional_all'
80	    restart_on='none'
81	    type='service'>
82		<service_fmri value='svc:/network/rpc/gss' />
83	</dependency>
84
85	<dependency name='share-group'
86	    grouping='optional_all'
87	    restart_on='none'
88	    type='service'>
89		<service_fmri value='svc:/network/shares/group' />
90	</dependency>
91
92	<dependency name='reparse'
93	    grouping='optional_all'
94	    restart_on='none'
95	    type='service'>
96		<service_fmri value='svc:/system/filesystem/reparse' />
97	</dependency>
98
99	<!-- Must have all local filesystems mounted before we share them -->
100	<dependency name='filesystem-local'
101	    grouping='require_all'
102	    restart_on='error'
103	    type='service'>
104	    	<service_fmri value='svc:/system/filesystem/local' />
105	</dependency>
106
107	<dependent
108		name='nfs-server_multi-user-server'
109		grouping='optional_all'
110		restart_on='none'>
111		<service_fmri value='svc:/milestone/multi-user-server' />
112	</dependent>
113
114	<!--
115	  The shareall done as part of the nfs-server method may take a
116	  long time, as the contents of dfstab can be arbitrarily large.
117	  Set the timeout appropriately for both 'start' and 'refresh'.
118	-->
119	<exec_method
120	    type='method'
121	    name='start'
122	    exec='/lib/svc/method/nfs-server %m'
123	    timeout_seconds='3600' />
124
125	<exec_method
126	    type='method'
127	    name='refresh'
128	    exec='/lib/svc/method/nfs-server %m'
129	    timeout_seconds='3600' />
130
131	<!--
132	  The stop method runs unshareall as well as up to a 10 second
133	  sleep to do graceful versus forceful shutdown of daemons.  Set
134	  the timeout appropriately.
135	-->
136	<exec_method
137	    type='method'
138	    name='stop'
139	    exec='/lib/svc/method/nfs-server %m %{restarter/contract}'
140	    timeout_seconds='3600' />
141
142	<property_group name='application' type='framework'>
143		<stability value='Evolving' />
144		<propval name='auto_enable' type='boolean' value='true' />
145	</property_group>
146
147	<property_group name='firewall_context' type='com.sun,fw_definition'>
148		<propval name='name' type='astring' value='nfsd' />
149		<propval name='ipf_method' type='astring'
150		    value='/lib/svc/method/nfs-server ipfilter' />
151	</property_group>
152
153	<property_group name='firewall_config' type='com.sun,fw_configuration'>
154		<propval name='policy' type='astring' value='use_global' />
155		<propval name='apply_to' type='astring' value='' />
156		<propval name='exceptions' type='astring' value='' />
157		<propval name='value_authorization' type='astring'
158			value='solaris.smf.value.firewall.config' />
159	</property_group>
160	<instance name='default' enabled='false'>
161	 <property_group name='nfs-props' type='com.oracle.nfs,props'>
162	   <propval name='device' type='astring' value=''/>
163	   <propval name='listen_backlog' type='integer' value='32'/>
164	   <propval name='max_connections' type='integer' value='-1'/>
165	   <propval name='protocol' type='astring' value='ALL'/>
166	   <propval name='server_delegation' type='astring' value='on'/>
167	   <propval name='server_versmax' type='integer' value='4'/>
168	   <propval name='server_versmin' type='integer' value='2'/>
169	   <propval name='servers' type='integer' value='16'/>
170	 </property_group>
171	</instance>
172
173	<stability value='Stable' />
174
175	<template>
176		<common_name>
177			<loctext xml:lang='C'>
178				NFS server
179			</loctext>
180		</common_name>
181		<documentation>
182			<manpage title='nfsd' section='1M'
183				manpath='/usr/share/man' />
184		</documentation>
185	</template>
186</service>
187
188</service_bundle>
189