1 Introduction
This document serves as an introduction to the use of the Application Programming Interface (API) of the OpenStack component "Telemetry" in the Cloud Execution Environment (CEE).
The aim of the document is to present the Telemetry API in CEE, and it also contains information about the features of CEE Telemetry.
1.1 API Version
This CEE API is based on OpenStack Telemetry API v2.
1.2 Document References
This section lists the official OpenStack API references.
1.2.1 API Design Base Reference
For the detailed description of the API operations and extensions of Telemetry, refer to the section "Telemetry API v2" in the OpenStack API Complete Reference. This is a stored copy of the OpenStack API Reference document version that was the base for the development of this version of CEE.
All references to this OpenStack API made in this document are based on this specific document version. The document may include API extensions that are not supported in this version of CEE. See Section 2.2 for details.
- Note:
-
- The date on the front page shows the date on which the PDF document was generated.
- The date of the latest change of the actual content may be different.
2 Supported Operations
The following sections contain the API operations and API extensions that are supported in CEE.
2.1 Basic OpenStack Operations
Most of the meters supported by the OpenStack Mitaka release (with Nova using libvirt) are supported in CEE.
The following meters are supported and enabled by default:
- OpenStack Compute
- instance
- cpu
- cpu_util
- disk.read.requests
- disk.write.requests
- disk.read.bytes
- disk.write.bytes
- disk.device.read.requests
- disk.device.write.requests
- disk.device.read.bytes
- disk.device.write.bytes
- memory.resident
- disk.capacity
- disk.allocation
- disk.usage
- disk.device.capacity
- disk.device.allocation
- disk.device.usage
- compute.node.cpu.kernel.percent
- compute.node.cpu.idle.percent
- compute.node.cpu.user.percent
- compute.node.cpu.iowait.percent
- compute.node.cpu.percent
- compute.instance.booting.time
- OpenStack Image Service
- image
- image.size
- OpenStack Block Storage
- volume.size
- snapshot.size
- OpenStack Identity
- identity.authenticate.success
- identity.authenticate.pending
- identity.authenticate.failure
- identity.user.created
- identity.user.deleted
- identity.user.updated
- identity.role.created
- identity.role.deleted
- identity.project.created
- identity.project.deleted
- identity.project.updated
- identity.role_assignment.created
- identity.role_assignment.deleted
- OpenStack Networking
- network
- subnet
- port
- router
- SDN controller
- switch
- switch.port.receive.drops
- switch.port.receive.errors
- switch.port
- switch.table.active.entries
- switch.port.transmit.packets
- switch.port.receive.packets
- switch.port.transmit.bytes
- switch.port.receive.bytes
- Note:
- Ceilometer Software Defined Networking (SDN) controller statistics
are only supported in deployments with tightly integrated SDN. For
detailed description of the meters, refer to the OpenStack Ceilometer
documentation, Reference [1].
The switch port statistics and Neutron ports are correlated in the Ceilometer samples as follows:
+-------------+------------------------------------------------------------------------+ | Property | Value | +-------------+------------------------------------------------------------------------+ | id | c82736c6-8ca2-11e7-97e5-5254000f725d | | metadata | {"neutron_port": "5b101fa7-0d77-4120-bd81-f1645cb7f73a", "controller": | | | "EricssonOpenDaylight", "port": "45"} | | meter | switch.port.transmit.packets | | project_id | None | | recorded_at | 2017-08-29T10:14:03.042000 | | resource_id | 244439028332879 | | source | openstack | | timestamp | 2017-08-29T10:14:02.767000 | | type | cumulative | | unit | packet | | user_id | None | | volume | 1115.0 | +-------------+------------------------------------------------------------------------++-------------+--------------------------------------⇒ | Property | Value ⇒ +-------------+--------------------------------------⇒ | id | c82736c6-8ca2-11e7-97e5-5254000f725d ⇒ | metadata | {"neutron_port": "5b101fa7-0d77-4120-⇒ | | "EricssonOpenDaylight", "port": "45"}⇒ | meter | switch.port.transmit.packets ⇒ | project_id | None ⇒ | recorded_at | 2017-08-29T10:14:03.042000 ⇒ | resource_id | 244439028332879 ⇒ | source | openstack ⇒ | timestamp | 2017-08-29T10:14:02.767000 ⇒ | type | cumulative ⇒ | unit | packet ⇒ | user_id | None ⇒ | volume | 1115.0 ⇒ +-------------+--------------------------------------⇒ ----------------------------------+ | ----------------------------------+ | bd81-f1645cb7f73a", "controller": | | | | | | | | | | | | ----------------------------------+To compile a query, refer to the section "Telemetry API v2 (CURRENT)" in the OpenStack API Complete Reference.
Neutron ports connected to Neutron routers are abstract ports, not directly related to any switch ports. Thus such Neutron ports are not represented by any SDN controller statistics.
The file /etc/ceilometer/pipeline.yaml on all virtual Cloud Infrastructure Controllers (vCICs) contains enabled meters.
SDN meters are disabled by default. The SDN controller meters can be enabled in the ericsson_openstack_config plugin in config.yaml. Refer to the Fuel Plugin Configuration Guide.
2.1.1 Limitations
Not applicable.
CEE specific limitations and recommendations are listed in Section 4.
2.2 OpenStack Extensions
Not applicable.
3 Ericsson Extensions
Not applicable.
4 Limitations and Recommendations
This section describes CEE specific limitations and recommendations.
4.1 Limitations
The below functionalities and extensions are supported with limitations:
- memory.usage is not supported in all cases. Telemetry is not able to fetch the memory.usage samples without the image balloon driver. This is an OpenStack limitation.
- VM migration causes port statistics inconsistencies. For more information, refer to section "Disconnected DPN Scenario" in the SDN document Counters User Guide, Reference [2].
In a deployment with more than 50 blades, Ceilometer statistics return a Gateway Timeout (HTTP 504).
To avoid this issue, do the following:
- Change the parameters timeout client and timeout server in /etc/haproxy/haproxy.cfg on all the vCICs. For each 100 VM, increase the timeout parameters
by 1 minute.
For example, in a deployment with 80 blades and 600 VMs, set the parameters timeout client and timeout server to 6 min.
- Restart HAProxy with the following command on any of
the vCICs:
crm resource restart p_haproxy
4.2 Recommendations
Not applicable.
Reference List
| [1] OpenStack Ceilometer Documentation. https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html |
| [2] Counters User Guide, 4/1543-AXD 101 08/6-V1 |

Contents