Commit Graph

25 Commits

Author SHA1 Message Date
Takashi Kajinami 610a2e4fe6 Retire PowerVMStacker SIG: Remove Project Content
Depends-on: https://review.opendev.org/c/openstack/project-config/+/909535
Change-Id: I9983db89974e37134cde612d55affb6b6b38230a
2024-02-20 22:53:37 +09:00
Gautam Prasad e8c77a02e0 Adapt to the inspector api signature
All of the inspector interface methods takes in instance being
inspected and duration of seconds over which metric needs to be
calculated. Though the duration parameter is not used, the
method signaures need to be updated to match ceilometer
changes [1].

[1] 90560e42fd1b589ebb03b8629cf591dee8e559a6

Change-Id: I3ad8da0dc9cd26e269bf18f26231063d122faf98
2019-03-13 09:11:47 -04:00
Matthew Edmonds a31d0fa44a fix copyright dates
Found some copyrights that were not updated the last time the
file was changed. Updating copyright dates to reflect the most
recent change.

Change-Id: I28adcc19b4f612095d54f41f52ac1f6ee18a0b81
2018-01-25 14:05:59 -05:00
Matthew Edmonds c79b9e7fc8 remove log translations
Logs are not longer supposed to be translated. This removes log
translation markers from the code and removes the po files that held
log translations.

Change-Id: I8910f6c4f4a13623720d6339431af66014d15dba
2017-10-23 15:40:29 -04:00
esberglu 7542a8f126 Pass in new DiskStats parameters
Ceilometer added two new parameters to DiskStats [1], wr_total_times
and rd_total_times. We do not currently have those metrics, so 0 will
be passed in for both.

[1] https://github.com/openstack/ceilometer/commit/ed67c2bd3

Change-Id: I7c60ad99df736fa878b97177035d1565dac4beab
2017-09-14 13:38:42 -05:00
gord chung 562b5182f8 use new instance polling interface
ceilometer has a new polling interface that inspects instance at once
rather than individual parts at a time.

Includes changes for vnic polling interface and disk polling interface.

Change-Id: Ieb68420eba002a36569db41c36ddf827bb9edfea
2017-04-10 21:27:56 -04:00
Drew Thorstensen 1c69b80258 Update the init of the collector to take in a conf
In the Ocata release, there is a new conf variable that is passed
into the collector.  This is generally used by the libvirt collector
at the moment.  It is not needed by the PowerVM collector, but the
__init__ signature needs to be updated to take it in.  This change
brings the PowerVM collector in line with the base requirements from
the core ceilometer project.

Change-Id: Ib5620f6830949f50939d07ba07be900a5451df56
2016-11-09 22:13:09 -05:00
Drew Thorstensen 793901ffc7 Support new InterfaceStats
The InterfaceStats API has been updated to include a new set of metrics.
PowerVM does not support all of the new drop/error types.  However, it
does have a total drop packets count.  Since we poll the client side
VEA, those are likely dropped on transmit.  Therefore the dropped
packets counter works against the client side NIC, and counts all drops
as transmit drops.

Change-Id: Id75757d886df4b859e86da8a498b75d36c267e39
Closes-Bug: #1632710
2016-10-12 14:00:19 -04:00
Drew Thorstensen 9af4c1f241 Allow multiple session connection attempts
We have seen scenarios where users have rebooted their systems and the
ceilometer-powervm process has started before the backing PowerVM REST
server. This generally indicates a packaging issue (where the
ceilometer-powervm package should depend on the others).  However,
there is the ability in the PowerVM Session to make multiple attempts.

This change set takes advantage of the multiple attempts provided by the
pypowervm session.  That means that if the REST server is booting, the
ceilometer-powervm will wait up to 10 minutes for the REST server to
finish starting.  The REST server should start much faster than that,
and this is just an upper limit timeout.

Change-Id: If9569eccbdb9107e5892f03a91a035e1d5943e5e
Closes-Bug: 1570404
2016-04-19 17:39:48 -04:00
Steven Royer 5d5f7ac02d Fix typos in inspector
Change-Id: Iee89a2f9197aff3e1f96890128e356baf020bee9
2016-02-18 19:59:52 -06:00
zhangguoqing 936773daa1 Change LOG.warn to LOG.warning
Python 3 deprecated the logger.warn method, see:
https://docs.python.org/3/library/logging.html#logging.warning
so we prefer to use warning to avoid DeprecationWarning.

Change-Id: I2d71a52f6c86bc2def2c3abd0750236a86ccc6cf
Closes-Bug: #1530742
2016-01-04 12:53:50 +00:00
Kyle L. Henderson 21ba3de882 Add ceilometer-powervm translation domain
Since ceilometer-powervm is not in tree with ceilometer, it can't
use ceilometer's translation domain.  This change introduces i18n.py
and the ceilometer-powervm domain.

Change-Id: If8825892d506a1e0344dce888b8357910e3b7da7
2015-10-29 14:51:32 -05:00
adreznec 475f10ef9b Fixes for python3.4 support
- Removed yasfb from requirements (no longer needed, not py3 compat)
- Changed iops calculation to be compatible with py3 division changes

Change-Id: Ic8a53562be401deaa391d21b5ff6f92ffa7d07d3
2015-09-21 09:03:11 -05:00
Jenkins 411bbced03 Merge "Fix punctuation in messages" 2015-09-08 23:32:56 +00:00
Eric Fried 65c780f0f6 Fix punctuation in messages
Messages should end with a period.  Fixed several instances in the
project.

Change-Id: I76a2c93d4823e45f787ba350c9b52c8a77bed9a6
2015-09-08 10:08:19 -05:00
Drew Thorstensen 1885f85438 Handle unstarted instances
In the rare event that a VM is queried for CPU utilization before its
first boot, the entitled cycles may be 0.  This resulted in a divide by
zero error.  This change detects that scenario and removes the divide by
zero possibility.

Change-Id: If37422e7b501c60ad2b1cb610b8c7802e6543942
Closes-Bug: 1492831
2015-09-06 15:48:13 -04:00
Drew Thorstensen f7b17520a9 Account for live migrated VMs
In PowerVM, when a VM is migrated, the 'metrics come with it'.  That
means that the metrics are cumulative and you can be assured that when
it is on a new host, its metrics are still valid.

This presents some complications.  The metrics are pulled from the host.
To determine rates, we ask the host for the previous sample and the
current.  Previously we had assumed that if the previous sample was
None, it must be a new VM so all the traffic from the current is 'new'.

With live migration taken into account, we can not do that.  There may
be months of CPU, Network and Storage data in that VMs metrics.  This
really skews the metrics in undesirable ways.

This change set will skip instances (for a given inspection cycle) that
are in the current sample but not the previous.  This does lose a sample
cycle, but ensures that we maintain accurracy (which is more important).

Change-Id: Iba7f1287b3433acd8517947e01cbfa14fe93413c
2015-08-25 15:09:29 -04:00
Drew Thorstensen 736e30c8c0 PowerVM Storage Inspector
This change set provides base support for the PowerVM compute inspector
to collect the storage devices.

Since PowerVM monitors storage metrics on the 'buses' (rather than a per
device) the metrics are reported based on the bus.  This may be a
virtual SCSI bus or a virtual Fibre Channel bus.

Change-Id: I704c7e79e825b7d5f0f8924c28d502ccbfb9330d
2015-08-25 15:07:58 -04:00
Drew Thorstensen c1b75d2575 Implement the network stats for PowerVM
This change set implements the network stats for the PowerVM hypervisor.
It provides both rate based and absolute stats.

Partially Implements: bp/powervm-compute-inspector

Change-Id: I7c07691e61c8f5a6d5cb28185c90cdecb5b47bf6
2015-07-24 10:41:37 -04:00
Drew Thorstensen a0d328df08 Add helpers to the pypowervm adapter
Helpers are a utility within the pypowervm adapter that help with edge
scenarios that can occur when interacting with the API.  This change set
adds two of the more common helpers to the ceilometer-powervm adapter
creation.

The first is the log helper.  In the event of error scenarios, this
helper will log the error.  The second is the helper for the vio busy.
In the case of a Virtual I/O Server being busy, this will retry the
requests after a short period of time.

Change-Id: I65634f394416714c452fbd9fdc48db87b9c8ed61
2015-07-21 09:46:09 -04:00
Drew Thorstensen 3c671dc1cd Implement the CPU stats for PowerVM
This change set implements (and adds unit tests) for the PowerVM CPU
stats.  The stats included are the CPUStats and the CPUUtilStats.

Partially Implements: bp/powervm-compute-inspector

Change-Id: I050ad3af38171bd9fb990264a921b013e2791a93
2015-07-16 08:12:45 -04:00
Drew Thorstensen 38bda20d72 Initial PowerVM Inspector Framework
Provides the initial structure for the inclusion of PowerVM as a plugin
based compute inspector.  Also includes a fixture for upcoming unit
tests.  Implementation of the inspector functions are to be included in
upcoming change sets.

Partially Implements: bp/powervm-compute-inspector

Change-Id: I613161f2fe368b926bd679685b9beeff27a52896
2015-07-06 16:19:49 -04:00
Adam Reznechek 27ef4d0a4c Adding base infrastructure to project for tests and docs
Added base framework for agents and tests
Added base docs infratstructure for Sphinx with links back to
readme and contributing files

Change-Id: I8ed56fb60e73456bc8c44fef4bd6089e1793a520
2015-02-04 10:11:09 -06:00
Drew Thorstensen badf05a969 Import python-powervm into ceilometer-powervm
This change set supports bringing in the python powervm REST API
library for initial use within ceilometer-powervm.

This change also fixes pep8 issues, mainly around the copyright rules
that are needed (do not copyright empty files).

Also updates the tox file such that we run the new oslo concurrency
as ceilometer removed the integrated package.

Change-Id: I12739ca702e004cd048067ad25e9e07d1ef106e6
2014-10-31 10:16:25 -05:00
Adam Reznechek a540907f32 Initial Load of Ceilometer PowerVM Project
Initial work to enable the Ceilometer PowerVM project in git.

The work done here provides:
 - .gitignore - Indicate which files not to track within Git.
 - .gitreview - Input to the git-review command on how to send to
                Gerrit.
 - .testr.conf - Conf file input for the testr command (UT)
 - CONTRIBUTING.rst - Information on how to contribute.
 - HACKING.rst - Information on what needs to be done for updates.
 - LICENSE - The license for the project
 - README.rst - Information on what this project is.  Currently this is
                the blueprint.
 - openstack-common.conf - Required openstack configuration for all
                           projects
 - setup.cfg - Input to the setup.py on how to execute certain actions.
 - setup.py - Used for build of the project.
 - requirements.txt - Required packages (and levels) to run the code.
 - test-requirements.txt - Required packages (and levels) in addition
                           to the requirements, that indicates what is
                           needed to run the UT.
 - tox.ini - The input for the tox commands.

In addition, a base set of packages for the agent and unit tests were
loaded in.

Change-Id: I49f23751b8694f6e3595fe8b4f39822737e68f31
2014-10-23 09:41:37 -05:00