components/openstack/neutron/files/neutron-dhcp-agent.xml
changeset 1760 353323c7bdc1
child 1944 56ac2df1785b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/openstack/neutron/files/neutron-dhcp-agent.xml	Mon Mar 17 09:51:44 2014 -0600
@@ -0,0 +1,129 @@
+<?xml version="1.0" ?>
+<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
+<!--
+ Copyright (c) 2013, 2014, 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-dhcp-agent">
+
+  <service version="1" type="service"
+    name="application/openstack/neutron/neutron-dhcp-agent">
+
+    <dependency name='multiuser' grouping='require_all' restart_on='error'
+      type='service'>
+      <service_fmri value='svc:/milestone/multi-user:default' />
+    </dependency>
+
+    <!-- neutron-dhcp-agent uses dnsmasq which is incompatible with running
+         BIND, ISC DHCP, and TFTP -->
+    <dependency name='exclude-bind'
+                grouping='exclude_all'
+                restart_on='none'
+                type='service'>
+      <service_fmri value='svc:/network/dns/server'/>
+    </dependency>
+
+    <dependency name='exclude-dhcp-relay'
+                grouping='exclude_all'
+                restart_on='none'
+                type='service'>
+      <service_fmri value='svc:/network/dhcp/relay'/>
+    </dependency>
+
+    <dependency name='exclude-dhcp-server'
+                grouping='exclude_all'
+                restart_on='none'
+                type='service'>
+      <service_fmri value='svc:/network/dhcp/server'/>
+    </dependency>
+
+    <dependency name='exclude-tftp'
+                grouping='exclude_all'
+                restart_on='none'
+                type='service'>
+      <service_fmri value='svc:/network/tftp/udp6'/>
+    </dependency>
+
+    <dependency name='exclude-dnsmasq'
+                grouping='exclude_all'
+                restart_on='none'
+                type='service'>
+      <service_fmri value='svc:/network/dnsmasq'/>
+    </dependency>
+
+    <exec_method timeout_seconds="60" type="method" name="start"
+      exec="/lib/svc/method/neutron-dhcp-agent %m %{config/config_path} %{config/dhcp_config_path}">
+      <method_context>
+        <method_credential user='neutron' group='neutron'
+          privileges='basic,{net_privaddr}:53/udp,{net_privaddr}:53/tcp,{net_privaddr}:67/udp,{net_privaddr}:69/udp,{net_privaddr}:547/udp,net_icmpaccess,sys_ip_config' />
+      </method_context>
+    </exec_method>
+    <exec_method timeout_seconds="60" type="method" name="stop"
+      exec=":kill"/>
+
+    <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/quantum.conf'/>
+        <propval name='dhcp_config_path' type='astring'
+          value='/etc/neutron/dhcp_agent.ini'/>
+      </property_group>
+    </instance>
+
+    <template>
+      <common_name>
+        <loctext xml:lang="C">
+          OpenStack Neutron DHCP Agent
+        </loctext>
+      </common_name>
+      <description>
+        <loctext xml:lang="C">
+          neutron-dhcp-agent is a server daemon that provides DHCP services to
+          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='dhcp_config_path' type='astring'
+          required='true'>
+          <common_name>
+            <loctext xml:lang='C'>
+              Filesystem path to Neutron DHCP .ini file
+            </loctext>
+          </common_name>
+        </prop_pattern>
+      </pg_pattern>
+    </template>
+  </service>
+</service_bundle>