Skip to content

Commit

Permalink
Merge pull request #341 from gthiemonge/octavia-rsyslog
Browse files Browse the repository at this point in the history
Octavia rsyslog - log offloading support
  • Loading branch information
openshift-merge-bot[bot] authored Jul 22, 2024
2 parents ede27df + 26bc02b commit 51c6172
Show file tree
Hide file tree
Showing 29 changed files with 2,115 additions and 5 deletions.
256 changes: 256 additions & 0 deletions api/bases/octavia.openstack.org_octaviarsyslogs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.1
creationTimestamp: null
name: octaviarsyslogs.octavia.openstack.org
spec:
group: octavia.openstack.org
names:
kind: OctaviaRsyslog
listKind: OctaviaRsyslogList
plural: octaviarsyslogs
singular: octaviarsyslog
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: OctaviaRsyslog is the Schema for the octaviaworkers 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: OctaviaRsyslogSpec defines common state for all Octavia Amphora
Controllers
properties:
adminLogTargets:
description: AdminLogTargets is a list of OctaviaRsyslogTarget, the
admin logs are forwarded to those targets. Use only when forwarding
to an external Rsyslog server.
items:
properties:
host:
type: string
port:
type: integer
protocol:
type: string
required:
- host
- port
- protocol
type: object
type: array
containerImage:
default: quay.io/podified-antelope-centos9/openstack-rsyslog:current-podified
description: ContainerImage - Amphora Controller Container Image URL
type: string
defaultConfigOverwrite:
additionalProperties:
type: string
description: 'ConfigOverwrite - interface to overwrite default config
files like e.g. logging.conf or policy.json. But can also be used
to add additional files. Those get added to the service config dir
in /etc/<service> . TODO: -> implement'
type: object
networkAttachments:
default:
- octavia
description: NetworkAttachments is a list of NetworkAttachment resource
names to expose the services to the given network
items:
type: string
type: array
nodeSelector:
additionalProperties:
type: string
description: NodeSelector to target subset of worker nodes running
this service
type: object
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. \n This
is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n 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
serviceAccount:
description: ServiceAccount - service account name used internally
to provide Octavia services the default SA name
type: string
serviceUser:
default: octavia
description: 'ServiceUser - service user name (TODO: beagles, do we
need this at all)'
type: string
tenantLogTargets:
description: TenantLogTargets is a list of OctaviaRsyslogTarget, the
tenant logs are forwarded to those targets. Use only when forwarding
to an external Rsyslog server.
items:
properties:
host:
type: string
port:
type: integer
protocol:
type: string
required:
- host
- port
- protocol
type: object
type: array
required:
- serviceAccount
type: object
status:
description: OctaviaRsyslogStatus defines the observed state of the Octavia
Amphora Controller
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
desiredNumberScheduled:
description: DesiredNumberScheduled - total number of the nodes which
should be running Daemon
format: int32
type: integer
hash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
networkAttachments:
additionalProperties:
items:
type: string
type: array
description: NetworkAttachment status of the deployment pods
type: object
observedGeneration:
description: ObservedGeneration - the most recent generation observed
for this service. If the observed generation is less than the spec
generation, then the controller has not processed the latest changes
injected by the opentack-operator in the top-level CR (e.g. the
ContainerImage)
format: int64
type: integer
readyCount:
description: ReadyCount of Octavia Amphora Controllers
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit 51c6172

Please sign in to comment.