Files
sunbeam-charms/charms/ceilometer-k8s/charmcraft.yaml
Lucian Petrut d8094c2a11 Update dependencies
"cryptography" and "pydantic" depend on "maturin",
which fails to install from source.

"cryptography" was already added to the "charm-binary-python-packages"
list, allowing prebuilt packages to be used. However, our uv.lock
files contain a slightly older version so charmcraft attempts to
install it from source and fails:

  ModuleNotFoundError: No module named 'puccinialin'

This patch will fix the build failures by:

* updating the uv.lock files (tox -e lock)
* adding pydantic to the list of binary packages

Cryptography 44.0.2 currently fails to install:
https://pastebin.canonical.com/p/Z4ZZhqWwtV/plain/

Change-Id: Ibfe555df7f72b867ad92c3bb00bb6fa576d7b0fc
2025-06-10 13:52:25 +00:00

103 lines
2.2 KiB
YAML

type: charm
name: ceilometer-k8s
summary: OpenStack ceilometer service
description: |
OpenStack ceilometer provides an HTTP service for managing, selecting,
and claiming providers of classes of inventory representing available
resources in a cloud.
.
assumes:
- k8s-api
- juju >= 3.1
links:
source:
- https://opendev.org/openstack/charm-ceilometer-k8s
issues:
- https://bugs.launchpad.net/charm-ceilometer-k8s
base: ubuntu@24.04
platforms:
amd64:
config:
options:
debug:
default: false
description: Enable debug logging.
type: boolean
region:
default: RegionOne
description: Name of the OpenStack region
type: string
containers:
ceilometer-central:
resource: ceilometer-central-image
ceilometer-notification:
resource: ceilometer-notification-image
resources:
ceilometer-central-image:
type: oci-image
description: OCI image for OpenStack ceilometer central
upstream-source: ghcr.io/canonical/ceilometer-consolidated:2025.1
ceilometer-notification-image:
type: oci-image
description: OCI image for OpenStack ceilometer
upstream-source: ghcr.io/canonical/ceilometer-consolidated:2025.1
requires:
amqp:
interface: rabbitmq
identity-credentials:
interface: keystone-credentials
limit: 1
gnocchi-db:
interface: gnocchi
receive-ca-cert:
interface: certificate_transfer
optional: true
logging:
interface: loki_push_api
optional: true
tracing:
interface: tracing
optional: true
limit: 1
provides:
ceilometer-service:
interface: ceilometer
peers:
peers:
interface: ceilometer-peer
parts:
update-certificates:
plugin: nil
override-build: |
apt update
apt install -y ca-certificates
update-ca-certificates
charm:
after:
- update-certificates
build-packages:
- git
- libffi-dev
- libssl-dev
- rustc-1.80
- cargo-1.80
- pkg-config
charm-binary-python-packages:
- cryptography
- jsonschema
- jinja2
- pydantic
build-snaps: [astral-uv]
override-build: |
uv export --frozen --no-hashes --format=requirements-txt -o requirements.txt
craftctl default
charm-requirements: [requirements.txt]