v1beta Edgefs operator and CRDs

Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
This commit is contained in:
Anton Skriptsov committed 2019-04-24 16:35:04 -07:00
1 parent 5746c03446
commit 04ad41bdcd
24 files changed
+270 -270

No files matched your search

+6 -6
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"reflect"
"sort"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookv1alpha2 "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/edgefs/cluster/mgr"
@@ -51,14 +51,14 @@ const (
type cluster struct {
context *clusterd.Context
Namespace string
Spec edgefsv1alpha1.ClusterSpec
Spec edgefsv1beta1.ClusterSpec
ownerRef metav1.OwnerReference
targets *target.Cluster
mgrs *mgr.Cluster
stopCh chan struct{}
}
func newCluster(c *edgefsv1alpha1.Cluster, context *clusterd.Context) *cluster {
func newCluster(c *edgefsv1beta1.Cluster, context *clusterd.Context) *cluster {
return &cluster{
context: context,
@@ -157,7 +157,7 @@ func (c *cluster) createInstance(rookImage string) error {
return nil
}
func (c *cluster) prepareHostNodes(rookImage string, deploymentConfig edgefsv1alpha1.ClusterDeploymentConfig) error {
func (c *cluster) prepareHostNodes(rookImage string, deploymentConfig edgefsv1beta1.ClusterDeploymentConfig) error {
prep := prepare.New(c.context, c.Namespace, "latest", c.Spec.ServiceAccount,
edgefsv1beta1.GetPrepareAnnotations(c.Spec.Annotations), edgefsv1beta1.GetPreparePlacement(c.Spec.Placement), v1.ResourceRequirements{}, c.ownerRef)
@@ -233,7 +233,7 @@ func (c *cluster) validateClusterSpec() error {
return nil
}
func clusterChanged(oldCluster, newCluster edgefsv1alpha1.ClusterSpec) bool {
func clusterChanged(oldCluster, newCluster edgefsv1beta1.ClusterSpec) bool {
changeFound := false
oldStorage := oldCluster.Storage
newStorage := newCluster.Storage
+18 -18
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,7 @@ package cluster
import (
"encoding/json"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/operator/edgefs/cluster/target"
"github.com/rook/rook/pkg/operator/k8sutil"
@@ -38,9 +38,9 @@ const (
// As we relying on StatefulSet, we want to build global ConfigMap shared
// to all the nodes in the cluster. This way configuration is simplified and
// available to all subcomponents at any point it time.
func (c *cluster) createClusterConfigMap(nodes []rookalpha.Node, deploymentConfig edgefsv1alpha1.ClusterDeploymentConfig, resurrect bool) error {
func (c *cluster) createClusterConfigMap(nodes []rookalpha.Node, deploymentConfig edgefsv1beta1.ClusterDeploymentConfig, resurrect bool) error {
cm := make(map[string]edgefsv1alpha1.SetupNode)
cm := make(map[string]edgefsv1beta1.SetupNode)
dnsRecords := make([]string, len(nodes))
for i := 0; i < len(nodes); i++ {
@@ -70,7 +70,7 @@ func (c *cluster) createClusterConfigMap(nodes []rookalpha.Node, deploymentConfi
rtlfsDevices := devConfig.Rtlfs.Devices
rtlfsAutoDetectPath := ""
if deploymentConfig.DeploymentType == edgefsv1alpha1.DeploymentAutoRtlfs &&
if deploymentConfig.DeploymentType == edgefsv1beta1.DeploymentAutoRtlfs &&
!devConfig.IsGatewayNode {
rtlfsAutoDetectPath = "/data"
}
@@ -86,8 +86,8 @@ func (c *cluster) createClusterConfigMap(nodes []rookalpha.Node, deploymentConfi
// same as before. Resurrection is "best effort" feature, we cannot
// guarnatee that cluster can be reconfigured, but at least we do try.
rtDevices = make([]edgefsv1alpha1.RTDevice, 0)
rtlfsDevices = make([]edgefsv1alpha1.RtlfsDevice, 0)
rtDevices = make([]edgefsv1beta1.RTDevice, 0)
rtlfsDevices = make([]edgefsv1beta1.RtlfsDevice, 0)
}
// Set failureDomain to 2 if current node's zone > 0
failureDomain := 1
@@ -95,37 +95,37 @@ func (c *cluster) createClusterConfigMap(nodes []rookalpha.Node, deploymentConfi
failureDomain = 2
}
nodeConfig := edgefsv1alpha1.SetupNode{
Ccow: edgefsv1alpha1.CcowConf{
Trlog: edgefsv1alpha1.CcowTrlog{
nodeConfig := edgefsv1beta1.SetupNode{
Ccow: edgefsv1beta1.CcowConf{
Trlog: edgefsv1beta1.CcowTrlog{
Interval: defaultTrlogProcessingInterval,
},
Tenant: edgefsv1alpha1.CcowTenant{
Tenant: edgefsv1beta1.CcowTenant{
FailureDomain: failureDomain,
},
Network: edgefsv1alpha1.CcowNetwork{
Network: edgefsv1beta1.CcowNetwork{
BrokerInterfaces: brokerIfName,
ServerUnixSocket: "/opt/nedge/var/run/sock/ccowd.sock",
},
},
Ccowd: edgefsv1alpha1.CcowdConf{
BgConfig: edgefsv1alpha1.CcowdBgConfig{
Ccowd: edgefsv1beta1.CcowdConf{
BgConfig: edgefsv1beta1.CcowdBgConfig{
TrlogDeleteAfterHours: defaultTrlogKeepDays * 24,
},
Zone: devConfig.Zone,
Network: edgefsv1alpha1.CcowdNetwork{
Network: edgefsv1beta1.CcowdNetwork{
ServerInterfaces: serverIfName,
ServerUnixSocket: "/opt/nedge/var/run/sock/ccowd.sock",
},
Transport: []string{deploymentConfig.TransportKey},
},
Auditd: edgefsv1alpha1.AuditdConf{
Auditd: edgefsv1beta1.AuditdConf{
IsAggregator: 0,
},
Rtrd: edgefsv1alpha1.RTDevices{
Rtrd: edgefsv1beta1.RTDevices{
Devices: rtDevices,
},
Rtlfs: edgefsv1alpha1.RtlfsDevices{
Rtlfs: edgefsv1beta1.RtlfsDevices{
Devices: rtlfsDevices,
},
Ipv4Autodetect: 1,
+36 -36
View File
@@ -26,7 +26,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/edgefs/iscsi"
"github.com/rook/rook/pkg/operator/edgefs/isgw"
@@ -62,10 +62,10 @@ const (
var ClusterResource = opkit.CustomResource{
Name: CustomResourceName,
Plural: CustomResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.Cluster{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.Cluster{}).Name(),
}
type ClusterController struct {
@@ -104,8 +104,8 @@ func (c *ClusterController) StartWatch(namespace string, stopCh chan struct{}) e
}
logger.Infof("start watching edgefs clusters in all namespaces")
watcher := opkit.NewWatcher(ClusterResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.Cluster{}, stopCh)
watcher := opkit.NewWatcher(ClusterResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.Cluster{}, stopCh)
return nil
}
@@ -118,7 +118,7 @@ func (c *ClusterController) StopWatch() {
}
func (c *ClusterController) onAdd(obj interface{}) {
clusterObj := obj.(*edgefsv1alpha1.Cluster).DeepCopy()
clusterObj := obj.(*edgefsv1beta1.Cluster).DeepCopy()
logger.Infof("new cluster %s added to namespace %s", clusterObj.Name, clusterObj.Namespace)
cluster := newCluster(clusterObj, c.context)
@@ -135,7 +135,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
if c.devicesInUse && cluster.Spec.Storage.AnyUseAllDevices() {
message := "using all devices in more than one namespace not supported"
logger.Error(message)
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1alpha1.ClusterStateError, message); err != nil {
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1beta1.ClusterStateError, message); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", cluster.Namespace, err)
}
return
@@ -147,7 +147,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
// Start the Rook cluster components. Retry several times in case of failure.
err := wait.Poll(clusterCreateInterval, clusterCreateTimeout, func() (bool, error) {
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1alpha1.ClusterStateCreating, ""); err != nil {
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1beta1.ClusterStateCreating, ""); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", cluster.Namespace, err)
return false, nil
}
@@ -159,7 +159,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
}
// cluster is created, update the cluster CRD status now
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1alpha1.ClusterStateCreated, ""); err != nil {
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1beta1.ClusterStateCreated, ""); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", cluster.Namespace, err)
return false, nil
}
@@ -169,7 +169,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
if err != nil {
message := fmt.Sprintf("giving up creating cluster in namespace %s after %s", cluster.Namespace, clusterCreateTimeout)
logger.Error(message)
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1alpha1.ClusterStateError, message); err != nil {
if err := c.updateClusterStatus(clusterObj.Namespace, clusterObj.Name, edgefsv1beta1.ClusterStateError, message); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", cluster.Namespace, err)
}
return
@@ -181,7 +181,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
NFSController := nfs.NewNFSController(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -191,7 +191,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
S3Controller := s3.NewS3Controller(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -201,7 +201,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
SWIFTController := swift.NewSWIFTController(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -211,7 +211,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
S3XController := s3x.NewS3XController(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -221,7 +221,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
ISCSIController := iscsi.NewISCSIController(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -231,7 +231,7 @@ func (c *ClusterController) onAdd(obj interface{}) {
ISGWController := isgw.NewISGWController(c.context, c.containerImage,
isHostNetworkDefined(cluster.Spec.Network),
cluster.Spec.DataDirHostPath, cluster.Spec.DataVolumeSize,
edgefsv1alpha1.GetTargetPlacement(cluster.Spec.Placement),
edgefsv1beta1.GetTargetPlacement(cluster.Spec.Placement),
cluster.Spec.Resources,
cluster.Spec.ResourceProfile,
cluster.ownerRef)
@@ -245,8 +245,8 @@ func (c *ClusterController) onAdd(obj interface{}) {
}
func (c *ClusterController) onUpdate(oldObj, newObj interface{}) {
oldCluster := oldObj.(*edgefsv1alpha1.Cluster).DeepCopy()
newCluster := newObj.(*edgefsv1alpha1.Cluster).DeepCopy()
oldCluster := oldObj.(*edgefsv1beta1.Cluster).DeepCopy()
newCluster := newObj.(*edgefsv1beta1.Cluster).DeepCopy()
logger.Infof("update event for cluster %s", newCluster.Namespace)
// Check if the cluster is being deleted. This code path is called when a finalizer is specified in the crd.
@@ -293,7 +293,7 @@ func (c *ClusterController) onUpdate(oldObj, newObj interface{}) {
if err != nil {
message := fmt.Sprintf("giving up trying to update cluster in namespace %s after %s", cluster.Namespace, updateClusterTimeout)
logger.Error(message)
if err := c.updateClusterStatus(newCluster.Namespace, newCluster.Name, edgefsv1alpha1.ClusterStateError, message); err != nil {
if err := c.updateClusterStatus(newCluster.Namespace, newCluster.Name, edgefsv1beta1.ClusterStateError, message); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", newCluster.Namespace, err)
}
return
@@ -301,8 +301,8 @@ func (c *ClusterController) onUpdate(oldObj, newObj interface{}) {
logger.Infof("cluster %s updated in namespace %s", newCluster.Name, newCluster.Namespace)
}
func (c *ClusterController) handleUpdate(newClust *edgefsv1alpha1.Cluster, cluster *cluster) (bool, error) {
if err := c.updateClusterStatus(newClust.Namespace, newClust.Name, edgefsv1alpha1.ClusterStateUpdating, ""); err != nil {
func (c *ClusterController) handleUpdate(newClust *edgefsv1beta1.Cluster, cluster *cluster) (bool, error) {
if err := c.updateClusterStatus(newClust.Namespace, newClust.Name, edgefsv1beta1.ClusterStateUpdating, ""); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", newClust.Namespace, err)
return false, nil
}
@@ -312,7 +312,7 @@ func (c *ClusterController) handleUpdate(newClust *edgefsv1alpha1.Cluster, clust
return false, nil
}
if err := c.updateClusterStatus(newClust.Namespace, newClust.Name, edgefsv1alpha1.ClusterStateCreated, ""); err != nil {
if err := c.updateClusterStatus(newClust.Namespace, newClust.Name, edgefsv1beta1.ClusterStateCreated, ""); err != nil {
logger.Errorf("failed to update cluster status in namespace %s: %+v", newClust.Namespace, err)
return false, nil
}
@@ -322,7 +322,7 @@ func (c *ClusterController) handleUpdate(newClust *edgefsv1alpha1.Cluster, clust
}
func (c *ClusterController) onDelete(obj interface{}) {
clust := obj.(*edgefsv1alpha1.Cluster).DeepCopy()
clust := obj.(*edgefsv1beta1.Cluster).DeepCopy()
logger.Infof("delete event for cluster %s in namespace %s", clust.Name, clust.Namespace)
@@ -339,7 +339,7 @@ func (c *ClusterController) onDelete(obj interface{}) {
}
}
func (c *ClusterController) handleDelete(clust *edgefsv1alpha1.Cluster, retryInterval time.Duration) error {
func (c *ClusterController) handleDelete(clust *edgefsv1beta1.Cluster, retryInterval time.Duration) error {
cluster, ok := c.clusterMap[clust.Namespace]
if !ok {
@@ -361,33 +361,33 @@ func (c *ClusterController) handleDelete(clust *edgefsv1alpha1.Cluster, retryInt
return nil
}
func (c *ClusterController) updateClusterStatus(namespace, name string, state edgefsv1alpha1.ClusterState, message string) error {
func (c *ClusterController) updateClusterStatus(namespace, name string, state edgefsv1beta1.ClusterState, message string) error {
// get the most recent cluster CRD object
cluster, err := c.context.RookClientset.EdgefsV1alpha1().Clusters(namespace).Get(name, metav1.GetOptions{})
cluster, err := c.context.RookClientset.EdgefsV1beta1().Clusters(namespace).Get(name, metav1.GetOptions{})
if err != nil {
return fmt.Errorf("failed to get cluster from namespace %s prior to updating its status: %+v", namespace, err)
}
// update the status on the retrieved cluster object
cluster.Status = edgefsv1alpha1.ClusterStatus{State: state, Message: message}
if _, err := c.context.RookClientset.EdgefsV1alpha1().Clusters(cluster.Namespace).Update(cluster); err != nil {
cluster.Status = edgefsv1beta1.ClusterStatus{State: state, Message: message}
if _, err := c.context.RookClientset.EdgefsV1beta1().Clusters(cluster.Namespace).Update(cluster); err != nil {
return fmt.Errorf("failed to update cluster %s status: %+v", cluster.Namespace, err)
}
return nil
}
func isHostNetworkDefined(hostNetworkSpec edgefsv1alpha1.NetworkSpec) bool {
func isHostNetworkDefined(hostNetworkSpec edgefsv1beta1.NetworkSpec) bool {
if len(hostNetworkSpec.ServerIfName) > 0 || len(hostNetworkSpec.ServerIfName) > 0 {
return true
}
return false
}
func (c *ClusterController) addFinalizer(clust *edgefsv1alpha1.Cluster) error {
func (c *ClusterController) addFinalizer(clust *edgefsv1beta1.Cluster) error {
// get the latest cluster object since we probably updated it before we got to this point (e.g. by updating its status)
clust, err := c.context.RookClientset.EdgefsV1alpha1().Clusters(clust.Namespace).Get(clust.Name, metav1.GetOptions{})
clust, err := c.context.RookClientset.EdgefsV1beta1().Clusters(clust.Namespace).Get(clust.Name, metav1.GetOptions{})
if err != nil {
return err
}
@@ -404,7 +404,7 @@ func (c *ClusterController) addFinalizer(clust *edgefsv1alpha1.Cluster) error {
clust.Finalizers = append(clust.Finalizers, finalizerName)
// update the crd
_, err = c.context.RookClientset.EdgefsV1alpha1().Clusters(clust.Namespace).Update(clust)
_, err = c.context.RookClientset.EdgefsV1beta1().Clusters(clust.Namespace).Update(clust)
if err != nil {
return fmt.Errorf("failed to add finalizer to cluster. %+v", err)
}
@@ -418,7 +418,7 @@ func (c *ClusterController) removeFinalizer(obj interface{}) {
var objectMeta *metav1.ObjectMeta
// first determine what type/version of cluster we are dealing with
if cl, ok := obj.(*edgefsv1alpha1.Cluster); ok {
if cl, ok := obj.(*edgefsv1beta1.Cluster); ok {
fname = finalizerName
objectMeta = &cl.ObjectMeta
} else {
@@ -445,8 +445,8 @@ func (c *ClusterController) removeFinalizer(obj interface{}) {
retrySeconds := 5 * time.Second
for i := 0; i < maxRetries; i++ {
var err error
if cluster, ok := obj.(*edgefsv1alpha1.Cluster); ok {
_, err = c.context.RookClientset.EdgefsV1alpha1().Clusters(cluster.Namespace).Update(cluster)
if cluster, ok := obj.(*edgefsv1beta1.Cluster); ok {
_, err = c.context.RookClientset.EdgefsV1beta1().Clusters(cluster.Namespace).Update(cluster)
}
if err != nil {
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,7 +20,7 @@ import (
"testing"
"time"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
rookfake "github.com/rook/rook/pkg/client/clientset/versioned/fake"
"github.com/rook/rook/pkg/clusterd"
@@ -46,20 +46,20 @@ func TestClusterDelete(t *testing.T) {
// create the cluster controller and tell it that the cluster has been deleted
controller := NewClusterController(context, "")
clusterToDelete := &edgefsv1alpha1.Cluster{ObjectMeta: metav1.ObjectMeta{Namespace: clusterName}}
clusterToDelete := &edgefsv1beta1.Cluster{ObjectMeta: metav1.ObjectMeta{Namespace: clusterName}}
controller.handleDelete(clusterToDelete, time.Microsecond)
}
func TestClusterChanged(t *testing.T) {
// a new node added, should be a change
old := edgefsv1alpha1.ClusterSpec{
old := edgefsv1beta1.ClusterSpec{
Storage: rookalpha.StorageScopeSpec{
Nodes: []rookalpha.Node{
{Name: "node1", Selection: rookalpha.Selection{Devices: []rookalpha.Device{{Name: "sda"}}}},
},
},
}
new := edgefsv1alpha1.ClusterSpec{
new := edgefsv1beta1.ClusterSpec{
Storage: rookalpha.StorageScopeSpec{
Nodes: []rookalpha.Node{
{Name: "node1", Selection: rookalpha.Selection{Devices: []rookalpha.Device{{Name: "sda"}}}},
@@ -102,7 +102,7 @@ func TestRemoveFinalizer(t *testing.T) {
// *****************************************
// start with a current version edgefs cluster
// *****************************************
cluster := &edgefsv1alpha1.Cluster{
cluster := &edgefsv1beta1.Cluster{
ObjectMeta: metav1.ObjectMeta{
Name: "cluster-1893",
Namespace: "namespace-6551",
@@ -111,7 +111,7 @@ func TestRemoveFinalizer(t *testing.T) {
}
// create the cluster initially so it exists in the k8s api
cluster, err := context.RookClientset.EdgefsV1alpha1().Clusters(cluster.Namespace).Create(cluster)
cluster, err := context.RookClientset.EdgefsV1beta1().Clusters(cluster.Namespace).Create(cluster)
assert.NoError(t, err)
assert.Len(t, cluster.Finalizers, 1)
@@ -119,7 +119,7 @@ func TestRemoveFinalizer(t *testing.T) {
controller.removeFinalizer(cluster)
// verify the finalier was removed
cluster, err = context.RookClientset.EdgefsV1alpha1().Clusters(cluster.Namespace).Get(cluster.Name, metav1.GetOptions{})
cluster, err = context.RookClientset.EdgefsV1beta1().Clusters(cluster.Namespace).Get(cluster.Name, metav1.GetOptions{})
assert.NoError(t, err)
assert.NotNil(t, cluster)
assert.Len(t, cluster.Finalizers, 0)
+8 -8
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -24,7 +24,7 @@ import (
"strings"
"github.com/coreos/pkg/capnslog"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
@@ -66,8 +66,8 @@ type Cluster struct {
annotations rookalpha.Annotations
placement rookalpha.Placement
context *clusterd.Context
hostNetworkSpec edgefsv1alpha1.NetworkSpec
dashboardSpec edgefsv1alpha1.DashboardSpec
hostNetworkSpec edgefsv1beta1.NetworkSpec
dashboardSpec edgefsv1beta1.DashboardSpec
resources v1.ResourceRequirements
resourceProfile string
ownerRef metav1.OwnerReference
@@ -81,8 +81,8 @@ func New(
dataVolumeSize resource.Quantity,
annotations rookalpha.Annotations,
placement rookalpha.Placement,
hostNetworkSpec edgefsv1alpha1.NetworkSpec,
dashboardSpec edgefsv1alpha1.DashboardSpec,
hostNetworkSpec edgefsv1beta1.NetworkSpec,
dashboardSpec edgefsv1beta1.DashboardSpec,
resources v1.ResourceRequirements,
resourceProfile string,
ownerRef metav1.OwnerReference,
@@ -112,7 +112,7 @@ func New(
}
}
func isHostNetworkDefined(hostNetworkSpec edgefsv1alpha1.NetworkSpec) bool {
func isHostNetworkDefined(hostNetworkSpec edgefsv1beta1.NetworkSpec) bool {
if len(hostNetworkSpec.ServerIfName) > 0 || len(hostNetworkSpec.ServerIfName) > 0 {
return true
}
+3 -3
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"strconv"
"testing"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
testop "github.com/rook/rook/pkg/operator/test"
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+10 -10
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"path/filepath"
"strings"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/operator/edgefs/cluster/target/config"
"github.com/rook/rook/pkg/util/sys"
@@ -46,8 +46,8 @@ func getIdDevLinkName(dls string) (dl string) {
return dl
}
func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (rtDevices []edgefsv1alpha1.RTDevice, err error) {
rtDevices = make([]edgefsv1alpha1.RTDevice, 0)
func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (rtDevices []edgefsv1beta1.RTDevice, err error) {
rtDevices = make([]edgefsv1beta1.RTDevice, 0)
if storeConfig == nil {
return rtDevices, fmt.Errorf("no pointer to StoreConfig provided")
}
@@ -88,7 +88,7 @@ func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (r
if devices[i].Rotational {
continue
}
rtdev := edgefsv1alpha1.RTDevice{
rtdev := edgefsv1beta1.RTDevice{
Name: getIdDevLinkName(devices[i].DevLinks),
Device: "/dev/" + devices[i].Name,
Psize: storeConfig.LmdbPageSize,
@@ -115,7 +115,7 @@ func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (r
if !devices[i].Rotational {
continue
}
rtdev := edgefsv1alpha1.RTDevice{
rtdev := edgefsv1beta1.RTDevice{
Name: getIdDevLinkName(devices[i].DevLinks),
Device: "/dev/" + devices[i].Name,
Psize: storeConfig.LmdbPageSize,
@@ -155,7 +155,7 @@ func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (r
for i := range hdds_divided {
for j := range hdds_divided[i] {
rtdev := edgefsv1alpha1.RTDevice{
rtdev := edgefsv1beta1.RTDevice{
Name: getIdDevLinkName(hdds_divided[i][j].DevLinks),
Device: "/dev/" + hdds_divided[i][j].Name,
Psize: storeConfig.LmdbPageSize,
@@ -184,10 +184,10 @@ func GetRTDevices(nodeDisks []sys.LocalDisk, storeConfig *config.StoreConfig) (r
return rtDevices, nil
}
func GetRtlfsDevices(directories []rookalpha.Directory, storeConfig *config.StoreConfig) []edgefsv1alpha1.RtlfsDevice {
rtlfsDevices := make([]edgefsv1alpha1.RtlfsDevice, 0)
func GetRtlfsDevices(directories []rookalpha.Directory, storeConfig *config.StoreConfig) []edgefsv1beta1.RtlfsDevice {
rtlfsDevices := make([]edgefsv1beta1.RtlfsDevice, 0)
for _, dir := range directories {
rtlfsDevice := edgefsv1alpha1.RtlfsDevice{
rtlfsDevice := edgefsv1beta1.RtlfsDevice{
Name: filepath.Base(dir.Path),
Path: dir.Path,
CheckMountpoint: 0,
+10 -10
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,7 +17,7 @@ limitations under the License.
package target
import (
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/operator/edgefs/cluster/target/config"
"github.com/rook/rook/pkg/operator/k8sutil"
appsv1 "k8s.io/api/apps/v1"
@@ -151,7 +151,7 @@ func (c *Cluster) makeAuditdContainer(containerImage string) v1.Container {
}
}
func (c *Cluster) makeDaemonContainer(containerImage string, dro edgefsv1alpha1.DevicesResurrectOptions, isInitContainer bool) v1.Container {
func (c *Cluster) makeDaemonContainer(containerImage string, dro edgefsv1beta1.DevicesResurrectOptions, isInitContainer bool) v1.Container {
privileged := c.deploymentConfig.NeedPrivileges
runAsUser := int64(0)
@@ -196,9 +196,9 @@ func (c *Cluster) makeDaemonContainer(containerImage string, dro edgefsv1alpha1.
// get cluster wide sync option, and apply for deploymentConfig
clusterStorageConfig := config.ToStoreConfig(c.Storage.Config)
if c.deploymentConfig.DeploymentType == edgefsv1alpha1.DeploymentAutoRtlfs {
if c.deploymentConfig.DeploymentType == edgefsv1beta1.DeploymentAutoRtlfs {
volumeMounts = append(volumeMounts, v1.VolumeMount{Name: dataVolumeName, MountPath: "/data"})
} else if c.deploymentConfig.DeploymentType == edgefsv1alpha1.DeploymentRtlfs {
} else if c.deploymentConfig.DeploymentType == edgefsv1beta1.DeploymentRtlfs {
rtlfsDevices := GetRtlfsDevices(c.Storage.Directories, &clusterStorageConfig)
for _, device := range rtlfsDevices {
volumeMounts = append(volumeMounts, v1.VolumeMount{Name: device.Name, MountPath: device.Path})
@@ -248,7 +248,7 @@ func (c *Cluster) makeDaemonContainer(containerImage string, dro edgefsv1alpha1.
VolumeMounts: volumeMounts,
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("target",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("target",
c.resourceProfile == "embedded", c.chunkCacheSize, c.resources)...)
return cont
@@ -260,14 +260,14 @@ func (c *Cluster) configOverrideVolume() v1.Volume {
return v1.Volume{Name: configVolumeName, VolumeSource: v1.VolumeSource{ConfigMap: cmSource}}
}
func isHostNetworkDefined(hostNetworkSpec edgefsv1alpha1.NetworkSpec) bool {
func isHostNetworkDefined(hostNetworkSpec edgefsv1beta1.NetworkSpec) bool {
if len(hostNetworkSpec.ServerIfName) > 0 || len(hostNetworkSpec.ServerIfName) > 0 {
return true
}
return false
}
func (c *Cluster) createPodSpec(rookImage string, dro edgefsv1alpha1.DevicesResurrectOptions) v1.PodSpec {
func (c *Cluster) createPodSpec(rookImage string, dro edgefsv1beta1.DevicesResurrectOptions) v1.PodSpec {
terminationGracePeriodSeconds := int64(60)
DNSPolicy := v1.DNSClusterFirst
@@ -325,7 +325,7 @@ func (c *Cluster) createPodSpec(rookImage string, dro edgefsv1alpha1.DevicesResu
})
}
if c.deploymentConfig.DeploymentType == edgefsv1alpha1.DeploymentRtlfs {
if c.deploymentConfig.DeploymentType == edgefsv1beta1.DeploymentRtlfs {
// RTLFS with specified folders
for _, folder := range c.deploymentConfig.Directories {
volumes = append(volumes, v1.Volume{
@@ -395,7 +395,7 @@ func (c *Cluster) createPodSpec(rookImage string, dro edgefsv1alpha1.DevicesResu
}
}
func (c *Cluster) makeStatefulSet(replicas int32, rookImage string, dro edgefsv1alpha1.DevicesResurrectOptions) (*appsv1.StatefulSet, error) {
func (c *Cluster) makeStatefulSet(replicas int32, rookImage string, dro edgefsv1beta1.DevicesResurrectOptions) (*appsv1.StatefulSet, error) {
statefulSet := &appsv1.StatefulSet{
ObjectMeta: metav1.ObjectMeta{
Name: appName,
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,7 @@ package target
import (
"testing"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/edgefs/cluster/target/config"
@@ -63,7 +63,7 @@ func TestStorageSpecConfig(t *testing.T) {
}
clientset := fake.NewSimpleClientset()
deploymentConfig := edgefsv1alpha1.ClusterDeploymentConfig{}
deploymentConfig := edgefsv1beta1.ClusterDeploymentConfig{}
c := New(&clusterd.Context{Clientset: clientset, ConfigDir: "/var/lib/rook", Executor: &exectest.MockExecutor{}}, "ns", "rook/rook:myversion", "",
storageSpec, "", *resource.NewQuantity(100000.0, resource.BinarySI),
rookalpha.Annotations{}, rookalpha.Placement{}, edgefsv1beta1.NetworkSpec{}, v1.ResourceRequirements{}, "", *resource.NewQuantity(0.0, resource.BinarySI),
+7 -7
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,7 +20,7 @@ import (
"os"
"github.com/coreos/pkg/capnslog"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -57,14 +57,14 @@ type Cluster struct {
Storage rookalpha.StorageScopeSpec
dataDirHostPath string
dataVolumeSize resource.Quantity
HostNetworkSpec edgefsv1alpha1.NetworkSpec
HostNetworkSpec edgefsv1beta1.NetworkSpec
Privileged bool
resources v1.ResourceRequirements
resourceProfile string
chunkCacheSize resource.Quantity
ownerRef metav1.OwnerReference
serviceAccount string
deploymentConfig edgefsv1alpha1.ClusterDeploymentConfig
deploymentConfig edgefsv1beta1.ClusterDeploymentConfig
}
// New creates an instance of the Target manager
@@ -78,12 +78,12 @@ func New(
dataVolumeSize resource.Quantity,
annotations rookalpha.Annotations,
placement rookalpha.Placement,
hostNetworkSpec edgefsv1alpha1.NetworkSpec,
hostNetworkSpec edgefsv1beta1.NetworkSpec,
resources v1.ResourceRequirements,
resourceProfile string,
chunkCacheSize resource.Quantity,
ownerRef metav1.OwnerReference,
deploymentConfig edgefsv1alpha1.ClusterDeploymentConfig,
deploymentConfig edgefsv1beta1.ClusterDeploymentConfig,
) *Cluster {
if serviceAccount == "" {
@@ -112,7 +112,7 @@ func New(
}
// Start the target management
func (c *Cluster) Start(rookImage string, nodes []rookalpha.Node, dro edgefsv1alpha1.DevicesResurrectOptions) (err error) {
func (c *Cluster) Start(rookImage string, nodes []rookalpha.Node, dro edgefsv1beta1.DevicesResurrectOptions) (err error) {
logger.Infof("start running targets in namespace %s", c.Namespace)
logger.Infof("Target Image is %s", rookImage)
+14 -14
View File
@@ -21,7 +21,7 @@ import (
"strings"
"time"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/operator/discover"
"github.com/rook/rook/pkg/operator/edgefs/cluster/target"
@@ -40,8 +40,8 @@ const (
nodeTypeLabelFmt = "%s-nodetype"
)
func ParseDevicesResurrectMode(resurrectMode string) edgefsv1alpha1.DevicesResurrectOptions {
drm := edgefsv1alpha1.DevicesResurrectOptions{}
func ParseDevicesResurrectMode(resurrectMode string) edgefsv1beta1.DevicesResurrectOptions {
drm := edgefsv1beta1.DevicesResurrectOptions{}
if len(resurrectMode) == 0 {
return drm
}
@@ -82,14 +82,14 @@ func (c *cluster) getClusterNodes() ([]rookalpha.Node, error) {
c.Spec.Storage.Nodes = append(c.Spec.Storage.Nodes, storageNode)
}
}
validNodes := k8sutil.GetValidNodes(c.Spec.Storage.Nodes, c.context.Clientset, edgefsv1alpha1.GetTargetPlacement(c.Spec.Placement))
validNodes := k8sutil.GetValidNodes(c.Spec.Storage.Nodes, c.context.Clientset, edgefsv1beta1.GetTargetPlacement(c.Spec.Placement))
c.Spec.Storage.Nodes = validNodes
return validNodes, nil
}
func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool) (edgefsv1alpha1.ClusterDeploymentConfig, error) {
func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool) (edgefsv1beta1.ClusterDeploymentConfig, error) {
deploymentConfig := edgefsv1alpha1.ClusterDeploymentConfig{DevConfig: make(map[string]edgefsv1alpha1.DevicesConfig, 0)}
deploymentConfig := edgefsv1beta1.ClusterDeploymentConfig{DevConfig: make(map[string]edgefsv1beta1.DevicesConfig, 0)}
//Fill deploymentConfig devices struct
for _, node := range nodes {
n := c.resolveNode(node.Name)
@@ -99,9 +99,9 @@ func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool)
return deploymentConfig, fmt.Errorf("node %s did not resolve to start target", node.Name)
}
devicesConfig := edgefsv1alpha1.DevicesConfig{}
devicesConfig.Rtrd.Devices = make([]edgefsv1alpha1.RTDevice, 0)
devicesConfig.Rtlfs.Devices = make([]edgefsv1alpha1.RtlfsDevice, 0)
devicesConfig := edgefsv1beta1.DevicesConfig{}
devicesConfig.Rtrd.Devices = make([]edgefsv1beta1.RTDevice, 0)
devicesConfig.Rtlfs.Devices = make([]edgefsv1beta1.RtlfsDevice, 0)
// Apply Node's zone value
devicesConfig.Zone = storeConfig.Zone
@@ -139,7 +139,7 @@ func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool)
rtDevices, err := target.GetRTDevices(availDisks, &storeConfig)
if err != nil {
logger.Warningf("Can't get rtDevices for node %s due %v", n.Name, err)
rtDevices = make([]edgefsv1alpha1.RTDevice, 0)
rtDevices = make([]edgefsv1beta1.RTDevice, 0)
}
devicesConfig.Rtrd.Devices = rtDevices
@@ -156,7 +156,7 @@ func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool)
deploymentConfig.Directories = target.GetRtlfsDevices(c.Spec.Storage.Directories, &clusterStorageConfig)
if len(c.Spec.Storage.Directories) > 0 && (len(c.Spec.DataDirHostPath) > 0 || c.Spec.DataVolumeSize.Value() != 0) {
deploymentConfig.DeploymentType = edgefsv1alpha1.DeploymentRtlfs
deploymentConfig.DeploymentType = edgefsv1beta1.DeploymentRtlfs
deploymentConfig.TransportKey = "rtlfs"
// Check directories devices count on all nodes
@@ -185,11 +185,11 @@ func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool)
return deploymentConfig, fmt.Errorf("Disk devices should be more then 3 on all nodes summary")
}
deploymentConfig.DeploymentType = edgefsv1alpha1.DeploymentRtrd
deploymentConfig.DeploymentType = edgefsv1beta1.DeploymentRtrd
deploymentConfig.TransportKey = "rtrd"
deploymentConfig.NeedPrivileges = true
} else if len(c.Spec.DataDirHostPath) == 0 || c.Spec.DataVolumeSize.Value() == 0 {
deploymentConfig.DeploymentType = edgefsv1alpha1.DeploymentAutoRtlfs
deploymentConfig.DeploymentType = edgefsv1beta1.DeploymentAutoRtlfs
deploymentConfig.TransportKey = "rtlfs"
} else {
return deploymentConfig, fmt.Errorf("Unknown deployment type! Cluster spec:\n %+v", c)
@@ -204,7 +204,7 @@ func (c *cluster) createDeploymentConfig(nodes []rookalpha.Node, resurrect bool)
}
// Validates all nodes in cluster that each one has valid zone number or all of them has zone == 0
func ValidateZones(deploymentConfig *edgefsv1alpha1.ClusterDeploymentConfig) error {
func ValidateZones(deploymentConfig *edgefsv1beta1.ClusterDeploymentConfig) error {
validZonesFound := 0
for _, nodeDevConfig := range deploymentConfig.DevConfig {
if nodeDevConfig.Zone > 0 {
+11 -11
View File
@@ -1,5 +1,5 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-iscsi"
var ISCSIResource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.ISCSI{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.ISCSI{}).Name(),
}
// ISCSIController represents a controller object for iscsi custom resources
@@ -98,8 +98,8 @@ func (c *ISCSIController) StartWatch(namespace string, stopCh chan struct{}) err
}
logger.Infof("start watching iscsi resources in namespace %s", namespace)
watcher := opkit.NewWatcher(ISCSIResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.ISCSI{}, stopCh)
watcher := opkit.NewWatcher(ISCSIResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.ISCSI{}, stopCh)
return nil
}
@@ -151,7 +151,7 @@ func (c *ISCSIController) onDelete(obj interface{}) {
}
}
func (c *ISCSIController) serviceOwners(service *edgefsv1alpha1.ISCSI) []metav1.OwnerReference {
func (c *ISCSIController) serviceOwners(service *edgefsv1beta1.ISCSI) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the ISCSI resources.
// If the ISCSI crd is deleted, the operator will explicitly remove the ISCSI resources.
// If the ISCSI crd still exists when the cluster crd is deleted, this will make sure the ISCSI
@@ -159,13 +159,13 @@ func (c *ISCSIController) serviceOwners(service *edgefsv1alpha1.ISCSI) []metav1.
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.ISCSISpec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.ISCSISpec) bool {
return false
}
func getISCSIObject(obj interface{}) (iscsi *edgefsv1alpha1.ISCSI, err error) {
func getISCSIObject(obj interface{}) (iscsi *edgefsv1beta1.ISCSI, err error) {
var ok bool
iscsi, ok = obj.(*edgefsv1alpha1.ISCSI)
iscsi, ok = obj.(*edgefsv1beta1.ISCSI)
if ok {
// the iscsi object is of the latest type, simply return it
return iscsi.DeepCopy(), nil
+14 -14
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"encoding/json"
"fmt"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -44,16 +44,16 @@ const (
)
// Start the ISCSI manager
func (c *ISCSIController) CreateService(s edgefsv1alpha1.ISCSI, ownerRefs []metav1.OwnerReference) error {
func (c *ISCSIController) CreateService(s edgefsv1beta1.ISCSI, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *ISCSIController) UpdateService(s edgefsv1alpha1.ISCSI, ownerRefs []metav1.OwnerReference) error {
func (c *ISCSIController) UpdateService(s edgefsv1beta1.ISCSI, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the iscsi instance
func (c *ISCSIController) CreateOrUpdate(s edgefsv1alpha1.ISCSI, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *ISCSIController) CreateOrUpdate(s edgefsv1beta1.ISCSI, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Infof("starting update=%v service=%s", update, s.Name)
logger.Infof("ISCSI Base image is %s", c.rookImage)
@@ -101,7 +101,7 @@ func (c *ISCSIController) CreateOrUpdate(s edgefsv1alpha1.ISCSI, update bool, ow
return nil
}
func (c *ISCSIController) makeISCSIService(name, svcname, namespace string, iscsiSpec edgefsv1alpha1.ISCSISpec) *v1.Service {
func (c *ISCSIController) makeISCSIService(name, svcname, namespace string, iscsiSpec edgefsv1beta1.ISCSISpec) *v1.Service {
labels := getLabels(name, svcname, namespace)
svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
@@ -123,7 +123,7 @@ func (c *ISCSIController) makeISCSIService(name, svcname, namespace string, iscs
return svc
}
func (c *ISCSIController) makeDeployment(svcname, namespace, rookImage string, iscsiSpec edgefsv1alpha1.ISCSISpec) *apps.Deployment {
func (c *ISCSIController) makeDeployment(svcname, namespace, rookImage string, iscsiSpec edgefsv1beta1.ISCSISpec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -193,7 +193,7 @@ func (c *ISCSIController) makeDeployment(svcname, namespace, rookImage string, i
return d
}
func (c *ISCSIController) iscsiContainer(svcname, name, containerImage string, iscsiSpec edgefsv1alpha1.ISCSISpec) v1.Container {
func (c *ISCSIController) iscsiContainer(svcname, name, containerImage string, iscsiSpec edgefsv1beta1.ISCSISpec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -266,7 +266,7 @@ func (c *ISCSIController) iscsiContainer(svcname, name, containerImage string, i
VolumeMounts: volumeMounts,
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("iscsi",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("iscsi",
c.resourceProfile == "embedded" || iscsiSpec.ResourceProfile == "embedded",
iscsiSpec.ChunkCacheSize, iscsiSpec.Resources)...)
@@ -274,7 +274,7 @@ func (c *ISCSIController) iscsiContainer(svcname, name, containerImage string, i
}
// Delete ISCSI service and possibly some artifacts.
func (c *ISCSIController) DeleteService(s edgefsv1alpha1.ISCSI) error {
func (c *ISCSIController) DeleteService(s edgefsv1beta1.ISCSI) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -317,7 +317,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the ISCSI arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.ISCSI) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.ISCSI) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -333,7 +333,7 @@ func instanceName(svcname string) string {
}
// Check if the ISCSI service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.ISCSI) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.ISCSI) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found
@@ -347,7 +347,7 @@ func serviceExists(context *clusterd.Context, s edgefsv1alpha1.ISCSI) (bool, err
return false, nil
}
func getTargetParamsJSON(params edgefsv1alpha1.TargetParametersSpec) string {
func getTargetParamsJSON(params edgefsv1beta1.TargetParametersSpec) string {
result := make(map[string]uint)
if params.MaxRecvDataSegmentLength > 0 {
+11 -11
View File
@@ -1,5 +1,5 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-isgw")
var ISGWResource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.ISGW{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.ISGW{}).Name(),
}
// ISGWController represents a controller object for isgw custom resources
@@ -98,8 +98,8 @@ func (c *ISGWController) StartWatch(namespace string, stopCh chan struct{}) erro
}
logger.Infof("start watching isgw resources in namespace %s", namespace)
watcher := opkit.NewWatcher(ISGWResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.ISGW{}, stopCh)
watcher := opkit.NewWatcher(ISGWResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.ISGW{}, stopCh)
return nil
}
@@ -151,7 +151,7 @@ func (c *ISGWController) onDelete(obj interface{}) {
}
}
func (c *ISGWController) serviceOwners(service *edgefsv1alpha1.ISGW) []metav1.OwnerReference {
func (c *ISGWController) serviceOwners(service *edgefsv1beta1.ISGW) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the ISGW resources.
// If the ISGW crd is deleted, the operator will explicitly remove the ISGW resources.
// If the ISGW crd still exists when the cluster crd is deleted, this will make sure the ISGW
@@ -159,13 +159,13 @@ func (c *ISGWController) serviceOwners(service *edgefsv1alpha1.ISGW) []metav1.Ow
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.ISGWSpec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.ISGWSpec) bool {
return false
}
func getISGWObject(obj interface{}) (isgw *edgefsv1alpha1.ISGW, err error) {
func getISGWObject(obj interface{}) (isgw *edgefsv1beta1.ISGW, err error) {
var ok bool
isgw, ok = obj.(*edgefsv1alpha1.ISGW)
isgw, ok = obj.(*edgefsv1beta1.ISGW)
if ok {
// the isgw object is of the latest type, simply return it
return isgw.DeepCopy(), nil
+14 -14
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,7 +22,7 @@ import (
"net"
"strconv"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -47,16 +47,16 @@ const (
)
// Start the ISGW manager
func (c *ISGWController) CreateService(s edgefsv1alpha1.ISGW, ownerRefs []metav1.OwnerReference) error {
func (c *ISGWController) CreateService(s edgefsv1beta1.ISGW, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *ISGWController) UpdateService(s edgefsv1alpha1.ISGW, ownerRefs []metav1.OwnerReference) error {
func (c *ISGWController) UpdateService(s edgefsv1beta1.ISGW, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the isgw instance
func (c *ISGWController) CreateOrUpdate(s edgefsv1alpha1.ISGW, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *ISGWController) CreateOrUpdate(s edgefsv1beta1.ISGW, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Infof("starting update=%v service=%s", update, s.Name)
logger.Infof("ISGW Base image is %s", c.rookImage)
@@ -112,7 +112,7 @@ func (c *ISGWController) CreateOrUpdate(s edgefsv1alpha1.ISGW, update bool, owne
return nil
}
func getDirection(isgwSpec edgefsv1alpha1.ISGWSpec) int {
func getDirection(isgwSpec edgefsv1beta1.ISGWSpec) int {
direction := 0
if isgwSpec.Direction == "send" {
direction = 1
@@ -124,7 +124,7 @@ func getDirection(isgwSpec edgefsv1alpha1.ISGWSpec) int {
return direction
}
func (c *ISGWController) makeISGWService(name, svcname, namespace string, isgwSpec edgefsv1alpha1.ISGWSpec) *v1.Service {
func (c *ISGWController) makeISGWService(name, svcname, namespace string, isgwSpec edgefsv1beta1.ISGWSpec) *v1.Service {
direction := getDirection(isgwSpec)
labels := getLabels(name, svcname, namespace)
svc := &v1.Service{
@@ -165,7 +165,7 @@ func (c *ISGWController) makeISGWService(name, svcname, namespace string, isgwSp
return svc
}
func (c *ISGWController) makeDeployment(svcname, namespace, rookImage string, isgwSpec edgefsv1alpha1.ISGWSpec) *apps.Deployment {
func (c *ISGWController) makeDeployment(svcname, namespace, rookImage string, isgwSpec edgefsv1beta1.ISGWSpec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -232,7 +232,7 @@ func (c *ISGWController) makeDeployment(svcname, namespace, rookImage string, is
return d
}
func (c *ISGWController) isgwContainer(svcname, name, containerImage string, isgwSpec edgefsv1alpha1.ISGWSpec) v1.Container {
func (c *ISGWController) isgwContainer(svcname, name, containerImage string, isgwSpec edgefsv1beta1.ISGWSpec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -348,7 +348,7 @@ func (c *ISGWController) isgwContainer(svcname, name, containerImage string, isg
cont.Ports = append(cont.Ports, v1.ContainerPort{Name: "dfport", ContainerPort: int32(isgwSpec.DynamicFetchPort), Protocol: v1.ProtocolTCP})
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("isgw",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("isgw",
c.resourceProfile == "embedded" || isgwSpec.ResourceProfile == "embedded",
isgwSpec.ChunkCacheSize, isgwSpec.Resources)...)
@@ -356,7 +356,7 @@ func (c *ISGWController) isgwContainer(svcname, name, containerImage string, isg
}
// Delete ISGW service and possibly some artifacts.
func (c *ISGWController) DeleteService(s edgefsv1alpha1.ISGW) error {
func (c *ISGWController) DeleteService(s edgefsv1beta1.ISGW) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -399,7 +399,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the ISGW arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.ISGW) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.ISGW) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -415,7 +415,7 @@ func instanceName(svcname string) string {
}
// Check if the ISGW service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.ISGW) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.ISGW) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found
+12 -12
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-nfs")
var NFSResource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.NFS{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.NFS{}).Name(),
}
// NFSController represents a controller object for nfs custom resources
@@ -98,8 +98,8 @@ func (c *NFSController) StartWatch(namespace string, stopCh chan struct{}) error
}
logger.Infof("start watching nfs resources in namespace %s", namespace)
watcher := opkit.NewWatcher(NFSResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.NFS{}, stopCh)
watcher := opkit.NewWatcher(NFSResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.NFS{}, stopCh)
return nil
}
@@ -151,7 +151,7 @@ func (c *NFSController) onDelete(obj interface{}) {
}
}
func (c *NFSController) serviceOwners(service *edgefsv1alpha1.NFS) []metav1.OwnerReference {
func (c *NFSController) serviceOwners(service *edgefsv1beta1.NFS) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the NFS resources.
// If the NFS crd is deleted, the operator will explicitly remove the NFS resources.
// If the NFS crd still exists when the cluster crd is deleted, this will make sure the NFS
@@ -159,13 +159,13 @@ func (c *NFSController) serviceOwners(service *edgefsv1alpha1.NFS) []metav1.Owne
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.NFSSpec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.NFSSpec) bool {
return false
}
func getNFSObject(obj interface{}) (nfs *edgefsv1alpha1.NFS, err error) {
func getNFSObject(obj interface{}) (nfs *edgefsv1beta1.NFS, err error) {
var ok bool
nfs, ok = obj.(*edgefsv1alpha1.NFS)
nfs, ok = obj.(*edgefsv1beta1.NFS)
if ok {
// the nfs object is of the latest type, simply return it
return nfs.DeepCopy(), nil
+12 -12
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,7 +20,7 @@ package nfs
import (
"fmt"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -40,16 +40,16 @@ const (
)
// Start the rgw manager
func (c *NFSController) CreateService(s edgefsv1alpha1.NFS, ownerRefs []metav1.OwnerReference) error {
func (c *NFSController) CreateService(s edgefsv1beta1.NFS, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *NFSController) UpdateService(s edgefsv1alpha1.NFS, ownerRefs []metav1.OwnerReference) error {
func (c *NFSController) UpdateService(s edgefsv1beta1.NFS, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the nfs instance
func (c *NFSController) CreateOrUpdate(s edgefsv1alpha1.NFS, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *NFSController) CreateOrUpdate(s edgefsv1beta1.NFS, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Infof("starting update=%v service=%s", update, s.Name)
logger.Infof("NFS Base image is %s", c.rookImage)
@@ -126,7 +126,7 @@ func (c *NFSController) makeNFSService(name, svcname, namespace string) *v1.Serv
return svc
}
func (c *NFSController) makeDeployment(svcname, namespace, rookImage string, nfsSpec edgefsv1alpha1.NFSSpec) *apps.Deployment {
func (c *NFSController) makeDeployment(svcname, namespace, rookImage string, nfsSpec edgefsv1beta1.NFSSpec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -194,7 +194,7 @@ func (c *NFSController) makeDeployment(svcname, namespace, rookImage string, nfs
return d
}
func (c *NFSController) nfsContainer(svcname, name, containerImage string, nfsSpec edgefsv1alpha1.NFSSpec) v1.Container {
func (c *NFSController) nfsContainer(svcname, name, containerImage string, nfsSpec edgefsv1beta1.NFSSpec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -267,7 +267,7 @@ func (c *NFSController) nfsContainer(svcname, name, containerImage string, nfsSp
})
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("nfs",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("nfs",
c.resourceProfile == "embedded" || nfsSpec.ResourceProfile == "embedded",
nfsSpec.ChunkCacheSize, nfsSpec.Resources)...)
@@ -275,7 +275,7 @@ func (c *NFSController) nfsContainer(svcname, name, containerImage string, nfsSp
}
// Delete NFS service and possibly some artifacts.
func (c *NFSController) DeleteService(s edgefsv1alpha1.NFS) error {
func (c *NFSController) DeleteService(s edgefsv1beta1.NFS) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -318,7 +318,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the NFS arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.NFS) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.NFS) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -334,7 +334,7 @@ func instanceName(svcname string) string {
}
// Check if the NFS service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.NFS) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.NFS) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found
+11 -11
View File
@@ -1,5 +1,5 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-s3")
var S3Resource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.S3{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.S3{}).Name(),
}
// S3Controller represents a controller object for s3 custom resources
@@ -98,8 +98,8 @@ func (c *S3Controller) StartWatch(namespace string, stopCh chan struct{}) error
}
logger.Infof("start watching s3 resources in namespace %s", namespace)
watcher := opkit.NewWatcher(S3Resource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.S3{}, stopCh)
watcher := opkit.NewWatcher(S3Resource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.S3{}, stopCh)
return nil
}
@@ -151,7 +151,7 @@ func (c *S3Controller) onDelete(obj interface{}) {
}
}
func (c *S3Controller) serviceOwners(service *edgefsv1alpha1.S3) []metav1.OwnerReference {
func (c *S3Controller) serviceOwners(service *edgefsv1beta1.S3) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the S3 resources.
// If the S3 crd is deleted, the operator will explicitly remove the S3 resources.
// If the S3 crd still exists when the cluster crd is deleted, this will make sure the S3
@@ -159,13 +159,13 @@ func (c *S3Controller) serviceOwners(service *edgefsv1alpha1.S3) []metav1.OwnerR
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.S3Spec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.S3Spec) bool {
return false
}
func getS3Object(obj interface{}) (s3 *edgefsv1alpha1.S3, err error) {
func getS3Object(obj interface{}) (s3 *edgefsv1beta1.S3, err error) {
var ok bool
s3, ok = obj.(*edgefsv1alpha1.S3)
s3, ok = obj.(*edgefsv1beta1.S3)
if ok {
// the s3 object is of the latest type, simply return it
return s3.DeepCopy(), nil
+13 -13
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"fmt"
"strings"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -46,16 +46,16 @@ const (
)
// Start the S3 manager
func (c *S3Controller) CreateService(s edgefsv1alpha1.S3, ownerRefs []metav1.OwnerReference) error {
func (c *S3Controller) CreateService(s edgefsv1beta1.S3, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *S3Controller) UpdateService(s edgefsv1alpha1.S3, ownerRefs []metav1.OwnerReference) error {
func (c *S3Controller) UpdateService(s edgefsv1beta1.S3, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the s3 instance
func (c *S3Controller) CreateOrUpdate(s edgefsv1alpha1.S3, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *S3Controller) CreateOrUpdate(s edgefsv1beta1.S3, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Debugf("starting update=%v service=%s", update, s.Name)
// validate S3 service settings
@@ -132,7 +132,7 @@ func (c *S3Controller) CreateOrUpdate(s edgefsv1alpha1.S3, update bool, ownerRef
return nil
}
func (c *S3Controller) makeS3Service(name, svcname, namespace string, s3Spec edgefsv1alpha1.S3Spec) *v1.Service {
func (c *S3Controller) makeS3Service(name, svcname, namespace string, s3Spec edgefsv1beta1.S3Spec) *v1.Service {
labels := getLabels(name, svcname, namespace)
svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
@@ -155,7 +155,7 @@ func (c *S3Controller) makeS3Service(name, svcname, namespace string, s3Spec edg
return svc
}
func (c *S3Controller) makeDeployment(svcname, namespace, rookImage, imageArgs string, s3Spec edgefsv1alpha1.S3Spec) *apps.Deployment {
func (c *S3Controller) makeDeployment(svcname, namespace, rookImage, imageArgs string, s3Spec edgefsv1beta1.S3Spec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -245,7 +245,7 @@ func (c *S3Controller) makeDeployment(svcname, namespace, rookImage, imageArgs s
return d
}
func (c *S3Controller) s3Container(svcname, name, containerImage, args string, s3Spec edgefsv1alpha1.S3Spec) v1.Container {
func (c *S3Controller) s3Container(svcname, name, containerImage, args string, s3Spec edgefsv1beta1.S3Spec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -319,7 +319,7 @@ func (c *S3Controller) s3Container(svcname, name, containerImage, args string, s
VolumeMounts: volumeMounts,
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("s3",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("s3",
c.resourceProfile == "embedded" || s3Spec.ResourceProfile == "embedded",
s3Spec.ChunkCacheSize, s3Spec.Resources)...)
@@ -327,7 +327,7 @@ func (c *S3Controller) s3Container(svcname, name, containerImage, args string, s
}
// Delete S3 service and possibly some artifacts.
func (c *S3Controller) DeleteService(s edgefsv1alpha1.S3) error {
func (c *S3Controller) DeleteService(s edgefsv1beta1.S3) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -370,7 +370,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the S3 arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.S3) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.S3) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -386,7 +386,7 @@ func instanceName(svcname string) string {
}
// Check if the S3 service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.S3) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.S3) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found
+11 -11
View File
@@ -1,5 +1,5 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-s3x")
var S3XResource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.S3X{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.S3X{}).Name(),
}
// S3XController represents a controller object for s3x custom resources
@@ -98,8 +98,8 @@ func (c *S3XController) StartWatch(namespace string, stopCh chan struct{}) error
}
logger.Infof("start watching s3x resources in namespace %s", namespace)
watcher := opkit.NewWatcher(S3XResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.S3X{}, stopCh)
watcher := opkit.NewWatcher(S3XResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.S3X{}, stopCh)
return nil
}
@@ -151,7 +151,7 @@ func (c *S3XController) onDelete(obj interface{}) {
}
}
func (c *S3XController) serviceOwners(service *edgefsv1alpha1.S3X) []metav1.OwnerReference {
func (c *S3XController) serviceOwners(service *edgefsv1beta1.S3X) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the S3X resources.
// If the S3X crd is deleted, the operator will explicitly remove the S3X resources.
// If the S3X crd still exists when the cluster crd is deleted, this will make sure the S3X
@@ -159,13 +159,13 @@ func (c *S3XController) serviceOwners(service *edgefsv1alpha1.S3X) []metav1.Owne
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.S3XSpec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.S3XSpec) bool {
return false
}
func getS3XObject(obj interface{}) (s3x *edgefsv1alpha1.S3X, err error) {
func getS3XObject(obj interface{}) (s3x *edgefsv1beta1.S3X, err error) {
var ok bool
s3x, ok = obj.(*edgefsv1alpha1.S3X)
s3x, ok = obj.(*edgefsv1beta1.S3X)
if ok {
// the s3x object is of the latest type, simply return it
return s3x.DeepCopy(), nil
+13 -13
View File
@@ -1,11 +1,11 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,7 +20,7 @@ package s3x
import (
"fmt"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -44,16 +44,16 @@ const (
)
// Start the rgw manager
func (c *S3XController) CreateService(s edgefsv1alpha1.S3X, ownerRefs []metav1.OwnerReference) error {
func (c *S3XController) CreateService(s edgefsv1beta1.S3X, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *S3XController) UpdateService(s edgefsv1alpha1.S3X, ownerRefs []metav1.OwnerReference) error {
func (c *S3XController) UpdateService(s edgefsv1beta1.S3X, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the s3x instance
func (c *S3XController) CreateOrUpdate(s edgefsv1alpha1.S3X, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *S3XController) CreateOrUpdate(s edgefsv1beta1.S3X, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Infof("starting update=%v service=%s", update, s.Name)
logger.Infof("S3X Base image is %s", c.rookImage)
@@ -106,7 +106,7 @@ func (c *S3XController) CreateOrUpdate(s edgefsv1alpha1.S3X, update bool, ownerR
return nil
}
func (c *S3XController) makeS3XService(name, svcname, namespace string, s3xSpec edgefsv1alpha1.S3XSpec) *v1.Service {
func (c *S3XController) makeS3XService(name, svcname, namespace string, s3xSpec edgefsv1beta1.S3XSpec) *v1.Service {
labels := getLabels(name, svcname, namespace)
svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
@@ -129,7 +129,7 @@ func (c *S3XController) makeS3XService(name, svcname, namespace string, s3xSpec
return svc
}
func (c *S3XController) makeDeployment(svcname, namespace, rookImage string, s3xSpec edgefsv1alpha1.S3XSpec) *apps.Deployment {
func (c *S3XController) makeDeployment(svcname, namespace, rookImage string, s3xSpec edgefsv1beta1.S3XSpec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -219,7 +219,7 @@ func (c *S3XController) makeDeployment(svcname, namespace, rookImage string, s3x
return d
}
func (c *S3XController) s3xContainer(svcname, name, containerImage string, s3xSpec edgefsv1alpha1.S3XSpec) v1.Container {
func (c *S3XController) s3xContainer(svcname, name, containerImage string, s3xSpec edgefsv1beta1.S3XSpec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -289,7 +289,7 @@ func (c *S3XController) s3xContainer(svcname, name, containerImage string, s3xSp
VolumeMounts: volumeMounts,
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("s3x",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("s3x",
c.resourceProfile == "embedded" || s3xSpec.ResourceProfile == "embedded",
s3xSpec.ChunkCacheSize, s3xSpec.Resources)...)
@@ -297,7 +297,7 @@ func (c *S3XController) s3xContainer(svcname, name, containerImage string, s3xSp
}
// Delete S3X service and possibly some artifacts.
func (c *S3XController) DeleteService(s edgefsv1alpha1.S3X) error {
func (c *S3XController) DeleteService(s edgefsv1beta1.S3X) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -340,7 +340,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the S3X arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.S3X) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.S3X) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -356,7 +356,7 @@ func instanceName(svcname string) string {
}
// Check if the S3X service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.S3X) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.S3X) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found
+11 -11
View File
@@ -1,5 +1,5 @@
/*
Copyright 2016 The Rook Authors. All rights reserved.
Copyright 2019 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import (
"github.com/coreos/pkg/capnslog"
opkit "github.com/rook/operator-kit"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
rookalpha "github.com/rook/rook/pkg/apis/rook.io/v1alpha2"
"github.com/rook/rook/pkg/clusterd"
"k8s.io/api/core/v1"
@@ -44,10 +44,10 @@ var logger = capnslog.NewPackageLogger("github.com/rook/rook", "edgefs-op-swift"
var SWIFTResource = opkit.CustomResource{
Name: customResourceName,
Plural: customResourceNamePlural,
Group: edgefsv1alpha1.CustomResourceGroup,
Version: edgefsv1alpha1.Version,
Group: edgefsv1beta1.CustomResourceGroup,
Version: edgefsv1beta1.Version,
Scope: apiextensionsv1beta1.NamespaceScoped,
Kind: reflect.TypeOf(edgefsv1alpha1.SWIFT{}).Name(),
Kind: reflect.TypeOf(edgefsv1beta1.SWIFT{}).Name(),
}
// SWIFTController represents a controller object for swift custom resources
@@ -97,8 +97,8 @@ func (c *SWIFTController) StartWatch(namespace string, stopCh chan struct{}) err
}
logger.Infof("start watching swift resources in namespace %s", namespace)
watcher := opkit.NewWatcher(SWIFTResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1alpha1().RESTClient())
go watcher.Watch(&edgefsv1alpha1.SWIFT{}, stopCh)
watcher := opkit.NewWatcher(SWIFTResource, namespace, resourceHandlerFuncs, c.context.RookClientset.EdgefsV1beta1().RESTClient())
go watcher.Watch(&edgefsv1beta1.SWIFT{}, stopCh)
return nil
}
@@ -150,7 +150,7 @@ func (c *SWIFTController) onDelete(obj interface{}) {
}
}
func (c *SWIFTController) serviceOwners(service *edgefsv1alpha1.SWIFT) []metav1.OwnerReference {
func (c *SWIFTController) serviceOwners(service *edgefsv1beta1.SWIFT) []metav1.OwnerReference {
// Only set the cluster crd as the owner of the SWIFT resources.
// If the SWIFT crd is deleted, the operator will explicitly remove the SWIFT resources.
// If the SWIFT crd still exists when the cluster crd is deleted, this will make sure the SWIFT
@@ -158,13 +158,13 @@ func (c *SWIFTController) serviceOwners(service *edgefsv1alpha1.SWIFT) []metav1.
return []metav1.OwnerReference{c.ownerRef}
}
func serviceChanged(oldService, newService edgefsv1alpha1.SWIFTSpec) bool {
func serviceChanged(oldService, newService edgefsv1beta1.SWIFTSpec) bool {
return false
}
func getSWIFTObject(obj interface{}) (swift *edgefsv1alpha1.SWIFT, err error) {
func getSWIFTObject(obj interface{}) (swift *edgefsv1beta1.SWIFT, err error) {
var ok bool
swift, ok = obj.(*edgefsv1alpha1.SWIFT)
swift, ok = obj.(*edgefsv1beta1.SWIFT)
if ok {
// the swift object is of the latest type, simply return it
return swift.DeepCopy(), nil
+12 -12
View File
@@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@ import (
"fmt"
"strings"
edgefsv1alpha1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1alpha1"
edgefsv1beta1 "github.com/rook/rook/pkg/apis/edgefs.rook.io/v1beta1"
"github.com/rook/rook/pkg/clusterd"
"github.com/rook/rook/pkg/operator/k8sutil"
apps "k8s.io/api/apps/v1"
@@ -46,16 +46,16 @@ const (
)
// Start the SWIFT manager
func (c *SWIFTController) CreateService(s edgefsv1alpha1.SWIFT, ownerRefs []metav1.OwnerReference) error {
func (c *SWIFTController) CreateService(s edgefsv1beta1.SWIFT, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, false, ownerRefs)
}
func (c *SWIFTController) UpdateService(s edgefsv1alpha1.SWIFT, ownerRefs []metav1.OwnerReference) error {
func (c *SWIFTController) UpdateService(s edgefsv1beta1.SWIFT, ownerRefs []metav1.OwnerReference) error {
return c.CreateOrUpdate(s, true, ownerRefs)
}
// Start the swift instance
func (c *SWIFTController) CreateOrUpdate(s edgefsv1alpha1.SWIFT, update bool, ownerRefs []metav1.OwnerReference) error {
func (c *SWIFTController) CreateOrUpdate(s edgefsv1beta1.SWIFT, update bool, ownerRefs []metav1.OwnerReference) error {
logger.Debugf("starting update=%v service=%s", update, s.Name)
// validate SWIFT service settings
@@ -120,7 +120,7 @@ func (c *SWIFTController) CreateOrUpdate(s edgefsv1alpha1.SWIFT, update bool, ow
return nil
}
func (c *SWIFTController) makeSWIFTService(name, svcname, namespace string, swiftSpec edgefsv1alpha1.SWIFTSpec) *v1.Service {
func (c *SWIFTController) makeSWIFTService(name, svcname, namespace string, swiftSpec edgefsv1beta1.SWIFTSpec) *v1.Service {
labels := getLabels(name, svcname, namespace)
svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
@@ -143,7 +143,7 @@ func (c *SWIFTController) makeSWIFTService(name, svcname, namespace string, swif
return svc
}
func (c *SWIFTController) makeDeployment(svcname, namespace, rookImage, imageArgs string, swiftSpec edgefsv1alpha1.SWIFTSpec) *apps.Deployment {
func (c *SWIFTController) makeDeployment(svcname, namespace, rookImage, imageArgs string, swiftSpec edgefsv1beta1.SWIFTSpec) *apps.Deployment {
name := instanceName(svcname)
volumes := []v1.Volume{}
@@ -231,7 +231,7 @@ func (c *SWIFTController) makeDeployment(svcname, namespace, rookImage, imageArg
return d
}
func (c *SWIFTController) swiftContainer(svcname, name, containerImage, args string, swiftSpec edgefsv1alpha1.SWIFTSpec) v1.Container {
func (c *SWIFTController) swiftContainer(svcname, name, containerImage, args string, swiftSpec edgefsv1beta1.SWIFTSpec) v1.Container {
runAsUser := int64(0)
readOnlyRootFilesystem := false
@@ -305,7 +305,7 @@ func (c *SWIFTController) swiftContainer(svcname, name, containerImage, args str
VolumeMounts: volumeMounts,
}
cont.Env = append(cont.Env, edgefsv1alpha1.GetInitiatorEnvArr("swift",
cont.Env = append(cont.Env, edgefsv1beta1.GetInitiatorEnvArr("swift",
c.resourceProfile == "embedded" || swiftSpec.ResourceProfile == "embedded",
swiftSpec.ChunkCacheSize, swiftSpec.Resources)...)
@@ -313,7 +313,7 @@ func (c *SWIFTController) swiftContainer(svcname, name, containerImage, args str
}
// Delete SWIFT service and possibly some artifacts.
func (c *SWIFTController) DeleteService(s edgefsv1alpha1.SWIFT) error {
func (c *SWIFTController) DeleteService(s edgefsv1beta1.SWIFT) error {
// check if service exists
exists, err := serviceExists(c.context, s)
if err != nil {
@@ -356,7 +356,7 @@ func getLabels(name, svcname, namespace string) map[string]string {
}
// Validate the SWIFT arguments
func validateService(context *clusterd.Context, s edgefsv1alpha1.SWIFT) error {
func validateService(context *clusterd.Context, s edgefsv1beta1.SWIFT) error {
if s.Name == "" {
return fmt.Errorf("missing name")
}
@@ -372,7 +372,7 @@ func instanceName(svcname string) string {
}
// Check if the SWIFT service exists
func serviceExists(context *clusterd.Context, s edgefsv1alpha1.SWIFT) (bool, error) {
func serviceExists(context *clusterd.Context, s edgefsv1beta1.SWIFT) (bool, error) {
_, err := context.Clientset.AppsV1().Deployments(s.Namespace).Get(instanceName(s.Name), metav1.GetOptions{})
if err == nil {
// the deployment was found