Commit Graph

29 Commits

Author SHA1 Message Date
Rafael Weingärtner 7bff46921e Create dynamic pollster feature
The dynamic pollster feature allows system administrators to
create/update pollsters on the fly (without changing code). The system
reads YAML configures that are found in ``pollsters_definitions_dirs``,
which has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file
in the dynamic pollster feature can use the following attributes to
define a dynamic pollster:

* ``name`` -- mandatory field. It specifies the name/key of the dynamic
pollster. For instance, a pollster for magnum can use the name
``dynamic.magnum.cluster``;
* ``sample_type``: mandatory field; it defines the sample type. It must
be one of the values: ``gauge``, ``delta``, ``cumulative``;
* ``unit``: mandatory field; defines the unit of the metric that is
being collected. For magnum, for instance, one can use ``cluster`` as
the unit or some other meaningful String value;
* ``value_attribute``: mandatory attribute; defines the attribute in the
JSON response from the URL of the component being polled. In our magnum
example, we can use ``status`` as the value attribute;
* ``endpoint_type``: mandatory field; defines the endpoint type that is
used to discover the base URL of the component to be monitored; for
magnum, one can use ``container-infra``. Other values are accepted such
as ``volume`` for cinder endpoints, ``object-store`` for swift, and so
on;
* ``url_path``: mandatory attribute. It defines the path of the request
that we execute on the endpoint to gather data. For example, to gather
data from magnum, one can use ``v1/clusters/detail``;
* ``metadata_fields``: optional field. It is a list of all fields that
the response of the request executed with ``url_path`` that we want to
retrieve. As an example, for magnum, one can use the following values:
```
  metadata_fields:
    - "labels"
    - "updated_at"
    - "keypair"
    - "master_flavor_id"
    - "api_address"
    - "master_addresses"
    - "node_count"
    - "docker_volume_size"
    - "master_count"
    - "node_addresses"
    - "status_reason"
    - "coe_version"
    - "cluster_template_id"
    - "name"
    - "stack_id"
    - "created_at"
    - "discovery_url"
    - "container_version"
```
* ``skip_sample_values``: optional field. It defines the values that
might come in the ``value_attribute`` that we want to ignore. For
magnun, one could for instance, ignore some of the status it has for
clusters. Therefore, data is not gathered for clusters in the defined
status.
```
  skip_sample_values:
    - "CREATE_FAILED"
    - "DELETE_FAILED"
```
* ``value_mapping``: optional attribute. It defines a mapping for the
values that the dynamic pollster is handling. This is the actual value
that is sent to Gnocchi or other backends. If there is no mapping
specified, we will use the raw value that is obtained with the use of
``value_attribute``. An example for magnum, one can use:
```
  value_mapping:
    CREATE_IN_PROGRESS: "0"
    CREATE_FAILED: "1"
    CREATE_COMPLETE: "2"
    UPDATE_IN_PROGRESS: "3"
    UPDATE_FAILED: "4"
    UPDATE_COMPLETE: "5"
    DELETE_IN_PROGRESS: "6"
    DELETE_FAILED: "7"
    DELETE_COMPLETE: "8"
    RESUME_COMPLETE: "9"
    RESUME_FAILED: "10"
    RESTORE_COMPLETE: "11"
    ROLLBACK_IN_PROGRESS: "12"
    ROLLBACK_FAILED: "13"
    ROLLBACK_COMPLETE: "14"
    SNAPSHOT_COMPLETE: "15"
    CHECK_COMPLETE: "16"
    ADOPT_COMPLETE: "17"
```
* ``default_value_mapping``: optional parameter. The default value for
the value mapping in case the variable value receives data that is not
mapped to something in the ``value_mapping`` configuration. This
attribute is only used when ``value_mapping`` is defined. Moreover, it
has a default of ``-1``.

Change-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2019-10-23 16:01:55 -03:00
zhurong 0fa50d9c07 Update the .gitignore file
Change-Id: I7d30c3007767f4885bd2a835f2e221c0dfcc4f8c
2019-04-23 19:40:05 +08:00
Witold Bedyk 9586972ddd Migrate to stestr for running tests
stestr is recommended by OpenStack Project Testing Interface for running tests
[1]. This change migrates to stestr for running unit tests and coverage
job. Modified `cover` env allows running it as Zuul job and visualising
its results in Gerrit.

[1] https://governance.openstack.org/tc/reference/pti/python.html#python-test-running

Change-Id: I9e8b79d7a18cd36946daff10abb1a2f43b1aa3a1
2018-07-30 10:37:34 +02:00
gord chung 8e15093918 ignore api docs
doc job autogens code docs

Change-Id: I8a4f67b4c8addadb6b0e173b0517ec01abadd47b
2017-12-06 19:59:40 +00:00
Julien Danjou d881dd5228 Remove Ceilometer API
This removes the deprecated Ceilometer API.

Change-Id: I752b36b3dfe8f935b68c4d3d59ccb5b8b60c582f
2017-10-25 14:38:43 +02:00
gord chung 1e60a368ae generate conf on doc build
Change-Id: I83db618116cb56574f67738e008001ff7074799e
2017-07-24 22:44:49 +00:00
Tin Lam fd7230b2e7 Add api-ref/build to .gitignore
Add api-ref generated files in api-ref/build/* from
being included in git check-in.

Change-Id: Ie5ec8401cde3390a92c323ad4d70e1f79400c436
2016-08-22 16:11:09 -05:00
Julien Danjou 25cd1d2385 Remove unused pylintrc
We never used that in the gate and it's unmaintained. Clean that.

Change-Id: I421c5b3084d7ff4d2bd6ab43a7a8a477d4a2c560
2016-05-03 00:05:46 +02:00
gordon chung 2d471862e7 add reno for release notes management
Change-Id: Id36eb9d88c6a8fba635779fc9a971f015908b5de
2015-11-11 10:35:22 -05:00
Julien Danjou e312b24193 Switch to using pbr's autodoc capability
Change-Id: I1cc51cf60a1493ad3a964b3fff50d9a681fdc858
2015-06-09 11:17:11 +02:00
Julien Danjou 3ac43c9073 Remove useless versioninfo and clean ceilometer.conf git exclusion
Change-Id: Ibd103cbf5a1f0239e4d0fe7f542392bc85a71d71
2015-06-08 08:42:02 +02:00
Abhishek Lekshmanan c20b55e549 Adding build folders & sorting gitignore
Since these folders are generated during build (and to be ignored).
.gitignore is also sorted for easier maintenance.

Change-Id: I324f89264a523f9bf99c7311eb12e76cb0673b4b
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@ril.com>
2015-01-16 06:42:25 +00:00
ZhiQiang Fan d7eabde418 Ignore ceilometer.conf
ceilometer.conf will be generated after we run tox -egenconfig, it
should be ignored.

Change-Id: Ia6d88892a7c93cfa880e4383bbefa55c069a12d9
2014-12-22 17:22:52 +08:00
Igor Degtiarov 09b80591e9 Adds pylint check for critical error in new patches
Pylint usage pattern is to take a look on a diff for pylint results between
previous code version and current patch. It's needed to critical issues only.

Change-Id: I4fc2ae732a7eaef2bc7bfacfd111ef849d003268
2014-10-07 17:27:30 +03:00
Ildiko Vancsa 99424154b4 Clean up .gitignore
Several files were removed from the doc sources and config, so there are a
few folders in .gitignore, which are not needed anymore. Also there was a
build directory referenced and the only build directory is under the doc
folder, so this was corrected also.

Change-Id: I60f25d282caa813b3bfc790988578b9882ba95ab
2014-06-16 09:00:22 +02:00
ZhiQiang Fan 72e9faaea6 Ignore the generated file ceilometer.conf.sample
Since we have removed the ceilometer.conf.sample file and added
tox -e genconfig to generate it, we should no longer track it.

Change-Id: I66a03eb2672941ba5115bf0adb9fb0c944f68e4d
Closes-Bug: #1320150
2014-05-29 11:13:26 +08:00
Julien Danjou 78e8f56220 Clean .gitignore
Remove files we don't generate by any of used tools.

Change-Id: Ia9500067ed13a80180ad017efa6b231bdd799284
2014-01-27 14:40:35 +01:00
Angus Salkeld 1a723a05c7 Replace nose with testr
- add .testr.conf (in base dir and nova_tests)
- remove all references to nose
- adjust paths: A couple of tests would assume the current directory
  was ./tests/ but it is now ./
- don't run the tests in parallel as the db tests have one connection
  per test class.

nova_tests hackery:
It seems testtools/testr imports everything and I just don't see a way of
running things in tests/ and nova_tests/ seperately but in one .test.conf.
So if you want to use testr directly you will need to:
 testr run
 cd nova_tests
 testr run

part of bug 1177924
Change-Id: I41875dcf94463fa5f9c07a7840c37089226c59ad
2013-05-18 18:06:38 +10:00
Doug Hellmann a90958085c Update manual installation instructions
Update the instructions for installing ceilometer by hand
instead of using devstack.

bug 1070404
bug 1071494

Change-Id: I617e0467b40f218e5811da7b39db76c6eb466da6
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-03-07 13:53:04 -05:00
Doug Hellmann 3a8051d876 Fix warnings in the documentation build
Some of the docstrings pulled into the API documentation
were malformatted, so fix those. Also include the API
documentation in a toctree so it is linked in the
"Contributing" section of the documentation.

Change-Id: I8eef6007045d5426299dadb67303102855c15dc2
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-01-04 18:31:27 -05:00
Lianhao Lu baad3c800f Ground work for transifex-ify ceilometer.
Following http://wiki.openstack.org/Translations to integrate transifex
translation into ceilometer and to fix bug 1082805.

This is the ground work to enable translation jobs using transifex and
Jenkin's in ceilometer. We added the empty file
ceilometer/locale/ceilometer.pot to avoid the failure of the Jenkin'
translation-jobs because git doesn't allow empty directory to be added
into the repository.

We still need to do the following things once this patch gets accepted:

1. Make the transifex ceilometer project
(https://www.transifex.com/projects/p/ceilometer/) as part of the
openstack transifex project hub and give access to the transifex
openstack Jenkins account.

2. Add the translation-jobs into openstack/openstack-ci-puppet for
ceilometer.

3. Recheck and/or clean the LOG.foobar strings in ceilometer so that
only the useful and necessary strings would be extracted into the .pot
file.

NOTE:
1. Don't use '_' as the variable name for "don't care", since it clashes
with gettext module.

2. Wrap the string with the underscore function to make it ready for
translation, e.g.

  internationalized_string = _("I'm internationalized!")
  LOG.debug(_('I speak the language of %(language)s'), locals())

Change-Id: I9732e424b374afa8f0650baf4e3537109e7520d1
2012-12-18 10:14:03 +08:00
Doug Hellmann baaf81bfeb Fixes to enable the jenkins doc job to work
Some of our documentation dependencies were not listed in
test-requires, so the venv environment in tox needs to be
updated to include them.

Then the build_sphinx command looks for configuration settings
in setup.cfg, so those need to be added.

When Sphinx runs in this way, it ends up creating
RST files for every module it finds in the source tree
so it can document the internal APIs. Those generated files
can be ignored by git.

Change-Id: I21b5f9c6c4d4201893bb3bf87f0b61a053b968f5
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-11-28 17:45:32 -05:00
Doug Hellmann 12184dc5c5 Use openstack versioning
1. Add the version module from openstack.common.
2. Create a ceilometer/version.py to set up the
   version info.
3. Update setup.py from openstack.common.
4. Update documentation build to use the version module
   directly instead of running setup.py to get the version.
5. Update setup.py to use the new version module.

Change-Id: I9d8be62b8ece75090bf335d27adb59a46e3d6263
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-11-08 16:13:44 -05:00
Doug Hellmann cafeb43f28 Update packaging files
- Update the openstack.common.setup  module
- Update our openstack-common.conf to include setup.py
  in future updates
- Use the common setup command class so the sdist command
  generates an AUTHORS file and ChangeLog

Change-Id: I4469f0feaea5bb67022c6077bbea43110384f31b
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2012-09-28 17:43:21 -04:00
Doug Hellmann 3fcb8da4a1 Make the stand-alone test script mimic tox
The tox setup does not work on Ubuntu Precise for some reason,
but running nose directly does. This update tweaks the stand-alone
script run_tests.sh to mimic the behavior of tox. It also
adds the "cover" directory created by the coverage plugin to nose
to the list of files being ignored by git.

Change-Id: I65224cf4bf75e6b7fc0207b3545c466bdac5a35c
2012-05-30 12:02:45 -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
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
Doug Hellmann 8f4ba1656c add a tool for recording notifications and replaying them
Change-Id: I852a6fbef7b9bf02309f699419da0a2537ce7a90
2012-05-17 16:02:18 -04:00
Julien Danjou bca0ead8d2 Ignore pyc files
Change-Id: Id98d91e397fc5ee77c8d6b41882c264748c0ab76
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
2012-05-09 11:56:12 +02:00