<?xml version="1.0" encoding="utf-8"?>
<section xml:id="ceilometer-install-nova"
  xmlns="http://docbook.org/ns/docbook"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
  <?dbhtml-stop-chunking?>
  <title>Install the Compute agent for the Telemetry service</title>
  <procedure>
    <para>OpenStack Telemetry is an API service that provides a
      collector and a range of disparate agents. This procedure
      details how to install the agent that runs on the compute
      node.</para>
    <step>
      <para>Install the Telemetry service on the Compute node:</para>
      <screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install ceilometer-agent-compute</userinput></screen>
      <screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-ceilometer-compute</userinput></screen>
      <screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-ceilometer-agent-compute</userinput></screen>
    </step>
    <step>
      <para os="fedora;rhel;centos;opensuse;sles">Set the following
        options in the <filename>/etc/nova/nova.conf</filename>
        file:</para>
      <screen os="fedora;rhel;centos;opensuse;sles"><prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf DEFAULT \
  instance_usage_audit True</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf DEFAULT \
  instance_usage_audit_period hour</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf DEFAULT \
  notify_on_state_change vm_and_task_state</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf DEFAULT \
  notification_driver nova.openstack.common.notifier.rpc_notifier</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf DEFAULT \
  notification_driver ceilometer.compute.nova_notifier</userinput></screen>
      <para os="ubuntu;debian">Edit the
          <filename>/etc/nova/nova.conf</filename> file and add the
        following lines to the <literal>[DEFAULT]</literal>
        section:</para>
      <programlisting os="ubuntu;debian" language="ini">...
[DEFAULT]
...
instance_usage_audit=True
instance_usage_audit_period=hour
notify_on_state_change=vm_and_task_state
notification_driver=nova.openstack.common.notifier.rpc_notifier
notification_driver=ceilometer.compute.nova_notifier</programlisting>
    </step>
    <step>
      <para>Restart the Compute service:</para>
      <screen os="fedora;rhel;centos;opensuse;sles"><prompt>#</prompt> <userinput>service openstack-nova-compute restart</userinput></screen>
      <screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service nova-compute restart</userinput></screen>
    </step>
    <step>
      <para>You must set the secret key that you defined previously.
        The Telemetry service nodes share this key as a shared
        secret:</para>
      <screen os="fedora;rhel;centos;opensuse;sles"><prompt>#</prompt> <userinput>openstack-config --set /etc/ceilometer/ceilometer.conf publisher_rpc metering_secret $CEILOMETER_TOKEN</userinput></screen>
      <para os="ubuntu;debian">Edit the
          <filename>/etc/ceilometer/ceilometer.conf</filename> file
        and change these lines in the <literal>[DEFAULT]</literal>
        section. Replace <replaceable>CEILOMETER_TOKEN</replaceable> with
        the ceilometer token that you created previously:</para>
      <programlisting os="ubuntu;debian" language="ini">...
[publisher_rpc]
# Secret value for signing metering messages (string value)
metering_secret = <replaceable>CEILOMETER_TOKEN</replaceable>
...</programlisting>
    </step>
    <step os="ubuntu;debian">
      <para>Restart the service with its new settings:</para>
      <screen><prompt>#</prompt> <userinput>service ceilometer-agent-compute restart</userinput></screen>
    </step>
    <step os="rhel;fedora;centos;opensuse;sles">
      <para>Start the service and configure it to start when the
        system boots:</para>
      <screen os="opensuse;sles"><prompt>#</prompt> <userinput>service openstack-ceilometer-agent-compute start</userinput>
<prompt>#</prompt> <userinput>chkconfig openstack-ceilometer-agent-compute on</userinput></screen>
      <screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>service openstack-ceilometer-compute start</userinput>
<prompt>#</prompt> <userinput>chkconfig openstack-ceilometer-compute on</userinput></screen>
    </step>
  </procedure>
</section>