components/openstack/neutron/files/neutron-l3-agent.xml
author chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
Tue, 12 Jul 2016 11:18:58 -0700
changeset 6382 ed601ca40b9c
parent 6031 1aaf20a19738
permissions -rw-r--r--
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance 23855850 Neutron agents (L3 and DHCP) should cleanup pre-existing resources when starting 23855912 neutron-l3-agent should make sure contract is empty in SMF stop method

<?xml version="1.0" ?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
 Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.

 Licensed under the Apache License, Version 2.0 (the "License"); you may
 not use this file except in compliance with the License. You may obtain
 a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 License for the specific language governing permissions and limitations
 under the License.

 NOTE:  This service manifest is not editable; its contents will
 be overwritten by package or patch operations, including
 operating system upgrade.  Make customizations in a different
 file.
-->
<service_bundle type="manifest" name="neutron-l3-agent">

  <service version="1" type="service"
    name="application/openstack/neutron/neutron-l3-agent">

    <dependency name='multiuser' grouping='require_all' restart_on='error'
      type='service'>
      <service_fmri value='svc:/milestone/multi-user:default' />
    </dependency>

    <dependency name='upgrade' grouping='require_all' restart_on='none'
      type='service'>
      <service_fmri
        value='svc:/application/openstack/neutron/neutron-upgrade' />
    </dependency>

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

    <dependency name='ntp' grouping='optional_all' restart_on='none'
      type='service'>
      <service_fmri value='svc:/network/ntp'/>
    </dependency>

    <dependency name='rabbitmq' grouping='optional_all' restart_on='none'
      type='service'>
      <service_fmri value='svc:/application/rabbitmq'/>
    </dependency>

    <dependency name='neutron-server' grouping='optional_all' restart_on='none'
      type='service'>
      <service_fmri value='svc:/application/openstack/neutron/neutron-server'/>
    </dependency>
    
     <dependency name='neutron-ovs-agent' grouping='optional_all' restart_on='none'
       type='service'>
       <service_fmri value='svc:/application/openstack/neutron/neutron-openvswitch-agent:default' />
     </dependency>

    <logfile_attributes permissions='600'/>

    <exec_method timeout_seconds="600" type="method" name="start"
      exec="/lib/svc/method/neutron-l3-agent %m %{config/config_path} %{config/l3_config_path} %{config/vpn_config_path} %{config/ml2_config_path}">
      <method_context>
        <method_credential user='neutron' group='neutron'/>
      </method_context>
    </exec_method>
    <exec_method timeout_seconds="600" type="method" name="stop"
      exec="/lib/svc/method/neutron-l3-agent %m %{restarter/contract}">
      <method_context>
        <method_credential user='neutron' group='neutron'/>
      </method_context>
    </exec_method>

    <instance name='default' enabled='false'>
      <!-- to start/stop/refresh the service -->
      <property_group name='general' type='framework'>
        <propval name='action_authorization' type='astring'
                 value='solaris.smf.manage.neutron' />
        <propval name='value_authorization' type='astring'
                 value='solaris.smf.value.neutron' />
      </property_group>

      <property_group name='config' type='application'>
        <propval name='config_path' type='astring'
          value='/etc/neutron/neutron.conf'/>
        <propval name='l3_config_path' type='astring'
          value='/etc/neutron/l3_agent.ini'/>
        <propval name='vpn_config_path' type='astring'
          value='/etc/neutron/vpn_agent.ini'/>
        <propval name='ml2_config_path' type='astring'
          value='/etc/neutron/plugins/ml2/ml2_conf.ini'/>
      </property_group>
    </instance>

    <template>
      <common_name>
        <loctext xml:lang="C">
          OpenStack Neutron Layer 3 Agent
        </loctext>
      </common_name>
      <description>
        <loctext xml:lang="C">
          neutron-l3-agent is a server daemon that supports Layer 3 and NAT
          forwarding to provide external network access for VMs on tenant
          networks.
        </loctext>
      </description>
      <pg_pattern name='config' type='application' required='true'>
        <prop_pattern name='config_path' type='astring'
          required='true'>
          <common_name>
            <loctext xml:lang='C'>
              Filesystem path to Neutron configuration file
            </loctext>
          </common_name>
        </prop_pattern>
        <prop_pattern name='l3_config_path' type='astring'
          required='true'>
          <common_name>
            <loctext xml:lang='C'>
              Filesystem path to Neutron L3 .ini file
            </loctext>
          </common_name>
        </prop_pattern>
        <prop_pattern name='vpn_config_path' type='astring'
          required='true'>
          <common_name>
            <loctext xml:lang='C'>
              Filesystem path to Neutron VPNaaS .ini file
            </loctext>
          </common_name>
        </prop_pattern>
        <prop_pattern name='ml2_config_path' type='astring'
          required='true'>
          <common_name>
            <loctext xml:lang='C'>
              Filesystem path to Neutron ML2 .ini file
            </loctext>
          </common_name>
        </prop_pattern>
      </pg_pattern>
    </template>
  </service>
</service_bundle>