v1beta1

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2023 License: Apache-2.0 Imports: 17 Imported by: 3

Documentation

Overview

Package v1beta1 contains API Schema definitions for the dataplane v1beta1 API group +kubebuilder:object:generate=true +groupName=dataplane.openstack.org

Index

Constants

View Source
const (
	// DataPlaneNodeReadyMessage ready
	DataPlaneNodeReadyMessage = "DataPlaneNode ready"

	// DataPlaneNodeReadyWaitingMessage ready
	DataPlaneNodeReadyWaitingMessage = "DataPlaneNode not yet ready"

	// DataPlaneNodeErrorMessage error
	DataPlaneNodeErrorMessage = "DataPlaneNode error occurred %s"

	// DataPlaneRoleReadyMessage ready
	DataPlaneRoleReadyMessage = "DataPlaneRole ready"

	// DataPlaneRoleReadyWaitingMessage ready
	DataPlaneRoleReadyWaitingMessage = "DataPlaneRole not yet ready"

	// DataPlaneRoleErrorMessage error
	DataPlaneRoleErrorMessage = "DataPlaneRole error occurred %s"

	// DataPlaneReadyMessage ready
	DataPlaneReadyMessage = "DataPlane ready"

	// DataPlaneReadyWaitingMessage ready
	DataPlaneReadyWaitingMessage = "DataPlane not yet ready"

	// DataPlaneErrorMessage error
	DataPlaneErrorMessage = "DataPlane error occurred %s"

	// ServiceReadyCondition Status=True condition indicates if the
	// service is finished and successful.
	ServiceReadyCondition string = "%s service ready"

	// ServiceReadyMessage ready
	ServiceReadyMessage = "%s service ready"

	// ServiceReadyWaitingMessage not yet ready
	ServiceReadyWaitingMessage = "%s service not yet ready"

	// ServiceErrorMessage error
	ServiceErrorMessage = "Service error occurred %s"

	// SetupReadyCondition - Overall setup condition
	SetupReadyCondition condition.Type = "SetupReady"

	// ConfigureCephClientReadyCondition Status=True condition indicates if the
	// Ceph client configuration is finished and successful.
	ConfigureCephClientReadyCondition condition.Type = "ConfigureCephClientReady"

	// ConfigureCephClientReadyMessage ready
	ConfigureCephClientReadyMessage = "ConfigureCephClient ready"

	// ConfigureCephClientReadyWaitingMessage not yet ready
	ConfigureCephClientReadyWaitingMessage = "ConfigureCephClient not yet ready"

	// ConfigureCephClientErrorMessage error
	ConfigureCephClientErrorMessage = "ConfigureCephClient error occurred %s"

	// NovaComputeReadyCondition Status=True condition indicates nova-compute
	// has been deployed and is ready
	NovaComputeReadyCondition condition.Type = "NovaComputeReady"

	// NovaComputeReadyMessage ready
	NovaComputeReadyMessage = "NovaComputeReady ready"

	// NovaComputeReadyWaitingMessage not yet ready
	NovaComputeReadyWaitingMessage = "NovaComputeReady not yet ready"

	// NovaComputeErrorMessage error
	NovaComputeErrorMessage = "NovaCompute error occurred"

	// RoleBareMetalProvisionReadyCondition Status=True condition indicates
	// all baremetal nodes provisioned for the Role.
	RoleBareMetalProvisionReadyCondition condition.Type = "RoleBaremetalProvisionReady"

	// RoleBaremetalProvisionReadyMessage ready
	RoleBaremetalProvisionReadyMessage = "RoleBaremetalProvisionReady ready"

	// RoleBaremetalProvisionReadyWaitingMessage not yet ready
	RoleBaremetalProvisionReadyWaitingMessage = "RoleBaremetalProvisionReady not yet ready"

	// RoleBaremetalProvisionErrorMessage error
	RoleBaremetalProvisionErrorMessage = "RoleBaremetalProvisionReady error occurred"

	// RoleIPReservationReadyCondition Status=True condition indicates
	// IPSets reserved for all nodes in a Role.
	RoleIPReservationReadyCondition condition.Type = "RoleIPReservationReady"

	// RoleIPReservationReadyMessage ready
	RoleIPReservationReadyMessage = "RoleIPReservationReady ready"

	// RoleIPReservationReadyWaitingMessage not yet ready
	RoleIPReservationReadyWaitingMessage = "RoleIPReservationReady not yet ready"

	// RoleIPReservationReadyErrorMessage error
	RoleIPReservationReadyErrorMessage = "RoleIPReservationReady error occurred"

	// RoleDNSDataReadyCondition Status=True condition indicates
	// DNSData created for the Role.
	RoleDNSDataReadyCondition condition.Type = "RoleDNSDataReady"

	// RoleDNSDataReadyMessage ready
	RoleDNSDataReadyMessage = "RoleDNSDataReady ready"

	// RoleDNSDataReadyWaitingMessage not yet ready
	RoleDNSDataReadyWaitingMessage = "RoleDNSDataReady not yet ready"

	// RoleDNSDataReadyErrorMessage error
	RoleDNSDataReadyErrorMessage = "RoleDNSDataReady error occurred"

	// InputReadyWaitingMessage not yet ready
	InputReadyWaitingMessage = "Waiting for input %s, not yet ready"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dataplane.openstack.org", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var UniqueSpecFields = []string{"NetworkAttachments"}

UniqueSpecFields - the array of fields that must be unique between role and nodes

Functions

func AssertUniquenessBetween

func AssertUniquenessBetween(spec interface{}, otherSpec interface{}, suffix string) []string

AssertUniquenessBetween - compare specs for uniqueness

Types

type AnsibleEESpec

type AnsibleEESpec struct {
	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to pass to the ansibleee resource
	// which allows to connect the ansibleee runner to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`
	// +kubebuilder:validation:Optional
	// OpenStackAnsibleEERunnerImage image to use as the ansibleEE runner image
	OpenStackAnsibleEERunnerImage string `json:"openStackAnsibleEERunnerImage,omitempty"`
	// +kubebuilder:validation:Optional
	// AnsibleTags for ansible execution
	AnsibleTags string `json:"ansibleTags,omitempty"`
	// +kubebuilder:validation:Optional
	// AnsibleLimit for ansible execution
	AnsibleLimit string `json:"ansibleLimit,omitempty"`
	// +kubebuilder:validation:Optional
	// AnsibleSkipTags for ansible execution
	AnsibleSkipTags string `json:"ansibleSkipTags,omitempty"`
	// ExtraMounts containing files which can be mounted into an Ansible Execution Pod
	// +kubebuilder:validation:Optional
	ExtraMounts []storage.VolMounts `json:"extraMounts,omitempty"`
	// Env is a list containing the environment variables to pass to the pod
	Env []corev1.EnvVar `json:"env,omitempty"`
	// DNSConfig for setting dnsservers
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
}

AnsibleEESpec is a specification of the ansible EE attributes

func (*AnsibleEESpec) DeepCopy

func (in *AnsibleEESpec) DeepCopy() *AnsibleEESpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnsibleEESpec.

func (*AnsibleEESpec) DeepCopyInto

func (in *AnsibleEESpec) DeepCopyInto(out *AnsibleEESpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeployStrategySection

type DeployStrategySection struct {

	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Deploy boolean to trigger ansible execution
	Deploy bool `json:"deploy"`

	// +kubebuilder:validation:Optional
	// AnsibleTags for ansible execution
	AnsibleTags string `json:"ansibleTags,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleLimit for ansible execution
	AnsibleLimit string `json:"ansibleLimit,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleSkipTags for ansible execution
	AnsibleSkipTags string `json:"ansibleSkipTags,omitempty"`
}

DeployStrategySection for fields controlling the deployment

func (*DeployStrategySection) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployStrategySection.

func (*DeployStrategySection) DeepCopyInto

func (in *DeployStrategySection) DeepCopyInto(out *DeployStrategySection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkConfigSection

type NetworkConfigSection struct {

	// +kubebuilder:validation:Optional
	// Template - Contains a Ansible j2 nic config template to use when applying node
	// network configuration
	Template string `json:"template,omitempty" yaml:"template,omitempty"`
}

NetworkConfigSection is a specification of the Network configuration details

func (*NetworkConfigSection) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfigSection.

func (*NetworkConfigSection) DeepCopyInto

func (in *NetworkConfigSection) DeepCopyInto(out *NetworkConfigSection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeSection

type NodeSection struct {

	// +kubebuilder:validation:Optional
	// NetworkConfig - Network configuration details. Contains os-net-config
	// related properties.
	NetworkConfig NetworkConfigSection `json:"networkConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// Networks - Instance networks
	Networks []infranetworkv1.IPSetNetwork `json:"networks,omitempty"`

	// +kubebuilder:validation:Optional
	// ManagementNetwork - Name of network to use for management (SSH/Ansible)
	ManagementNetwork string `json:"managementNetwork,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleUser SSH user for Ansible connection
	AnsibleUser string `json:"ansibleUser,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"}
	// AnsiblePort SSH port for Ansible connection
	AnsiblePort int `json:"ansiblePort,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleVars for configuring ansible
	AnsibleVars string `json:"ansibleVars,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
	// AnsibleSSHPrivateKeySecret Private SSH Key secret containing private SSH
	// key for connecting to node. Must be of the form:
	// Secret.data.ssh-privatekey: <base64 encoded private key contents>
	// <https://kubernetes.io/docs/concepts/configuration/secret/#ssh-authentication-secrets>
	AnsibleSSHPrivateKeySecret string `json:"ansibleSSHPrivateKeySecret,omitempty"`

	// ExtraMounts containing files which can be mounted into an Ansible Execution Pod
	// +kubebuilder:validation:Optional
	ExtraMounts []storage.VolMounts `json:"extraMounts,omitempty"`

	// UserData  node specific user-data
	// +kubebuilder:validation:Optional
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// NetworkData  node specific network-data
	// +kubebuilder:validation:Optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// NovaTemplate specifies the parameters for the compute service deployment
	// on the EDPM node. If it is specified both in OpenstackDataPlaneRole and
	// the OpenstackDataPlaneNode for the same EDPM node then the configuration
	// in OpenstackDataPlaneNode will be used and the configuration in the
	// OpenstackDataPlaneRole will be ignored. If this is defined in neither
	// then compute service(s) will not be deployed on the EDPM node.
	// +kubebuilder:validation:Optional
	Nova *NovaTemplate `json:"nova,omitempty"`
}

NodeSection is a specification of the node attributes

func (*NodeSection) DeepCopy

func (in *NodeSection) DeepCopy() *NodeSection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSection.

func (*NodeSection) DeepCopyInto

func (in *NodeSection) DeepCopyInto(out *NodeSection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NovaTemplate

type NovaTemplate struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=cell1
	// CellName is the name of nova cell the compute(s) should be connected to
	CellName string `json:"cellName"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=nova
	// NovaInstance is the name of the Nova CR that represents the deployment
	// the compute(s) belongs to.
	// You can query the name of the Nova CRs in you system via
	// `oc get Nova -o jsonpath='{.items[*].metadata.name}'`
	NovaInstance string `json:"novaInstance"`

	// +kubebuilder:validation:Optional
	// CustomServiceConfig - customize the nova-compute 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/nova/nova.conf.d directory as 02-nova-override.conf file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// Deploy true means the compute service(s) are allowed to be changed on
	// the EDPM node(s) if necessary. If set to false then only the
	// pre-requisite data (e.g. config maps) will be generated but no actual
	// modification on the compute node(s) itself will happen.
	Deploy *bool `json:"deploy"`
}

NovaTemplate specifies the parameters for the compute service deployment on the EDPM node.

func (*NovaTemplate) DeepCopy

func (in *NovaTemplate) DeepCopy() *NovaTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NovaTemplate.

func (*NovaTemplate) DeepCopyInto

func (in *NovaTemplate) DeepCopyInto(out *NovaTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackDataPlane

type OpenStackDataPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackDataPlaneSpec   `json:"spec,omitempty"`
	Status OpenStackDataPlaneStatus `json:"status,omitempty"`
}

OpenStackDataPlane is the Schema for the openstackdataplanes API

func (*OpenStackDataPlane) DeepCopy

func (in *OpenStackDataPlane) DeepCopy() *OpenStackDataPlane

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlane.

func (*OpenStackDataPlane) DeepCopyInto

func (in *OpenStackDataPlane) DeepCopyInto(out *OpenStackDataPlane)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlane) DeepCopyObject

func (in *OpenStackDataPlane) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OpenStackDataPlane) Default

func (r *OpenStackDataPlane) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackDataPlane) InitConditions

func (instance *OpenStackDataPlane) InitConditions()

InitConditions - Initializes Status Conditons

func (OpenStackDataPlane) IsReady

func (instance OpenStackDataPlane) IsReady() bool

IsReady - returns true if service is ready to serve requests

func (*OpenStackDataPlane) SetupWebhookWithManager

func (r *OpenStackDataPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up the webhook with the Manager

func (*OpenStackDataPlane) ValidateCreate

func (r *OpenStackDataPlane) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackDataPlane) ValidateDelete

func (r *OpenStackDataPlane) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackDataPlane) ValidateUpdate

func (r *OpenStackDataPlane) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackDataPlaneList

type OpenStackDataPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenStackDataPlane `json:"items"`
}

OpenStackDataPlaneList contains a list of OpenStackDataPlane

func (*OpenStackDataPlaneList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneList.

func (*OpenStackDataPlaneList) DeepCopyInto

func (in *OpenStackDataPlaneList) DeepCopyInto(out *OpenStackDataPlaneList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneList) DeepCopyObject

func (in *OpenStackDataPlaneList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackDataPlaneNode

type OpenStackDataPlaneNode struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackDataPlaneNodeSpec `json:"spec,omitempty"`
	Status OpenStackDataPlaneStatus   `json:"status,omitempty"`
}

OpenStackDataPlaneNode is the Schema for the openstackdataplanenodes API

func (*OpenStackDataPlaneNode) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNode.

func (*OpenStackDataPlaneNode) DeepCopyInto

func (in *OpenStackDataPlaneNode) DeepCopyInto(out *OpenStackDataPlaneNode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneNode) DeepCopyObject

func (in *OpenStackDataPlaneNode) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (OpenStackDataPlaneNode) GetAnsibleEESpec

func (instance OpenStackDataPlaneNode) GetAnsibleEESpec(role OpenStackDataPlaneRole) AnsibleEESpec

GetAnsibleEESpec - get the fields that will be passed to AEE

func (*OpenStackDataPlaneNode) InitConditions

func (instance *OpenStackDataPlaneNode) InitConditions(instanceRole *OpenStackDataPlaneRole)

InitConditions - Initializes Status Conditons

func (OpenStackDataPlaneNode) IsReady

func (instance OpenStackDataPlaneNode) IsReady() bool

IsReady - returns true if the DataPlaneNode is ready

func (OpenStackDataPlaneNode) IsSetupReady

func (instance OpenStackDataPlaneNode) IsSetupReady() bool

IsSetupReady - returns true if the DataPlaneNode is ready to be deployed

func (OpenStackDataPlaneNode) Validate

func (instance OpenStackDataPlaneNode) Validate(role OpenStackDataPlaneRole) error

Validate - validates the shared data between node and role

type OpenStackDataPlaneNodeList

type OpenStackDataPlaneNodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenStackDataPlaneNode `json:"items"`
}

OpenStackDataPlaneNodeList contains a list of OpenStackDataPlaneNode

func (*OpenStackDataPlaneNodeList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeList.

func (*OpenStackDataPlaneNodeList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneNodeList) DeepCopyObject

func (in *OpenStackDataPlaneNodeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackDataPlaneNodeSpec

type OpenStackDataPlaneNodeSpec struct {

	// +kubebuilder:validation:Optional
	// HostName - node name
	HostName string `json:"hostName,omitempty"`

	// +kubebuilder:validation:Optional
	// Node - node attributes specific to this node
	Node NodeSection `json:"node,omitempty"`

	// +kubebuilder:validation:Optional
	// Role - role name for this node
	Role string `json:"role,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleHost SSH host for Ansible connection
	AnsibleHost string `json:"ansibleHost,omitempty"`

	// Env is a list containing the environment variables to pass to the pod
	Env []corev1.EnvVar `json:"env,omitempty"`

	// +kubebuilder:validation:Optional
	// DeployStrategy section to control how the node is deployed
	DeployStrategy DeployStrategySection `json:"deployStrategy,omitempty"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to pass to the ansibleee resource
	// which allows to connect the ansibleee runner to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`
}

OpenStackDataPlaneNodeSpec defines the desired state of OpenStackDataPlaneNode

func (*OpenStackDataPlaneNodeSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeSpec.

func (*OpenStackDataPlaneNodeSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackDataPlaneRole

type OpenStackDataPlaneRole struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackDataPlaneRoleSpec `json:"spec,omitempty"`
	Status OpenStackDataPlaneStatus   `json:"status,omitempty"`
}

OpenStackDataPlaneRole is the Schema for the openstackdataplaneroles API

func (*OpenStackDataPlaneRole) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneRole.

func (*OpenStackDataPlaneRole) DeepCopyInto

func (in *OpenStackDataPlaneRole) DeepCopyInto(out *OpenStackDataPlaneRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneRole) DeepCopyObject

func (in *OpenStackDataPlaneRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (OpenStackDataPlaneRole) GetAnsibleEESpec

func (instance OpenStackDataPlaneRole) GetAnsibleEESpec() AnsibleEESpec

GetAnsibleEESpec - get the fields that will be passed to AEE

func (*OpenStackDataPlaneRole) InitConditions

func (instance *OpenStackDataPlaneRole) InitConditions()

InitConditions - Initializes Status Conditons

func (OpenStackDataPlaneRole) IsReady

func (instance OpenStackDataPlaneRole) IsReady() bool

IsReady - returns true if the DataPlane is ready

func (OpenStackDataPlaneRole) Validate

func (instance OpenStackDataPlaneRole) Validate(nodes []OpenStackDataPlaneNode) error

Validate - validates the shared data between role and nodes

type OpenStackDataPlaneRoleList

type OpenStackDataPlaneRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenStackDataPlaneRole `json:"items"`
}

OpenStackDataPlaneRoleList contains a list of OpenStackDataPlaneRole

func (*OpenStackDataPlaneRoleList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneRoleList.

func (*OpenStackDataPlaneRoleList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneRoleList) DeepCopyObject

func (in *OpenStackDataPlaneRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackDataPlaneRoleSpec

type OpenStackDataPlaneRoleSpec struct {
	// +kubebuilder:validation:Optional
	// DataPlane name of OpenStackDataPlane for this role
	DataPlane string `json:"dataPlane,omitempty"`

	// +kubebuilder:validation:Optional
	// BaremetalSetTemplate Template for BaremetalSet for the Role
	BaremetalSetTemplate baremetalv1.OpenStackBaremetalSetSpec `json:"baremetalSetTemplate,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeTemplate - node attributes specific to this roles
	NodeTemplate NodeSection `json:"nodeTemplate,omitempty"`

	// +kubebuilder:validation:Optional
	//
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// PreProvisioned - Whether the nodes are actually pre-provisioned (True) or should be
	// preprovisioned (False)
	PreProvisioned bool `json:"preProvisioned,omitempty"`

	// Env is a list containing the environment variables to pass to the pod
	Env []corev1.EnvVar `json:"env,omitempty"`

	// +kubebuilder:validation:Optional
	// DeployStrategy section to control how the node is deployed
	DeployStrategy DeployStrategySection `json:"deployStrategy,omitempty"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to pass to the ansibleee resource
	// which allows to connect the ansibleee runner to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={configure-network,validate-network,install-os,configure-os,run-os}
	// Services list
	Services []string `json:"services"`
}

OpenStackDataPlaneRoleSpec defines the desired state of OpenStackDataPlaneRole

func (*OpenStackDataPlaneRoleSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneRoleSpec.

func (*OpenStackDataPlaneRoleSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackDataPlaneService

type OpenStackDataPlaneService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackDataPlaneServiceSpec   `json:"spec,omitempty"`
	Status OpenStackDataPlaneServiceStatus `json:"status,omitempty"`
}

OpenStackDataPlaneService is the Schema for the openstackdataplaneservices API

func (*OpenStackDataPlaneService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneService.

func (*OpenStackDataPlaneService) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneService) DeepCopyObject

func (in *OpenStackDataPlaneService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (OpenStackDataPlaneService) InitConditions

func (instance OpenStackDataPlaneService) InitConditions()

InitConditions - Initializes Status Conditons

func (OpenStackDataPlaneService) IsReady

func (instance OpenStackDataPlaneService) IsReady() bool

IsReady - returns true if service is ready to serve requests

type OpenStackDataPlaneServiceList

type OpenStackDataPlaneServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenStackDataPlaneService `json:"items"`
}

OpenStackDataPlaneServiceList contains a list of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceList.

func (*OpenStackDataPlaneServiceList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneServiceList) DeepCopyObject

func (in *OpenStackDataPlaneServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackDataPlaneServiceSpec

type OpenStackDataPlaneServiceSpec struct {
	// Label to use for service
	// +kubebuilder:validation:Optional
	Label string `json:"label,omitempty"`

	// Play is the playbook contents that ansible will run on execution.
	// If both Play and Role are specified, Play takes precedence
	Play string `json:"play,omitempty"`

	// Role is the description of an Ansible Role
	// +kubebuilder:validation:Optional
	Role *ansibleeev1.Role `json:"role,omitempty"`

	// +kubebuilder:validation:Optional
	// OpenStackAnsibleEERunnerImage image to use as the ansibleEE runner image
	OpenStackAnsibleEERunnerImage string `json:"openStackAnsibleEERunnerImage,omitempty"`
}

OpenStackDataPlaneServiceSpec defines the desired state of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceSpec.

func (*OpenStackDataPlaneServiceSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackDataPlaneServiceStatus

type OpenStackDataPlaneServiceStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`
}

OpenStackDataPlaneServiceStatus defines the observed state of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceStatus.

func (*OpenStackDataPlaneServiceStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackDataPlaneSpec

type OpenStackDataPlaneSpec struct {

	// +kubebuilder:validation:Optional
	// Nodes - Map of nodes
	Nodes map[string]OpenStackDataPlaneNodeSpec `json:"nodes,omitempty"`
	// +kubebuilder:validation:Optional
	// Roles - Map of roles
	Roles map[string]OpenStackDataPlaneRoleSpec `json:"roles,omitempty"`
	// +kubebuilder:validation:Optional
	// DeployStrategy section to control how the node is deployed
	DeployStrategy DeployStrategySection `json:"deployStrategy,omitempty"`
}

OpenStackDataPlaneSpec defines the desired state of OpenStackDataPlane

func (*OpenStackDataPlaneSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneSpec.

func (*OpenStackDataPlaneSpec) DeepCopyInto

func (in *OpenStackDataPlaneSpec) DeepCopyInto(out *OpenStackDataPlaneSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackDataPlaneSpec) Default

func (spec *OpenStackDataPlaneSpec) Default()

Default - set defaults for this OpenStackDataPlane spec

func (*OpenStackDataPlaneSpec) Validate

func (spec *OpenStackDataPlaneSpec) Validate() field.ErrorList

Validate implements common validations

type OpenStackDataPlaneStatus

type OpenStackDataPlaneStatus struct {

	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Deployed
	Deployed bool `json:"deployed,omitempty" optional:"true"`
}

OpenStackDataPlaneStatus defines the observed state of OpenStackDataPlaneNode

func (*OpenStackDataPlaneStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneStatus.

func (*OpenStackDataPlaneStatus) DeepCopyInto

func (in *OpenStackDataPlaneStatus) DeepCopyInto(out *OpenStackDataPlaneStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL