xref: /titanic_41/usr/src/cmd/iscsid/iscsi-initiator.xml (revision d30a1dc56ac8d5e7462b900c98440ba40daa3a46)
14246c8e9SJack Meng<?xml version='1.0'?>
24246c8e9SJack Meng<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
34246c8e9SJack Meng
44246c8e9SJack Meng<!--
54246c8e9SJack Meng
64246c8e9SJack Meng CDDL HEADER START
74246c8e9SJack Meng
84246c8e9SJack Meng The contents of this file are subject to the terms of the
94246c8e9SJack Meng Common Development and Distribution License (the "License").
104246c8e9SJack Meng You may not use this file except in compliance with the License.
114246c8e9SJack Meng
124246c8e9SJack Meng You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
134246c8e9SJack Meng or http://www.opensolaris.org/os/licensing.
144246c8e9SJack Meng See the License for the specific language governing permissions
154246c8e9SJack Meng and limitations under the License.
164246c8e9SJack Meng
174246c8e9SJack Meng When distributing Covered Code, include this CDDL HEADER in each
184246c8e9SJack Meng file and include the License file at usr/src/OPENSOLARIS.LICENSE.
194246c8e9SJack Meng If applicable, add the following below this CDDL HEADER, with the
204246c8e9SJack Meng fields enclosed by brackets "[]" replaced with your own identifying
214246c8e9SJack Meng information: Portions Copyright [yyyy] [name of copyright owner]
224246c8e9SJack Meng
234246c8e9SJack Meng CDDL HEADER END
244246c8e9SJack Meng
25*d30a1dc5Syi zhang - Sun Microsystems - Beijing China Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
264246c8e9SJack Meng
274246c8e9SJack Meng	Service manifests for the iSCSI Initiator
284246c8e9SJack Meng-->
294246c8e9SJack Meng
304246c8e9SJack Meng<!--
314246c8e9SJack MengGLXXX: Instance creation guidelines:
324246c8e9SJack Meng
334246c8e9SJack MengCurrently inetd doesn't support property composition in the configuration of
344246c8e9SJack Mengit's instances. It expects to find the "proto" property in the instances
354246c8e9SJack Meng"inetd_private" property group, and all other properties (including the
364246c8e9SJack Mengdefault back ones) in the "inetd_private" property group of the service.
374246c8e9SJack MengThis means that only the "proto" field can be specialized for an instance, which
384246c8e9SJack Menglimits the creation of instances of a service to only those with all fields
394246c8e9SJack Mengcommon, bar the "proto" field. This would enable the following two services
404246c8e9SJack Mengto be created as instances of a common service:
414246c8e9SJack Meng
424246c8e9SJack Mengexec    stream  tcp     nowait  root    /usr/sbin/in.rexecd     in.rexecd
434246c8e9SJack Mengexec    stream  tcp6    nowait  root    /usr/sbin/in.rexecd     in.rexecd
444246c8e9SJack Meng
454246c8e9SJack Mengbut dissallow common service create for these (different socket type):
464246c8e9SJack Meng
474246c8e9SJack Mengtime    stream  tcp6    nowait  root    internal
484246c8e9SJack Mengtime    dgram   udp6    wait    root    internal
494246c8e9SJack Meng
504246c8e9SJack MengTo be more specific, for rpc services all the netids associated with the
514246c8e9SJack Mengservice would need a seperate instance creating under a common service, with
524246c8e9SJack Mengthe instance name and the "proto" being the netid. For non-rpc based
534246c8e9SJack Mengservices only services with changes limited to the "proto" field (such as
544246c8e9SJack Mengudp/upd6 and tcp/tcp6) can have instances created under a common service - as
554246c8e9SJack Mengin the exec example above.
564246c8e9SJack Meng
574246c8e9SJack MengI neglected to mention that the composition limitation applies for methods
584246c8e9SJack Mengalso, so an instance can't have a different method than its service.
594246c8e9SJack Meng
604246c8e9SJack MengInetd is soon going to change to use instance composition for its configuration.
614246c8e9SJack MengThis will mean that any of the properties/methods can be present in either the
624246c8e9SJack Menginstance or the service (with the instance one overriding in the case both are
634246c8e9SJack Mengpresent) and that multiple instances can be created for a service with the
644246c8e9SJack Mengpotential to specialize all the properties/methods.
654246c8e9SJack Meng
664246c8e9SJack Meng-->
674246c8e9SJack Meng
684246c8e9SJack Meng<service_bundle type='manifest' name='SUNWiscsir:iscsi-initiator'>
694246c8e9SJack Meng
704246c8e9SJack Meng<service
714246c8e9SJack Meng    name='network/iscsi/initiator'
724246c8e9SJack Meng    type='service'
734246c8e9SJack Meng    version='1'>
744246c8e9SJack Meng
754246c8e9SJack Meng    <single_instance/>
764246c8e9SJack Meng
774246c8e9SJack Meng    <dependency
78*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	name='network'
79*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	grouping='require_any'
80*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	restart_on='error'
81*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	type='service'>
82*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	<service_fmri value='svc:/milestone/network' />
83*d30a1dc5Syi zhang - Sun Microsystems - Beijing China    </dependency>
84*d30a1dc5Syi zhang - Sun Microsystems - Beijing China
85*d30a1dc5Syi zhang - Sun Microsystems - Beijing China    <dependency
864246c8e9SJack Meng        name='net'
874246c8e9SJack Meng        grouping='require_all'
884246c8e9SJack Meng        restart_on='none'
894246c8e9SJack Meng        type='service'>
904246c8e9SJack Meng        <service_fmri value='svc:/network/service' />
914246c8e9SJack Meng    </dependency>
924246c8e9SJack Meng
934246c8e9SJack Meng    <dependency
944246c8e9SJack Meng        name='loopback'
954246c8e9SJack Meng        grouping='require_any'
964246c8e9SJack Meng        restart_on='error'
974246c8e9SJack Meng        type='service'>
984246c8e9SJack Meng        <service_fmri value='svc:/network/loopback' />
994246c8e9SJack Meng    </dependency>
1004246c8e9SJack Meng
101*d30a1dc5Syi zhang - Sun Microsystems - Beijing China    <dependent
102*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	name='iscsi-initiator_multi-user'
103*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	grouping='optional_all'
104*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	restart_on='none'>
105*d30a1dc5Syi zhang - Sun Microsystems - Beijing China	<service_fmri value='svc:/milestone/multi-user' />
106*d30a1dc5Syi zhang - Sun Microsystems - Beijing China    </dependent>
107*d30a1dc5Syi zhang - Sun Microsystems - Beijing China
1084246c8e9SJack Meng	<!--
1094246c8e9SJack Meng	   Set a timeout of -1 to signify to inetd that we don't want
1104246c8e9SJack Meng	   to timeout this service, since the forked process is the
1114246c8e9SJack Meng	   one that does the services work. This is the case for most/all
1124246c8e9SJack Meng	   legacy inetd services; for services written to take advantage
1134246c8e9SJack Meng	   of Greenlines capabilities, the start method should fork
1144246c8e9SJack Meng	   off a process to handle the request and return a success code.
1154246c8e9SJack Meng	-->
1164246c8e9SJack Meng	<exec_method
1174246c8e9SJack Meng		type='method'
1184246c8e9SJack Meng		name='start'
119*d30a1dc5Syi zhang - Sun Microsystems - Beijing China		exec='/lib/svc/method/iscsi-initiator %m'
1204246c8e9SJack Meng		timeout_seconds='600'>
1214246c8e9SJack Meng		<method_context>
1224246c8e9SJack Meng			<method_credential
1234246c8e9SJack Meng			user='root'
1244246c8e9SJack Meng			group='root'
125*d30a1dc5Syi zhang - Sun Microsystems - Beijing China			privileges='basic,sys_devices,sys_mount'
1264246c8e9SJack Meng			/>
1274246c8e9SJack Meng		</method_context>
1284246c8e9SJack Meng	</exec_method>
1294246c8e9SJack Meng
1304246c8e9SJack Meng	<exec_method
1314246c8e9SJack Meng		type='method'
1324246c8e9SJack Meng		name='stop'
133*d30a1dc5Syi zhang - Sun Microsystems - Beijing China		exec='/lib/svc/method/iscsi-initiator %m'
1344246c8e9SJack Meng		timeout_seconds='600'>
1354246c8e9SJack Meng		<method_context>
1364246c8e9SJack Meng			<method_credential
1374246c8e9SJack Meng			user='root'
1384246c8e9SJack Meng			group='root'
139*d30a1dc5Syi zhang - Sun Microsystems - Beijing China			privileges='basic,sys_devices,sys_mount'
1404246c8e9SJack Meng			/>
1414246c8e9SJack Meng		</method_context>
1424246c8e9SJack Meng	</exec_method>
1434246c8e9SJack Meng
1444246c8e9SJack Meng	<!--
1454246c8e9SJack Meng	    Create an enabled instance.
1464246c8e9SJack Meng	-->
1474246c8e9SJack Meng	<instance
1484246c8e9SJack Meng        name='default'
1494246c8e9SJack Meng        enabled='true' >
1504246c8e9SJack Meng	</instance>
1514246c8e9SJack Meng
1524246c8e9SJack Meng	<stability value='Evolving' />
1534246c8e9SJack Meng
1544246c8e9SJack Meng	<template>
1554246c8e9SJack Meng		<common_name>
1564246c8e9SJack Meng			<loctext xml:lang='C'>
1574246c8e9SJack Meng				iSCSI initiator daemon
1584246c8e9SJack Meng			</loctext>
1594246c8e9SJack Meng		</common_name>
1604246c8e9SJack Meng
1614246c8e9SJack Meng		<documentation>
1624246c8e9SJack Meng			<manpage
1634246c8e9SJack Meng				title='iscsi'
1644246c8e9SJack Meng				section='7D'
1654246c8e9SJack Meng				manpath='/usr/share/man' />
1664246c8e9SJack Meng		</documentation>
1674246c8e9SJack Meng	</template>
1684246c8e9SJack Meng</service>
1694246c8e9SJack Meng
1704246c8e9SJack Meng</service_bundle>
171