Skip to content
Open
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
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,7 @@ crd-schema-check: manifests

.PHONY: run_with_olm
run_with_olm: export CATALOG_IMG=${CATALOG_IMAGE}
run_with_olm: export ENABLE_CYBORG?=false
run_with_olm: ## Install nova operator via olm
# explicitly to delete any running nova-operator deployments from openstack-operator here as
# label selectors can change and installing a service catalog/index like this alongside
Expand Down
27 changes: 27 additions & 0 deletions PROJECT
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,31 @@ resources:
defaulting: true
validation: true
webhookVersion: v1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: cyborg
kind: Cyborg
path: github.com/openstack-k8s-operators/nova-operator/api/cyborg/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: cyborg
kind: CyborgAPI
path: github.com/openstack-k8s-operators/nova-operator/api/cyborg/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: openstack.org
group: cyborg
kind: CyborgConductor
path: github.com/openstack-k8s-operators/nova-operator/api/cyborg/v1beta1
version: v1beta1
version: "3"
436 changes: 436 additions & 0 deletions api/bases/cyborg.openstack.org_cyborgapis.yaml

Large diffs are not rendered by default.

251 changes: 251 additions & 0 deletions api/bases/cyborg.openstack.org_cyborgconductors.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
name: cyborgconductors.cyborg.openstack.org
spec:
group: cyborg.openstack.org
names:
kind: CyborgConductor
listKind: CyborgConductorList
plural: cyborgconductors
singular: cyborgconductor
scope: Namespaced
versions:
- additionalPrinterColumns:
- 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: CyborgConductor is the Schema for the cyborgconductors 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: CyborgConductorSpec defines the desired state of CyborgConductor.
properties:
configSecret:
description: |-
Secret is the name of the sub-level secret containing all required data
(transport URL, DB creds, keystone auth, service password, etc.)
type: string
containerImage:
description: ContainerImage is the container image URL for cyborg-conductor
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 custom.conf file.
type: string
nodeSelector:
additionalProperties:
type: string
description: |-
NodeSelector to target subset of worker nodes running this service. Setting here overrides
any global NodeSelector settings within the Cyborg CR.
type: object
replicas:
default: 1
description: Replicas of the service to run
format: int32
maximum: 32
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
request:
description: |-
Request is the name chosen for a request in the referenced claim.
If empty, everything from the claim is made available, otherwise
only the result of this request.
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 used by the conductor pods
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
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
required:
- configSecret
- containerImage
- serviceAccount
type: object
status:
description: CyborgConductorStatus defines the observed state of CyborgConductor.
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: Hash - Map of hashes to track config changes
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
observedGeneration:
description: ObservedGeneration - the most recent generation observed
format: int64
type: integer
readyCount:
description: ReadyCount defines the number of replicas ready
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading
Loading