|
23 | 23 | package operator |
24 | 24 |
|
25 | 25 | import ( |
26 | | - "fmt" |
27 | | - |
28 | | - "github.com/pkg/errors" |
29 | | - |
30 | 26 | deplapi "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1alpha" |
31 | 27 | lsapi "github.com/arangodb/kube-arangodb/pkg/apis/storage/v1alpha" |
32 | 28 | "github.com/arangodb/kube-arangodb/pkg/util/crd" |
33 | 29 | ) |
34 | 30 |
|
35 | | -// initResourceIfNeeded initializes the custom resource definition when |
36 | | -// instructed to do so by the config. |
37 | | -func (o *Operator) initResourceIfNeeded(enableDeployment, enableStorage bool) error { |
38 | | - if o.Config.CreateCRD { |
39 | | - if err := o.initCRD(enableDeployment, enableStorage); err != nil { |
40 | | - return maskAny(fmt.Errorf("Failed to initialize Custom Resource Definition: %v", err)) |
41 | | - } |
42 | | - } |
43 | | - return nil |
44 | | -} |
45 | | - |
46 | | -// initCRD creates the CustomResourceDefinition and waits for it to be ready. |
47 | | -func (o *Operator) initCRD(enableDeployment, enableStorage bool) error { |
| 31 | +// waitForCRD waits for the CustomResourceDefinition (created externally) |
| 32 | +// to be ready. |
| 33 | +func (o *Operator) waitForCRD(enableDeployment, enableStorage bool) error { |
48 | 34 | log := o.Dependencies.Log |
49 | 35 |
|
50 | 36 | if enableDeployment { |
51 | | - log.Debug().Msg("Creating ArangoDeployment CRD") |
52 | | - if err := crd.CreateCRD(o.KubeExtCli, deplapi.SchemeGroupVersion, deplapi.ArangoDeploymentCRDName, deplapi.ArangoDeploymentResourceKind, deplapi.ArangoDeploymentResourcePlural, deplapi.ArangoDeploymentShortNames...); err != nil { |
53 | | - return maskAny(errors.Wrapf(err, "failed to create CRD: %v", err)) |
54 | | - } |
55 | 37 | log.Debug().Msg("Waiting for ArangoDeployment CRD to be ready") |
56 | 38 | if err := crd.WaitCRDReady(o.KubeExtCli, deplapi.ArangoDeploymentCRDName); err != nil { |
57 | 39 | return maskAny(err) |
58 | 40 | } |
59 | 41 | } |
60 | 42 |
|
61 | 43 | if enableStorage { |
62 | | - log.Debug().Msg("Creating ArangoLocalStorage CRD") |
63 | | - if err := crd.CreateCRD(o.KubeExtCli, lsapi.SchemeGroupVersion, lsapi.ArangoLocalStorageCRDName, lsapi.ArangoLocalStorageResourceKind, lsapi.ArangoLocalStorageResourcePlural, lsapi.ArangoLocalStorageShortNames...); err != nil { |
64 | | - return maskAny(errors.Wrapf(err, "failed to create CRD: %v", err)) |
65 | | - } |
66 | 44 | log.Debug().Msg("Waiting for ArangoLocalStorage CRD to be ready") |
67 | 45 | if err := crd.WaitCRDReady(o.KubeExtCli, lsapi.ArangoLocalStorageCRDName); err != nil { |
68 | 46 | return maskAny(err) |
|
0 commit comments