CompareOpenStackReleases is used to handle openstack comparison
after the z-wrap, now that we are at antelope.
Change-Id: I31254f50d9befdfc3a54c2ee305cb06e7d19cce3
This is a subordinate charm and since a recent
commit [1] it shares a list of its services with
the principal charm nova-compute, which has now
the responsibility to pause and resume services. [2]
The ceilometer-agent-compute service has a
dependency to the nova-compute service anyway, so
it is impossible for this charm to resume its
service if its principal charm nova-compute is
paused. This is what also led to errors in
ceilometer-agent's post-series-upgrade hook. This
hook attempted to resume its service although
the principal service was still paused. Removing
this logic entirely solves this issue.
Validated by running openstack-upgrade and
series-upgrade tests. [3]
[1]: https://opendev.org/openstack/charm-ceilometer-agent/commit/be45f779
[2]: https://opendev.org/openstack/charm-nova-compute/commit/8fb37dc0
[3]: https://github.com/openstack-charmers/charmed-openstack-tester
Closes-Bug: #1952882
Change-Id: Ia22b53b52b541250f7f803c6708968d75e64475c
For principal - subordinate plugin type relations where the
principal Python payload imports code from packages managed by a
subordinate, upgrades can be problematic.
This change will allow a subordinate charm that have opted into the
feature to inform its principal about all implemented release -
packages combinations ahead of time. With this information in place
the principal can do the upgrade in one operation without risk of
charm relation RPC type processing at a critical moment.
This is similar to
https://review.opendev.org/c/openstack/charm-interface-keystone-domain-backend/+/781658https://review.opendev.org/c/openstack/charm-layer-openstack/+/781624
Change-Id: Ibd5bdcb141fc3103ee97123ff284fb2957802eba
Closes-Bug: #1927277
The ceilometer compute agent uses the default polling.yaml
from the installed packages without the ability to configure its contents.
This change adds two configuration options: 'polling-interval' and
'enable-all-pollsters', borrowing from the implementation in
charm-ceilometer. We start off with a limited set of meters as before
and if these are not enough, the user can set 'enable-all-pollsters' to
'true' to collect all available 'Pollster' metrics as listed in the
documentation [1].
Verification:
I tested this change on a cluster built from the OpenStack base bundle
and the ceilometer and gnocchi charms. I confirmed that extra metrics
that originate from the Compute Agent pollster (e.g. disk.device.read.latency)
are available in gnocchi after setting 'enable-all-pollsters' to true.
[1] https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html
Closes-Bug: #1914442
Change-Id: I21c9a93e7dd91bced9365e44f3e6a5315976c3bb
Samples collected can be batched together,
consequently increasing or reducing the
amount of API calls and body data
sent to the configured publisher.
This config is available since Rocky,
receiving the value from ceilometer-charm
to allow its tuning.
Change-Id: I986073fdacd750cf96d662abf1d58844479c25ba
Closes-bug: #1885190
This patch adds a dummy update_status function so that the update-status
hook 'has' a function to run and thus silence the log error.
Change-Id: I96dfba233b98da60d8c138b84e8249cdda109563
Closes-bug: #1837639
Prior to this change, the ceilometer-agent charm receives RMQ
configuration details via the ceilometer charm. This makes it
a bit of a snowflake.
Refactor RMQ integration to require a direct relation to the
rabbitmq-server charm; information provided on this relation
will superceed any information currently provided via the
charms relation with ceilometer, ensuring that there is no
disruption to service during a charm upgrade before the new
relation is added.
Switch to using [DEFAULT]transport_url for RMQ configuration,
making use of the new ch template for SSL and HA configuration
in [oslo_messaging_rabbit].
Change-Id: Ie637ec5162461826505cea39bde6829e036fa1f2
Closes-Bug: 1817672
Using the new version of the sync tool which removes the charmhelpers
directory before syncing, run charm helpers sync to find any unexpected
missing dependencies.
Change-Id: I648a2830c593de64b3d8a9e72845331089d3e6c4
The pre-install operations may fail, yet that failure is not
elevated to the user. This masks the failure and makes early
package install issues difficult to troubleshoot.
If the basic pre-install script fails, the charm should not
proceed to later hooks as the requirements may not be met.
Hashbangs for bash should specify -e (errexit) on all of the
pre-install bash scripts.
Change-Id: I40fedc011933cbce6215dd124019d251b6dafd61
Closes-bug: #1815243
Partial-bug: #1815231
Switch to marking non-leaf python-* packages as automatically
installed so that they will be purged once the last remaining
package that depends on them that was manually installed is
removed.
Change-Id: If821cb511a2fdb65ac3e8ad8db88a00770864d42
Closes-Bug: 1802400
On charm upgrade the charm may switch to py3 packages. If so, ensure
the old py2 packages are purged. If the purge occurs then restart
services.
Change-Id: I215223b41fb2ab6a31df101b5314e6b0859d8322
Closes-Bug: 1803451
Ceilometer has had an openstack-origin and supported upgrading
the Ceilometer version independently of the principle that it is
associated with. This can cause issues with clashes in package
dependencies between the two. This change makes the
ability for the agent to be upgraded independently of the principle
and instead has the upgrade triggered by the principle. This brings
this charm inline with the other OpenStack subordinate charms.
Change-Id: I641ac2168ac705191d916eaa0624214791e1745d
Closes-Bug: #1802400
Inline with the neutron-openvswitch charm approach, install
ceilometer-common before determining which packages to install.
This will ensure that the charm then installs the right package
set for the remaining packages including the switch to py3
for rocky.
Fixup functional tests to include nova-cloud-controller.
Change-Id: I42be224113a599c0a07aa61a06e23911b8ff51fe
Switch package install to Python 3 for OpenStack Rocky or later.
When upgrading, remove any python-* packages that where explicitly
installated and then autoremove --purge any dependencies that are
no longer required.
Change-Id: If189859cbc98f326adb5b1da8d31e9a20da95af9
Due to changes to the ceph-osd charm, it is
suggested to use Juju storage for testing.
Change-Id: If7bef11c272eb0d00f21678540491ee1621ccc5a
Related-Bug: #1698154
Sync charm-helpers to pick up the updated InternalEndpointsContext
which removes the need to provide a package.
This essentially reverts commit 005c548a in favor of an alternative
approach to selecting volume catalog endpoint information.
Change-Id: I18183908e9ca54b7ea0a1d309bb7f02d96d3edc0
Related-Bug: #1733566
Previously this charm had relied on python-apt being installed by
the principle. As charms migrate to py3 this is no longer a safe
assumption and actually never was. This change ensures that
python-apt is installed before immediatly. This follows the same
pattern as other charms by adding an install and install.real
files.
Change-Id: I9fe2a031df736b867d4f277448a4d8649fa8de64
If rabbitmq is deployed in a cluster then the ceilometer charm will
pass rabbitmq_hosts and rabbitmq_host to ceilometer-agent. This charm
was ignoring the rabbitmq_hosts key and thus always talking to a
single rabbit even if there were multiple.
Change-Id: I42c2e3ee4ee2bd1feb9815a4d9895a7121801995
Closes-Bug: #1670273
In enable_memcache, ensure that the os_release cache is reset
after upgrade.
Additionally, call apt_install(get_packages()) for upgrades
to ensure that release-specific packages (such as memcached)
are installed.
Change-Id: Ia3689d2d0c549fc55f1bd533654f80c98ce5462a
Partial-Bug: 1715624
Update configuration supplied to nova-compute charm to switch
to real notification drivers, rather than old/obsolete keys
which are not longer supported.
Change-Id: Ic58fa78ae80d88113abc5e2f8361a143ba380d01
With keystoneauth1 sessions the service catalog search function,
url_for takes argument interface, no longer named endpoint_type.
This change updates tests to use this argument name.
Change-Id: I11d2862d6cbc7282b84fa1bddb64ef44bc2b788d
When using python3, the code encounters errors related to type
mismatch. subprocess requires an extra decode of return values
to address this.
CH Sync to get fix.
Change-Id: I141c0d4d1851012d5c0a5a606402c75211a323f5
Partial-Bug: #1691881
Resync charmhelpers for pike b1 version support.
Add tests for pike but leave disabled until all charms support pike.
Change-Id: I33e5ed1d5d62580a89ddc1a7436e630d2a60c6f4
- Turn on Zesty-Ocata Amulet test definitions.
- Standardize test-requirements.txt
- Sync charm helpers for various fixes
Change-Id: I412918c21c8de1afd998c6745ef0ad7b2e057250
- Add Zesty as a supported series to metadata.yaml.
- Turn on Xenial-Ocata Amulet test definitions.
- Sync charm helpers to get Juju 2.x amulet compatibility.
- Keeping Zesty-Ocata Amulet test definitions turned off until the
metadata.yaml changes propagate to the charm store.
- Resync tox.ini to resolve amulet test failures.
Change-Id: I1d7e78598b21f2dafa6a74a4dd455989d9bf1291
The ceilometer-agent charm recognizes it needs memecached with
enable_memcached() but never installs the package when upgrading
from previous versions of the charm.
Add the call to install packages in upgrade_charm().
Change-Id: I393eb682e0a44b54712e2bb35fc983af16c0c379
Partial-bug: #1665392
With the release of 4.2.0 of keystonemiddleware using the
in-process token cache is no longer recommended. It is recommended
that a memcache backend to store tokens is used instead,
This installs and configures memcache and configures ceilometer agent
to use memcache for token caching.
http://docs.openstack.org/releasenotes/keystonemiddleware/mitaka.html#id2
Change-Id: If7dd4c5472a7842f06d0fd44c1b2012c9c9d1075
When using v3 authentication and authorization Ceilometer must
authenticate to services project in service_domain.
Change-Id: Ibb19fa8476cf712ccb4bc524a48d3501f42fc62c
Closes-Bug: 1636098