components/openstack/nova/files/nova-compute.xml
author Sean Wilcox <sean.wilcox@oracle.com>
Tue, 08 Nov 2016 11:16:49 -0700
changeset 7262 19860fd7b64f
parent 6854 52081f923019
permissions -rw-r--r--
24692363 restart of nova-compute went to maintenance

<?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="nova-compute">

  <service version="1" type="service"
    name="application/openstack/nova/nova-compute">

    <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/nova/nova-upgrade' />
    </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>

    <dependency name='conductor' grouping='optional_all' restart_on='error'
      type='service'>
      <service_fmri value='svc:/application/openstack/nova/nova-conductor' />
    </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>

    <logfile_attributes permissions='600'/>

    <!-- increase the timeout to 120 seconds.  Nova's RPC calls have a timeout
         of 60 seconds so the start method needs to extend past that -->
    <exec_method timeout_seconds="120" type="method" name="start"
      exec="/lib/svc/method/nova-compute %m">
      <method_context>
        <method_credential user='nova' group='nova' />
      </method_context>
    </exec_method>
    <!-- increase the timeout to 600 seconds. The time that it could take to
	 flush the database calls and complete shutdown espescially on heavily
	 utilized systems. -->
    <exec_method timeout_seconds="600" 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.nova' />
        <propval name='value_authorization' type='astring'
                 value='solaris.smf.value.nova' />
      </property_group>
    </instance>

    <template>
      <common_name>
        <loctext xml:lang="C">
          OpenStack Nova Compute Service
        </loctext>
      </common_name>
      <description>
        <loctext xml:lang="C">
          Handles all processes relating to instances (guest VMs).
          nova-compute is responsible for building a disk image, launching it
          via the underlying virtualization driver, responding to calls to
          check its state, attaching persistent storage, and terminating it.
        </loctext>
      </description>
    </template>
  </service>
</service_bundle>