Provide dev-ref update
This change set updates the dev-ref documentation for Ceilometer-PowerVM. Change-Id: Id6f1a181c3b134488d500f2e04f4690c9d2536df
This commit is contained in:
parent
475f10ef9b
commit
2bc7031087
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,3 +4,5 @@
|
||||
ceilometer_powervm.egg-info/
|
||||
*.pyc
|
||||
doc/build
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
|
200
README.rst
200
README.rst
@ -2,116 +2,66 @@
|
||||
Support for PowerVM Performance Monitoring
|
||||
==========================================
|
||||
|
||||
Include the URL of your launchpad blueprint:
|
||||
|
||||
https://blueprints.launchpad.net/ceilometer/+spec/example
|
||||
https://blueprints.launchpad.net/python-ceilometerclient/+spec/example
|
||||
|
||||
The IBM PowerVM hypervisor provides virtualization on POWER hardware.
|
||||
PowerVM customers can see benefits in their environments by making use
|
||||
of OpenStack. This blueprint outlines implementing Ceilometer-compatible
|
||||
compute agent plugins. These, along with a Nova driver and Neutron agent
|
||||
defined in other blueprints, will provide capability for PowerVM
|
||||
customers to natively monitor utilization and statistics for instances
|
||||
running on OpenStack managed systems.
|
||||
of OpenStack. This project implements a Ceilometer-compatible compute
|
||||
inspector. This inspector, along with the PowerVM Nova driver and Neutron
|
||||
agent, provides capability for PowerVM customers to natively monitor
|
||||
utilization and statistics for instances running on OpenStack-managed systems.
|
||||
|
||||
Problem description
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
PowerVM supports a variety of Performance Monitoring interfaces within
|
||||
PowerVM supports a variety of performance monitoring interfaces within
|
||||
the platform, providing virtual machine and system monitoring data.
|
||||
Today, however, Ceilometer does not collect metrics for virtual machines
|
||||
running on the PowerVM platform. With the proposal of a PowerVM Nova
|
||||
driver it is necessary to extend support for PowerVM into Ceilometer as
|
||||
well.
|
||||
Ceilometer-powervm implements a Ceilometer-based compute inspector for the
|
||||
PowerVM hypervisor.
|
||||
|
||||
This blueprint will outlines implementing Ceilometer-compatible compute
|
||||
agent plugins for the PowerVM hypervisor. With this update the
|
||||
Ceilometer compute agent will run on each PowerVM compute node and will
|
||||
poll against the PowerVM REST API to retrieve data on running instances.
|
||||
Inspector Description
|
||||
=====================
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
This blueprint, along with associated blueprints in Nova and Neutron,
|
||||
plans to bring the PowerVM hypervisor into the OpenStack community.
|
||||
|
||||
The Ceilometer compute agent provides a framework that allows
|
||||
The Ceilometer compute agent provides an inspector framework that allows
|
||||
hypervisors to integrate support for gathering instance statistics and
|
||||
utilization details into Ceilometer. The proposed change plans to build
|
||||
upon the work that the Ceilometer community has done within the compute
|
||||
agent by adding support for gathering instance data from the PowerVM
|
||||
Performance Monitoring infrastructure.
|
||||
utilization details into Ceilometer. This project provides a standard
|
||||
Ceilometer virt inspector that pulls its data from the PowerVM Performance and
|
||||
Capacity Monitoring (PCM) infrastructure.
|
||||
|
||||
A new compute agent inspector will be added for PowerVM. This will
|
||||
follow the existing inspector specification and poll PowerVM Performance
|
||||
Monitoring to retrieve instance monitoring data. Data on instance cpu,
|
||||
network, memory, and disk usage will be returned by the inspector when
|
||||
called by the associated pollster. Interactions with PowerVM Performance
|
||||
Monitoring will occur using the PowerVM REST API stack via an open
|
||||
source python wrapper to be defined.
|
||||
This inspector retrieves instance monitoring data for cpu, network, memory, and
|
||||
disk usage. Interactions with PowerVM PCM occur using the PowerVM REST API
|
||||
stack through `pypowervm`_, an open source python project.
|
||||
|
||||
These changes are planned to be developed in StackForge under a powervm
|
||||
project. A separate blueprint will be proposed for the ‘L’ release of
|
||||
OpenStack to promote it to the Ceilometer project. This will allow for a
|
||||
longer period of time to show functional testing and drive maturity.
|
||||
This inspector requires that the PowerVM system be configured for management
|
||||
via `NovaLink`_.
|
||||
|
||||
Until the promotion to the core Ceilometer project is complete, these
|
||||
changes will be marked experimental.
|
||||
.. _pypowervm: https://github.com/pypowervm/pypowervm
|
||||
.. _NovaLink: http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS215-262&appname=USN
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
Alternatives include writing a PowerVM-specific compute agent or
|
||||
separate PowerVM-specific compute agent plugins. These solutions do not
|
||||
follow the existing Ceilometer standard for hypervisor instance
|
||||
monitoring, would not fit within broader project goals, and would end up
|
||||
re-implementing logic.
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
None
|
||||
|
||||
REST API impact
|
||||
End User Impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Pipeline impact
|
||||
---------------
|
||||
|
||||
This change extends the existing Ceilometer compute agent and should
|
||||
have no Pipeline impact.
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
None to the deployer.
|
||||
|
||||
For the Kilo release of OpenStack, the administrator will need to obtain
|
||||
the change from StackForge (and understand its experimental status).
|
||||
The users of the cloud are able to see the metrics for their virtual machines.
|
||||
As PowerVM deals with 'disk buses' rather than specific disks, the hard disk
|
||||
data is reported at a 'per bus' level (i.e. each SCSI or Virtual Fibre Channel
|
||||
bus).
|
||||
|
||||
Performance/Scalability Impacts
|
||||
-------------------------------
|
||||
|
||||
This change should have no impacts to performance or scalability of the
|
||||
system. The amount of data being gathered and processed will be similar
|
||||
to that of the existing libvirt, vmware, and hyper-v inspectors.
|
||||
None.
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
The cloud administrator will need to refer to documentation on how to
|
||||
configure OpenStack for use with a PowerVM hypervisor.
|
||||
The cloud administrator needs to install the ceilometer-powervm project on
|
||||
their PowerVM compute node. It must be installed on the `NovaLink`_ virtual
|
||||
machine on the PowerVM system.
|
||||
|
||||
Assuming the PowerVM REST API and Python wrapper library are available,
|
||||
no additional configuration should be required.
|
||||
The cloud administrator needs to configure their 'hypervisor_inspector' as
|
||||
powervm.
|
||||
|
||||
No other configuration is required.
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
@ -124,88 +74,25 @@ Implementation
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee: adreznec
|
||||
Primary assignee: thorst
|
||||
|
||||
Other contributors: thorst kyleh dwarcher
|
||||
Ongoing maintainer: thorst
|
||||
|
||||
Ongoing maintainer: adreznec
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
- Create a PowerVM-specific inspector in the
|
||||
/ceilometer/compute/virt/powervm folder. Stub out the methods.
|
||||
|
||||
- Create a PowerVM helper utility for interfacing with the PowerVM REST
|
||||
API python wrapper.
|
||||
|
||||
- Implement inspector calls to match the virt inspector abstraction,
|
||||
making calls against the PowerVM REST API to collect cpu, vnic, disk,
|
||||
and memory statistics.
|
||||
|
||||
- Provide extensive unit tests (part of other work items).
|
||||
|
||||
- Implement a functional automation server that listens for incoming
|
||||
change set commits from the community and provides a non-gating vote
|
||||
(+1 or -1) on the change.
|
||||
|
||||
Future lifecycle
|
||||
================
|
||||
|
||||
Ongoing maintenance of the PowerVM compute agent inspector will be
|
||||
handled by the IBM OpenStack team over the course of the next two
|
||||
release cycles. In the Kilo timeframe this change will remain in
|
||||
StackForge, with a target of merging in the ‘L’ timeframe and continued
|
||||
maintenance and updates as the Ceilometer architecture requires.
|
||||
Ongoing maintenance of the PowerVM compute inspector will be handled by the IBM
|
||||
OpenStack team.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
- The Ceilometer compute agent.
|
||||
|
||||
- Will utilize the PowerVM REST API specification for management. Will
|
||||
utilize future versions of this specification as it becomes
|
||||
available: http://ibm.co/1lThV9R
|
||||
- The `pypowervm`_ library.
|
||||
|
||||
- Will build on top of a new open source python binding to previously
|
||||
noted PowerVM REST API. This will be a prerequisite to utilizing the
|
||||
driver.
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Tempest Tests
|
||||
-------------
|
||||
|
||||
Since the tempest tests should be implementation-agnostic, the existing
|
||||
tempest tests should be able to run against the PowerVM polling code
|
||||
without issue. This blueprint does not foresee any changes based off
|
||||
this work.
|
||||
|
||||
Thorough unit tests will be created with the agent to validate specific
|
||||
functions within this implementation.
|
||||
|
||||
Functional Tests
|
||||
----------------
|
||||
|
||||
A third party functional test environment will be created. It will
|
||||
monitor for incoming neutron change sets. Once it detects a new change
|
||||
set, it will utilize the existing lifecycle API tests. A non-gating vote
|
||||
(+1 or -1) will be provided with information (logs) based on the result.
|
||||
|
||||
API Tests
|
||||
---------
|
||||
|
||||
The REST APIs are not planned to change as part of this. Existing APIs
|
||||
should be valid. All testing is planned within the functional testing
|
||||
system and via unit tests.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
No documentation additions are anticipated. If the existing developer
|
||||
documentation is updated to reflect more hypervisor-specific items, this
|
||||
agent will follow suit.
|
||||
- A `NovaLink`_ enabled PowerVM system.
|
||||
|
||||
References
|
||||
==========
|
||||
@ -213,6 +100,10 @@ References
|
||||
- Ceilometer Architecture:
|
||||
http://docs.openstack.org/developer/ceilometer/architecture.html
|
||||
|
||||
- pypowervm: https://github.com/pypowervm/pypowervm
|
||||
|
||||
- NovaLink: http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS215-262&appname=USN
|
||||
|
||||
- PowerVM REST API Initial Specification (may require a newer version
|
||||
as they become available): http://ibm.co/1lThV9R
|
||||
|
||||
@ -221,4 +112,3 @@ References
|
||||
|
||||
- PowerVM Best Practices:
|
||||
http://www.redbooks.ibm.com/abstracts/sg248062.html?Open
|
||||
|
||||
|
@ -40,6 +40,17 @@ Grab the code::
|
||||
Setting up your environment
|
||||
---------------------------
|
||||
|
||||
.. todo::
|
||||
The purpose of this project is to provide the 'glue' between OpenStack
|
||||
Telemetry (Ceilometer) and PowerVM. The `pypowervm`_ project is used to
|
||||
control and monitor PowerVM systems.
|
||||
|
||||
Add in steps for environment setup
|
||||
It is recommended that you clone down the OpenStack Ceilometer project along
|
||||
with pypowervm into your respective development environment.
|
||||
|
||||
Running the tox python targets for tests will automatically clone these down
|
||||
via the requirements. When run with tox, it pulls the necessary requirements
|
||||
into a virtualenv.
|
||||
|
||||
Additional project requirements may be found in the requirements.txt file.
|
||||
|
||||
.. _pypowervm: https://github.com/pypowervm/pypowervm
|
||||
|
@ -16,6 +16,10 @@
|
||||
|
||||
Usage
|
||||
=====
|
||||
- Install the ceilometer-powervm plugin on the compute server
|
||||
- Configure the PowerVM system for `NovaLink`_
|
||||
- Install the ceilometer-powervm plugin on the `NovaLink`_ VM on the PowerVM
|
||||
Server.
|
||||
- Set the hypervisor_inspector in the ceilometer.conf to "powervm"
|
||||
- Start the ceilometer-agent-compute on the compute server
|
||||
|
||||
.. _NovaLink: http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS215-262&appname=USN
|
@ -24,6 +24,16 @@ Documentation on Ceilometer can be found at the `Ceilometer documentation`_.
|
||||
|
||||
.. _`Ceilometer documentation`: http://docs.openstack.org/developer/ceilometer
|
||||
|
||||
Ceilometer-PowerVM Information and Configuration
|
||||
================================================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
readme
|
||||
|
||||
Ceilometer-PowerVM Policies
|
||||
===========================
|
||||
|
||||
|
1
doc/source/readme.rst
Normal file
1
doc/source/readme.rst
Normal file
@ -0,0 +1 @@
|
||||
.. include:: ../../README.rst
|
Loading…
Reference in New Issue
Block a user