75 Commits

Author SHA1 Message Date
Jenkins
dc466535d4 Merge "implement sqlalchemy dbengine backend" 2012-09-27 18:14:46 +00:00
Doug Hellmann
d2e29db5d9 Fix dependency on anyjson
The main requirements.txt and the one for documentation
had different specification for anyjson.

This change also makes explicit the fact that we
do not require anything other than what is listed
in pip-requires to install. The library function
looks at requirements.txt, too, which we don't have
and should not use.

Change-Id: I8e79ad0803e3a9ebeb2a1dae30b2e5abdbbe8276
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-09-27 13:29:21 -04:00
John H. Tran
d8d2fe6990 implement sqlalchemy dbengine backend
implements bug #1021767

To sync db migration, for now use temporary
script tools/dbsync.  Modify it to point
to your db url (example 'sqlite:///ceilometer.db'
or 'mysql://user:mypass@localhost/ceilometer').
Also ensure the database_connection= in conf
files point to same db url.

Change-Id: I1c72b0a6b860738e94cf19666cb47db88ac9b251
2012-09-26 21:36:44 +00:00
Eoghan Glynn
c5ae3f1c16 Add a notification handler for image downloads.
Addresses bug 1004462

This patch requires https://review.openstack.org/13666 to
have landed in glance, so that queue durability matches up
in order to avoid precondition failures from rabbitmq.

Change-Id: I18ba7d58625ef89e75d4e6b8896505ed11a1afb4
2012-09-26 16:36:44 +01:00
Surya Prabhakar
49209f45f6 Picking up dependencies from pip-requires file.
Also, removing pip-requires_essex and test-requires_essex

https://bugs.launchpad.net/ceilometer/+bug/1055319

Change-Id: Ifec6b8fe5b53b45d8c94fbc87110f20541e9f3d0
2012-09-22 05:24:00 +05:30
Julien Danjou
40ef8d455e Rework RPC connection
We are now able to listen to multiple topics, we don't use Nova RPC anymore
and we have a single namespace for all collector plugins.

Change-Id: I23603601cb285e9bd71beabfd9558fe903c24308
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-09-25 13:33:19 +02:00
Julien Danjou
b0eb0b091e Listen for volume notifications
This implements bug #1021772

Change-Id: Ic0292e8bdc20668abd331f4f03b06b9d1496217a
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-09-21 15:57:37 +02:00
Julien Danjou
50da744ed5 Add pollster for Glance
This adds a pollster for Glance, polling for all images present via the
Glance registry. Using the registry is obligatory because the Glance API
would not let a user see all images.

This fixes #1051335

Change-Id: I0c5afba8e3f1caf314b8dd95875fbe60b4c07f82
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-09-20 22:39:44 +02:00
Angus Salkeld
731d3fce5e Add bin/ceilometer-api for convenience
This is a bit more obvious than running the module.
I have basically just moved api/__main__.py into bin/ceilometer-api.

Change-Id: I50d614ea98b278563b576e0b3b9df03b391e2152
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2012-09-03 13:51:12 +10:00
John H. Tran
113439da10 Pollster for network internal traffic (n1,n2)
Implements bug 1004449

Change-Id: I9ca8a19ec6b5635868cff1628a169faf2ff87331
2012-08-30 09:49:01 -07:00
Chuck Short
a08368e574 Add setuptools-git support
Standard way of generating tarballs across
the openstack project.

Change-Id: I9aede3008df212ff6b0191c2152137d131e96e4b
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2012-08-17 08:00:23 -05:00
Doug Hellmann
039f3d893d Add separate notification handler for instance flavor
This notification handler records a meter event with the
instance flavor included, making it easier to query
for the amount of time an instance existed as a specific
flavor.

Change-Id: Ic162ac021f864c2a98c47127288867e940469ceb
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-08-14 12:47:21 -04:00
Doug Hellmann
a8ff8fe0c3 Split the existing notification handlers up
We want to be able to enable and disable the handlers
for notification events individually. This change
splits them up so they are registered with separate
names to allow that.

This change also adds python-glanceclient as a test
dependency so we can import the test code from nova.

Change-Id: Icc07baba3f00294d8ee505a2cc82f65c0c7f4fc9
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-08-14 12:46:54 -04:00
Doug Hellmann
0e8f2359d9 Create "central" agent
This changeset is phase one of changing the pollster API to support
polling individual instance resources. In this change, the single
compute agent is divided into two separate daemons.

The compute agent, for polling instance data, is still meant to
run on the compute server. The new "central" agent, for polling
resources not tied to a compute node, is meant to run on a management
server (probably the same place the collector runs). The configuration
of the pollsters is updated so that they are loaded by the
appropriate agent.

New base classes are introduced for each of the types of pollsters.
For now, the APIs remain the same.

The code implementing the agent and plugins has been moved around
to reflect the new logical relationships, and the documentation
is updated (including new installation instructions).

Change-Id: Ica6e947b2e457f7db6672147af1369a24066037d
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-07-31 09:11:21 -04:00
Doug Hellmann
4ee4a6895f Add MongoDB engine.
This change implements the first storage backend for
ceilometer using MongoDB and makes it the default
(instead of 'log').

- require pymongo and ming for tests
- clean up entry point registration using textwrap
- sketch in a simple data dump tool (tools/show_data.py)

Change-Id: I0e3763749e88a71bc57b263ea79fff8d065c03ce
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-07-02 18:33:19 -04:00
Julien Danjou
d9faf1c204 Combined fix to get past broken state of repo
This patch includes several separate sets of changes which
have been reviewed individually but must be submitted
together to get past the newly updated version of pep8
and changes to the nova code base.

1. Replace our CONF object with the one from openstack.common.cfg.
   There's no need to use our own, especially since some option
   are already registered on it for us.

   Signed-off-by: Julien Danjou <julien.danjou@enovance.com>

2. Instead of importing the RPC code from nova, use
   the openstack.common.rpc package. This change
   copies that code in from openstack-common, changes
   the imports throughout ceilometer, and fixes the
   way the configuration settings are initialized.

3. Resolve PEP-8 issues introduced by an even more
   pedantic version of pep8 (1.3.1). Some of the
   changes are fixed, and some warnings/errors are
   suppressed.

4. Ignore import errors in impl_qpid because the qpid
   package is not installed on the stackforge test server.

5. Fix missing imports from gettextutils in openstack.common.

Change-Id: I0ee7d4b3278d8ff1951ca27592e3be8a87fe4854
2012-06-22 11:31:53 -04:00
Doug Hellmann
1bd1fd6846 Sketch out a plugin system for saving metering data.
Change-Id: Ib91213ac78fd5e3baf7200849b4fa8554c652a99
2012-06-08 15:00:47 -04:00
Doug Hellmann
d615fb872d Add listeners for other instance-related events
bug 1004560

Convert events for instance "exists" check and deletion into counters.

Change-Id: I882eeed2baf0445c53236c14f30969e95494a714
2012-05-30 09:58:50 -04:00
Doug Hellmann
5e0a32f475 Add tox configuration
Change-Id: Ic4051617b5757c649cd59dacf8e9dd9d7e9819a6
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-30 15:32:19 +02:00
Julien Danjou
d4635bede1 Add floating IP pollster
Change-Id: Ia5e71117f0e1bec7dcbbd5a9332c07297fcd5c1f
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-25 10:41:15 +02:00
Doug Hellmann
bc1f004f8f make the pollsters in the agent plugins
Move user_id and project_id into the Counter
since the polling code has to pull those
values from the instance object.
Convert the libvirt polling code to plugins.
Have the agent manager load the plugins and run
them as part of its periodic task step.

Change-Id: Id59a696beb33c7c9a232460ce52e272f5408e70d
2012-05-23 16:56:32 -04:00
Julien Danjou
5717e9c5c9 Build ceilometer-agent and ceilometer-collector
Change-Id: I0cc5b163ac638f33397e7e7a9c046dca3e2939e9
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-23 11:32:49 +02:00
Doug Hellmann
73c9150afe Add plugin support to the notification portion of the collector daemon.
Implement a Counter class for use by notification plugins.
Define a base class for Notification plugins.
Define a dispatcher class for notification events to be passed to the plugins.
Add a notification plugin for instance creation and "instance" counters.
Add a reusable function for turning a Counter into a metering event dictionary.

Change-Id: Iaa626b98e1a661ed31cc8b8e95263c111df20888
2012-05-22 18:17:13 -04:00
Julien Danjou
886485c468 Change license to Apache 2.0
Change-Id: I062d722fb570a6f00151eb620d8c169b2ee374ae
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-14 11:37:32 +02:00
Julien Danjou
5bb0df8e5c Add setup.py
Change-Id: Iffdb887f308eb9ea85ffbf13e192efbb79821d65
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-09 14:37:28 +02:00