Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,12 @@ kuttl-test-cleanup:
if [ "$(KUTTL_SUITE)" == "ceilometer" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s Ceilometer; \
fi; \
if [ "$(KUTTL_SUITE)" == "metric-storage" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s MetricStorage; \
fi; \
if [ "$(KUTTL_SUITE)" == "cloudkitty" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s CloudKitty; \
fi; \
if [ "$(KUTTL_SUITE)" == "default" ]; then \
oc delete --wait=true --all=true -n $(KUTTL_NAMESPACE) --timeout=120s Telemetry; \
fi; \
Expand Down
31 changes: 27 additions & 4 deletions PROJECT
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Code generated by tool. DO NOT EDIT.
# This file is used to track the info used to scaffold your project
# and allow the plugins properly work.
# More info: https://book.kubebuilder.io/reference/project-config.html
domain: openstack.org
layout:
- go.kubebuilder.io/v3
Expand Down Expand Up @@ -69,4 +65,31 @@ resources:
defaulting: true
validation: true
webhookVersion: v1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: telemetry
kind: CloudKittyApi
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: telemetry
kind: CloudKittyProc
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: telemetry
kind: CloudKitty
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
version: v1beta1
version: "3"
5 changes: 5 additions & 0 deletions api/bases/telemetry.openstack.org_autoscalings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,11 @@ spec:
description: CeilometerService - Selector to get the ceilometer
service password from the Secret
type: string
cloudKittyService:
default: CloudKittyPassword
description: CloudKittyService - Selector to get the CloudKitty
service password from the Secret
type: string
type: object
preserveJobs:
default: false
Expand Down
5 changes: 5 additions & 0 deletions api/bases/telemetry.openstack.org_ceilometers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,11 @@ spec:
description: CeilometerService - Selector to get the ceilometer
service password from the Secret
type: string
cloudKittyService:
default: CloudKittyPassword
description: CloudKittyService - Selector to get the CloudKitty
service password from the Secret
type: string
type: object
proxyImage:
type: string
Expand Down
807 changes: 807 additions & 0 deletions api/bases/telemetry.openstack.org_cloudkitties.yaml

Large diffs are not rendered by default.

495 changes: 495 additions & 0 deletions api/bases/telemetry.openstack.org_cloudkittyapis.yaml

Large diffs are not rendered by default.

320 changes: 320 additions & 0 deletions api/bases/telemetry.openstack.org_cloudkittyprocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,320 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: cloudkittyprocs.telemetry.openstack.org
spec:
group: telemetry.openstack.org
names:
kind: CloudKittyProc
listKind: CloudKittyProcList
plural: cloudkittyprocs
singular: cloudkittyproc
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: NetworkAttachments
jsonPath: .status.networkAttachments
name: NetworkAttachments
type: string
- description: Status
jsonPath: .status.conditions[0].status
name: Status
type: string
- description: Message
jsonPath: .status.conditions[0].message
name: Message
type: string
name: v1beta1
schema:
openAPIV3Schema:
description: CloudKittyProc is the Schema for the cloudkittprocs API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: CloudKittyProcSpec defines the desired state of CloudKitty
Processor
properties:
containerImage:
description: ContainerImage - CloudKitty Container Image URL (will
be set to environmental default if empty)
type: string
customServiceConfig:
description: |-
CustomServiceConfig - customize the service config using this parameter to change service defaults,
or overwrite rendered information using raw OpenStack config format. The content gets added to
to /etc/<service>/<service>.conf.d directory as a custom config file.
type: string
customServiceConfigSecrets:
description: |-
CustomServiceConfigSecrets - customize the service config using this parameter to specify Secrets
that contain sensitive service config data. The content of each Secret gets added to the
/etc/<service>/<service>.conf.d directory as a custom config file.
items:
type: string
type: array
x-kubernetes-list-type: atomic
databaseAccount:
default: cloudkitty
description: DatabaseAccount - optional MariaDBAccount used for cloudkitty
DB, defaults to cloudkitty
type: string
databaseHostname:
description: DatabaseHostname - CloudKitty Database Hostname
type: string
networkAttachments:
description: NetworkAttachments is a list of NetworkAttachment resource
names to expose the services to the given network
items:
type: string
type: array
x-kubernetes-list-type: atomic
nodeSelector:
additionalProperties:
type: string
description: |-
NodeSelector to target subset of worker nodes running this service. Setting here overrides
any global NodeSelector settings within the CloudKitty CR.
type: object
passwordSelector:
default:
cloudKittyService: CloudKittyPassword
description: PasswordsSelectors - Selectors to identify the ServiceUser
password from the Secret
properties:
aodhService:
default: AodhPassword
description: AodhService - Selector to get the aodh service password
from the Secret
type: string
ceilometerService:
default: CeilometerPassword
description: CeilometerService - Selector to get the ceilometer
service password from the Secret
type: string
cloudKittyService:
default: CloudKittyPassword
description: CloudKittyService - Selector to get the CloudKitty
service password from the Secret
type: string
type: object
replicas:
default: 1
description: Replicas - CloudKitty API Replicas
format: int32
minimum: 0
type: integer
resources:
description: |-
Resources - Compute Resources required by this service (Limits/Requests).
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
properties:
claims:
description: |-
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.


This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.


This field is immutable. It can only be set for containers.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: |-
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
type: object
secret:
description: Secret containing OpenStack password information
type: string
serviceAccount:
description: ServiceAccount - service account name used internally
to provide CloudKitty services the default SA name
type: string
serviceUser:
default: cloudkitty
description: ServiceUser - optional username used for this service
to register in cloudkitty
type: string
tls:
description: TLS - Parameters related to the TLS
properties:
caBundleSecretName:
description: CaBundleSecretName - holding the CA certs in a pre-created
bundle file
type: string
secretName:
description: SecretName - holding the cert, key for the service
type: string
type: object
topologyRef:
description: |-
TopologyRef to apply the Topology defined by the associated CR referenced
by name
properties:
name:
description: Name - The Topology CR name that the Service references
type: string
namespace:
description: |-
Namespace - The Namespace to fetch the Topology CR referenced
NOTE: Namespace currently points by default to the same namespace where
the Service is deployed. Customizing the namespace is not supported and
webhooks prevent editing this field to a value different from the
current project
type: string
type: object
transportURLSecret:
description: Secret containing RabbitMq transport URL
type: string
type: object
status:
description: CloudKittyProcStatus defines the observed state of CloudKitty
Processor
properties:
conditions:
description: Conditions
items:
description: Condition defines an observation of a API resource
operational state.
properties:
lastTransitionTime:
description: |-
Last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when
the API field changed is acceptable.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition
in CamelCase.
type: string
severity:
description: |-
Severity provides a classification of Reason code, so the current situation is immediately
understandable and could act accordingly.
It is meant for situations where Status=False and it should be indicated if it is just
informational, warning (next reconciliation might fix it) or an error (e.g. DB create issue
and no actions to automatically resolve the issue can/should be done).
For conditions where Status=Unknown or Status=True the Severity should be SeverityNone.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of condition in CamelCase.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
hash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
lastAppliedTopology:
description: LastAppliedTopology - the last applied Topology
properties:
name:
description: Name - The Topology CR name that the Service references
type: string
namespace:
description: |-
Namespace - The Namespace to fetch the Topology CR referenced
NOTE: Namespace currently points by default to the same namespace where
the Service is deployed. Customizing the namespace is not supported and
webhooks prevent editing this field to a value different from the
current project
type: string
type: object
networkAttachments:
additionalProperties:
items:
type: string
type: array
description: NetworkAttachments status of the deployment pods
type: object
observedGeneration:
description: |-
ObservedGeneration - the most recent generation observed for this service.
If the observed generation is different than the spec generation, then the
controller has not started processing the latest changes, and the status
and its conditions are likely stale.
format: int64
type: integer
readyCount:
default: 0
description: ReadyCount of CloudKitty Processor instances
format: int32
minimum: 0
type: integer
required:
- readyCount
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading