Hi all,

I would like to use rsyncd manifest but I have some errors with the methods :

When I want to enable the service, rsync is in maintenance state :
:svcadm -v enable  svc:/network/rsync:
svc:/network/rsync:default enabled.
:svcs -a | grep rsync
maintenance    Dec_08   svc:/network/rsync:default
:

When I check with svcs, I see :
:svcs -xv
svc:/network/rsync:default (RSYNC daemon)
 State: maintenance since Fri Dec 08 15:40:44 2006
Reason: Method failed.
   See: http://sun.com/msg/SMF-8000-8Q
   See: man -M /usr/share/man -s 7 rsync
   See: /var/svc/log/network-rsync:default.log
Impact: This service is not running.
:

Here is the result with the xml parse :

:xmllint /var/svc/manifest/network/rsync.xml
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="rsync">

<service name="network/rsync" type="service" version="4">

        <create_default_instance enabled="false"/>
        <single_instance/>


        <!-- DEPENDENCY -->
        <!-- First of all, if the config file is not present,
             then we needn't bother with anything else.  -->
        <dependency name="config-file" grouping="require_all" restart_on="none" 
type="path">
             <service_fmri value="file:///usr/local/etc/rsyncd.conf"/>
        </dependency>

        <!-- If there's no network, then there's no point in running -->
        <dependency name="loopback" grouping="require_all" restart_on="error" 
type="service">
             <service_fmri value="svc:/network/loopback:default"/>
        </dependency>

        <dependency name="physical" grouping="require_all" restart_on="error" 
type="service">
             <service_fmri value="svc:/network/physical:default"/>
        </dependency>

        <dependency name="fs-local" grouping="require_all" restart_on="none" 
type="service">
             <service_fmri value="svc:/system/filesystem/local"/>
        </dependency>


        <!-- METHODS -->
        <!-- start & stop methods are required, restart method is optional -->

        <exec_method type="method" name="start" exec="/usr/local/bin/rsync 
--daemon                                       
--config=/usr/local/etc/rsyncd.conf                                       
--port=873" timeout_seconds="60"/>

        <exec_method type="method" name="stop" exec=":kill" 
timeout_seconds="60"/>

        <exec_method type="method" name="refresh" exec=":kill -HUP" 
timeout_seconds="60"/>


        <!-- SERVICE MODEL -->
        <!-- It is a transient service - These are often configuration
             services which require no long-running processes in order
             to provide service.  -->
        <property_group name="startd" type="framework">
             <propval name="duration" type="astring" value="transient"/>
        </property_group>


        <stability value="Unstable"/>

        <!-- TEMPLATE INFORMATIONS -->
        <template>
           <common_name>
              <loctext xml:lang="C">
              RSYNC daemon
              </loctext>
           </common_name>
           <documentation>
              <manpage title="rsync" section="7"/>
              <doc_link name="samba.org" uri="http://www.rsync.org/docs/"/>
           </documentation>
        </template>

</service>
</service_bundle>
:

But if I start manually the deamon, RSYNC work fine :
:/usr/local/bin/rsync --daemon --config=/usr/local/etc/rsyncd.conf  --port=873
:
:ps -eaf | grep rsync
    root 29569     1   0 16:44:23 ?           0:00 /usr/local/bin/rsync 
--daemon --config=/usr/local/etc/rsyncd.conf --port=873
    root 29571 27867   0 16:44:31 pts/1       0:00 grep rsync
:

And when I display service's properties, I have :
:svccfg -s svc:/network/rsync: listprop
general                            framework
general/enabled                    boolean  true
restarter                          framework    NONPERSISTENT
restarter/start_pid                count    19317
restarter/start_method_timestamp   time     1165590171.842885000
restarter/start_method_waitstatus  integer  0
restarter/transient_contract       count
restarter/logfile                  astring  
/var/svc/log/network-rsync:default.log
restarter/auxiliary_state          astring  method_failed
restarter/next_state               astring  none
restarter/state                    astring  maintenance
restarter/state_timestamp          time     1165590295.976583000
restarter_actions                  framework    NONPERSISTENT
restarter_actions/refresh          integer
restarter_actions/maint_off        integer
restarter_actions/restart          integer
:

I also an error when I want to stop the RSYNC deamon, process isn't kill :
:svcadm -v disable  svc:/network/rsync:
svc:/network/rsync:default disabled.
:svcs -a | grep rsync
disabled       11:20:06 svc:/network/rsync:default
:ps -eaf | grep rsync
    root 29569     1   0   Dec 08 ?           0:00 /usr/local/bin/rsync 
--daemon --config=/usr/local/etc/rsyncd.conf --port=873
    root 27080 20590   0 11:20:29 pts/1       0:00 grep rsync
:

And I haven't errors messages in /var/svc/log/network-rsync:default.log file ...

So my questions are :
 - What's happen between "svcadm enable/disable" commands and "start/stop" 
methods in the xml file ?
 - Has somebody idea for debugging such errors ? 

Thank's for your reply.
 
 
This message posted from opensolaris.org

Reply via email to