mirror of
https://github.com/arangodb/kube-arangodb.git
synced 2024-12-14 11:57:37 +00:00
[Feature] Deprecate Actions (#1383)
This commit is contained in:
parent
90aca02ce1
commit
282a50e255
20 changed files with 600 additions and 473 deletions
|
@ -4,6 +4,7 @@
|
||||||
- (Maintenance) Bump golang.org/x/net to v0.13.0
|
- (Maintenance) Bump golang.org/x/net to v0.13.0
|
||||||
- (Feature) PVCResize action concurrency limit
|
- (Feature) PVCResize action concurrency limit
|
||||||
- (Feature) Optional Assertions
|
- (Feature) Optional Assertions
|
||||||
|
- (Feature) Deprecate Actions
|
||||||
|
|
||||||
## [1.2.32](https://github.com/arangodb/kube-arangodb/tree/1.2.32) (2023-08-07)
|
## [1.2.32](https://github.com/arangodb/kube-arangodb/tree/1.2.32) (2023-08-07)
|
||||||
- (Feature) Backup lifetime - remove Backup once its lifetime has been reached
|
- (Feature) Backup lifetime - remove Backup once its lifetime has been reached
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
| CleanTLSCACertificate | no | 30m0s | no | Enterprise Only | Remove Certificate from CA TrustStore |
|
| CleanTLSCACertificate | no | 30m0s | no | Enterprise Only | Remove Certificate from CA TrustStore |
|
||||||
| CleanTLSKeyfileCertificate | no | 30m0s | no | Enterprise Only | Remove old TLS certificate from server |
|
| CleanTLSKeyfileCertificate | no | 30m0s | no | Enterprise Only | Remove old TLS certificate from server |
|
||||||
| ClusterMemberCleanup | no | 10m0s | no | Community & Enterprise | Remove member from Cluster if it is gone already (Coordinators) |
|
| ClusterMemberCleanup | no | 10m0s | no | Community & Enterprise | Remove member from Cluster if it is gone already (Coordinators) |
|
||||||
| DisableClusterScaling | no | 10m0s | no | Community & Enterprise | (Deprecated) Disable Cluster Scaling integration |
|
| ~~DisableClusterScaling~~ | no | 10m0s | no | Community & Enterprise | Disable Cluster Scaling integration |
|
||||||
| DisableMaintenance | no | 10m0s | no | Community & Enterprise | Disable ArangoDB maintenance mode |
|
| DisableMaintenance | no | 10m0s | no | Community & Enterprise | Disable ArangoDB maintenance mode |
|
||||||
| DisableMemberMaintenance | no | 10m0s | no | Enterprise Only | Disable ArangoDB DBServer maintenance mode |
|
| DisableMemberMaintenance | no | 10m0s | no | Enterprise Only | Disable ArangoDB DBServer maintenance mode |
|
||||||
| EnableClusterScaling | no | 10m0s | no | Community & Enterprise | (Deprecated) Enable Cluster Scaling integration |
|
| ~~EnableClusterScaling~~ | no | 10m0s | no | Community & Enterprise | Enable Cluster Scaling integration |
|
||||||
| EnableMaintenance | no | 10m0s | no | Community & Enterprise | Enable ArangoDB maintenance mode |
|
| EnableMaintenance | no | 10m0s | no | Community & Enterprise | Enable ArangoDB maintenance mode |
|
||||||
| EnableMemberMaintenance | no | 10m0s | no | Enterprise Only | Enable ArangoDB DBServer maintenance mode |
|
| EnableMemberMaintenance | no | 10m0s | no | Enterprise Only | Enable ArangoDB DBServer maintenance mode |
|
||||||
| EncryptionKeyAdd | no | 10m0s | no | Enterprise Only | Add the encryption key to the pool |
|
| EncryptionKeyAdd | no | 10m0s | no | Enterprise Only | Add the encryption key to the pool |
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
| LicenseSet | no | 10m0s | no | Community & Enterprise | Update Cluster license (3.9+) |
|
| LicenseSet | no | 10m0s | no | Community & Enterprise | Update Cluster license (3.9+) |
|
||||||
| MarkToRemoveMember | no | 10m0s | no | Community & Enterprise | Marks member to be removed. Used when member Pod is annotated with replace annotation |
|
| MarkToRemoveMember | no | 10m0s | no | Community & Enterprise | Marks member to be removed. Used when member Pod is annotated with replace annotation |
|
||||||
| MemberPhaseUpdate | no | 10m0s | no | Community & Enterprise | Change member phase |
|
| MemberPhaseUpdate | no | 10m0s | no | Community & Enterprise | Change member phase |
|
||||||
| MemberRIDUpdate | no | 10m0s | no | Community & Enterprise | Update Run ID of member |
|
| ~~MemberRIDUpdate~~ | no | 10m0s | no | Community & Enterprise | Update Run ID of member |
|
||||||
| PVCResize | no | 30m0s | no | Community & Enterprise | Start the resize procedure. Updates PVC Requests field |
|
| PVCResize | no | 30m0s | no | Community & Enterprise | Start the resize procedure. Updates PVC Requests field |
|
||||||
| PVCResized | no | 15m0s | no | Community & Enterprise | Waits for PVC resize to be completed |
|
| PVCResized | no | 15m0s | no | Community & Enterprise | Waits for PVC resize to be completed |
|
||||||
| PlaceHolder | no | 10m0s | no | Community & Enterprise | Empty placeholder action |
|
| PlaceHolder | no | 10m0s | no | Community & Enterprise | Empty placeholder action |
|
||||||
|
@ -65,12 +65,12 @@
|
||||||
| RuntimeContainerArgsLogLevelUpdate | no | 10m0s | no | Community & Enterprise | Change ArangoDB Member log levels in runtime |
|
| RuntimeContainerArgsLogLevelUpdate | no | 10m0s | no | Community & Enterprise | Change ArangoDB Member log levels in runtime |
|
||||||
| RuntimeContainerImageUpdate | no | 10m0s | no | Community & Enterprise | Update Container Image in runtime |
|
| RuntimeContainerImageUpdate | no | 10m0s | no | Community & Enterprise | Update Container Image in runtime |
|
||||||
| RuntimeContainerSyncTolerations | no | 10m0s | no | Community & Enterprise | Update Pod Tolerations in runtime |
|
| RuntimeContainerSyncTolerations | no | 10m0s | no | Community & Enterprise | Update Pod Tolerations in runtime |
|
||||||
| SetCondition | no | 10m0s | no | Community & Enterprise | (Deprecated) Set deployment condition |
|
| ~~SetCondition~~ | no | 10m0s | no | Community & Enterprise | Set deployment condition |
|
||||||
| SetConditionV2 | no | 10m0s | no | Community & Enterprise | Set deployment condition |
|
| SetConditionV2 | no | 10m0s | no | Community & Enterprise | Set deployment condition |
|
||||||
| SetCurrentImage | no | 6h0m0s | no | Community & Enterprise | Update deployment current image after image discovery |
|
| SetCurrentImage | no | 6h0m0s | no | Community & Enterprise | Update deployment current image after image discovery |
|
||||||
| SetCurrentMemberArch | no | 10m0s | no | Community & Enterprise | Set current member architecture |
|
| SetCurrentMemberArch | no | 10m0s | no | Community & Enterprise | Set current member architecture |
|
||||||
| SetMaintenanceCondition | no | 10m0s | no | Community & Enterprise | Update ArangoDB maintenance condition |
|
| SetMaintenanceCondition | no | 10m0s | no | Community & Enterprise | Update ArangoDB maintenance condition |
|
||||||
| SetMemberCondition | no | 10m0s | no | Community & Enterprise | (Deprecated) Set member condition |
|
| ~~SetMemberCondition~~ | no | 10m0s | no | Community & Enterprise | Set member condition |
|
||||||
| SetMemberConditionV2 | no | 10m0s | no | Community & Enterprise | Set member condition |
|
| SetMemberConditionV2 | no | 10m0s | no | Community & Enterprise | Set member condition |
|
||||||
| SetMemberCurrentImage | no | 10m0s | no | Community & Enterprise | Update Member current image |
|
| SetMemberCurrentImage | no | 10m0s | no | Community & Enterprise | Update Member current image |
|
||||||
| ShutdownMember | no | 30m0s | no | Community & Enterprise | Sends Shutdown requests and waits for container to be stopped |
|
| ShutdownMember | no | 30m0s | no | Community & Enterprise | Sends Shutdown requests and waits for container to be stopped |
|
||||||
|
|
|
@ -34,6 +34,7 @@ import (
|
||||||
|
|
||||||
"github.com/arangodb/kube-arangodb/internal/md"
|
"github.com/arangodb/kube-arangodb/internal/md"
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
||||||
|
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||||
"github.com/arangodb/kube-arangodb/pkg/util/strings"
|
"github.com/arangodb/kube-arangodb/pkg/util/strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -188,6 +189,14 @@ func (i ActionsInput) Configurable() []string {
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (i ActionsInput) Deprecated() map[string]string {
|
||||||
|
r := map[string]string{}
|
||||||
|
for k, a := range i.Actions {
|
||||||
|
r[k] = util.TypeOrDefault(a.Deprecated, "")
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
type Action struct {
|
type Action struct {
|
||||||
Timeout *meta.Duration `json:"timeout,omitempty"`
|
Timeout *meta.Duration `json:"timeout,omitempty"`
|
||||||
StartupFailureGracePeriod *meta.Duration `json:"startupFailureGracePeriod,omitempty"`
|
StartupFailureGracePeriod *meta.Duration `json:"startupFailureGracePeriod,omitempty"`
|
||||||
|
@ -203,6 +212,8 @@ type Action struct {
|
||||||
Optional bool `json:"optional"`
|
Optional bool `json:"optional"`
|
||||||
|
|
||||||
Configurable bool `json:"configurable"`
|
Configurable bool `json:"configurable"`
|
||||||
|
|
||||||
|
Deprecated *string `json:"deprecated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a Action) InScope(scope string) bool {
|
func (a Action) InScope(scope string) bool {
|
||||||
|
@ -247,6 +258,7 @@ func RenderActions(root string) error {
|
||||||
"timeouts": in.Timeouts(),
|
"timeouts": in.Timeouts(),
|
||||||
"descriptions": in.Descriptions(),
|
"descriptions": in.Descriptions(),
|
||||||
"optionals": in.Optionals(),
|
"optionals": in.Optionals(),
|
||||||
|
"deprecated": in.Deprecated(),
|
||||||
"defaultTimeout": fmt.Sprintf("%d * time.Second // %s", in.DefaultTimeout.Duration/time.Second, in.DefaultTimeout.Duration.String()),
|
"defaultTimeout": fmt.Sprintf("%d * time.Second // %s", in.DefaultTimeout.Duration/time.Second, in.DefaultTimeout.Duration.String()),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -273,6 +285,7 @@ func RenderActions(root string) error {
|
||||||
if err := i.Execute(out, map[string]interface{}{
|
if err := i.Execute(out, map[string]interface{}{
|
||||||
"actions": in.Keys(),
|
"actions": in.Keys(),
|
||||||
"startupFailureGracePeriods": in.StartFailureGracePeriods(),
|
"startupFailureGracePeriods": in.StartFailureGracePeriods(),
|
||||||
|
"deprecated": in.Deprecated(),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -324,6 +337,7 @@ func RenderActions(root string) error {
|
||||||
"startupFailureGracePeriods": in.StartFailureGracePeriods(),
|
"startupFailureGracePeriods": in.StartFailureGracePeriods(),
|
||||||
"internal": in.Internal(),
|
"internal": in.Internal(),
|
||||||
"optional": in.Optionals(),
|
"optional": in.Optionals(),
|
||||||
|
"deprecated": in.Deprecated(),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -352,6 +366,11 @@ func RenderActions(root string) error {
|
||||||
)
|
)
|
||||||
|
|
||||||
for _, k := range in.Keys() {
|
for _, k := range in.Keys() {
|
||||||
|
name := k
|
||||||
|
if in.Actions[k].Deprecated != nil {
|
||||||
|
name = fmt.Sprintf("~~%s~~", name)
|
||||||
|
}
|
||||||
|
|
||||||
a := in.Actions[k]
|
a := in.Actions[k]
|
||||||
v := in.DefaultTimeout.Duration.String()
|
v := in.DefaultTimeout.Duration.String()
|
||||||
if t := a.Timeout; t != nil {
|
if t := a.Timeout; t != nil {
|
||||||
|
@ -372,7 +391,7 @@ func RenderActions(root string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := t.AddRow(map[md.Column]string{
|
if err := t.AddRow(map[md.Column]string{
|
||||||
action: k,
|
action: name,
|
||||||
timeout: v,
|
timeout: v,
|
||||||
description: a.Description,
|
description: a.Description,
|
||||||
edition: vr,
|
edition: vr,
|
||||||
|
|
|
@ -26,16 +26,23 @@ const (
|
||||||
|
|
||||||
// ActionsDefaultTimeout define default timeout
|
// ActionsDefaultTimeout define default timeout
|
||||||
ActionsDefaultTimeout time.Duration = {{ $root.defaultTimeout }}
|
ActionsDefaultTimeout time.Duration = {{ $root.defaultTimeout }}
|
||||||
{{- range .actions }}
|
|
||||||
|
{{ range .actions -}}
|
||||||
// Action{{ . }}DefaultTimeout define default timeout for action Action{{ . }}
|
// Action{{ . }}DefaultTimeout define default timeout for action Action{{ . }}
|
||||||
Action{{ . }}DefaultTimeout time.Duration = {{ index $root.timeouts . }}
|
Action{{ . }}DefaultTimeout time.Duration = {{ index $root.timeouts . }}
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
// Actions
|
// Actions
|
||||||
{{ range .actions }}
|
|
||||||
|
{{ range .actions -}}
|
||||||
// ActionType{{ . }} in scopes {{ index $root.scopes . }}. {{ index $root.descriptions . }}
|
// ActionType{{ . }} in scopes {{ index $root.scopes . }}. {{ index $root.descriptions . }}
|
||||||
|
{{ if (index $root.deprecated .) -}}
|
||||||
|
//
|
||||||
|
// Deprecated: {{ index $root.deprecated . }}
|
||||||
|
{{ end -}}
|
||||||
ActionType{{ . }} ActionType = "{{ . }}"
|
ActionType{{ . }} ActionType = "{{ . }}"
|
||||||
{{- end }}
|
|
||||||
|
{{ end -}}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (a ActionType) DefaultTimeout() time.Duration {
|
func (a ActionType) DefaultTimeout() time.Duration {
|
||||||
|
|
|
@ -27,30 +27,47 @@ import (
|
||||||
var (
|
var (
|
||||||
// Ensure implementation
|
// Ensure implementation
|
||||||
{{- range .actions }}
|
{{- range .actions }}
|
||||||
|
{{- if not (index $root.deprecated .) }}
|
||||||
|
|
||||||
_ Action = &action{{ . }}{}
|
_ Action = &action{{ . }}{}
|
||||||
_ actionFactory = new{{ . }}Action
|
_ actionFactory = new{{ . }}Action
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// Register all actions
|
// Register all actions
|
||||||
{{- range .actions }}
|
|
||||||
|
|
||||||
|
{{ range .actions -}}
|
||||||
// {{ . }}
|
// {{ . }}
|
||||||
{
|
{
|
||||||
// Get Action defition
|
// Get Action type
|
||||||
function := new{{ . }}Action
|
{{ if (index $root.deprecated .) -}}
|
||||||
|
// nolint:staticcheck
|
||||||
|
{{ end -}}
|
||||||
action := api.ActionType{{ . }}
|
action := api.ActionType{{ . }}
|
||||||
|
|
||||||
|
{{ if (index $root.deprecated .) -}}
|
||||||
|
// Get Empty (Deprecated) Action Definition
|
||||||
|
function := newDeprecatedAction
|
||||||
|
|
||||||
|
{{ else -}}
|
||||||
|
// Get Action defition
|
||||||
|
function := new{{ . }}Action
|
||||||
|
|
||||||
// Wrap action main function
|
// Wrap action main function
|
||||||
{{- $startupFailureGracePeriod := index $root.startupFailureGracePeriods . -}}
|
|
||||||
{{- if $startupFailureGracePeriod }}
|
{{ $startupFailureGracePeriod := index $root.startupFailureGracePeriods . -}}
|
||||||
|
{{ if $startupFailureGracePeriod -}}
|
||||||
|
// With StartupFailureGracePeriod
|
||||||
function = withActionStartFailureGracePeriod(function, {{ $startupFailureGracePeriod }})
|
function = withActionStartFailureGracePeriod(function, {{ $startupFailureGracePeriod }})
|
||||||
{{- end }}
|
|
||||||
|
{{ end -}}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
// Register action
|
// Register action
|
||||||
registerAction(action, function)
|
registerAction(action, function)
|
||||||
}
|
}
|
||||||
{{- end }}
|
|
||||||
|
{{ end -}}
|
||||||
}
|
}
|
|
@ -33,6 +33,9 @@ func Test_Actions(t *testing.T) {
|
||||||
{{- range .actions }}
|
{{- range .actions }}
|
||||||
|
|
||||||
t.Run("{{ . }}", func(t *testing.T) {
|
t.Run("{{ . }}", func(t *testing.T) {
|
||||||
|
{{ if (index $root.deprecated .) -}}
|
||||||
|
// nolint:staticcheck
|
||||||
|
{{ end -}}
|
||||||
ActionsExistence(t, api.ActionType{{ . }})
|
ActionsExistence(t, api.ActionType{{ . }})
|
||||||
{{- $startupFailureGracePeriod := index $root.startupFailureGracePeriods . -}}
|
{{- $startupFailureGracePeriod := index $root.startupFailureGracePeriods . -}}
|
||||||
{{- if $startupFailureGracePeriod }}
|
{{- if $startupFailureGracePeriod }}
|
||||||
|
@ -40,6 +43,9 @@ func Test_Actions(t *testing.T) {
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $isInternal := index $root.internal . }}
|
{{- $isInternal := index $root.internal . }}
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
{{- if (index $root.deprecated .) }}
|
||||||
|
// nolint:staticcheck
|
||||||
|
{{- end }}
|
||||||
{{- if $isInternal }}
|
{{- if $isInternal }}
|
||||||
require.True(t, api.ActionType{{ . }}.Internal())
|
require.True(t, api.ActionType{{ . }}.Internal())
|
||||||
{{- else }}
|
{{- else }}
|
||||||
|
@ -48,6 +54,9 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
{{- $isOptional := index $root.optional . }}
|
{{- $isOptional := index $root.optional . }}
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
{{- if (index $root.deprecated .) }}
|
||||||
|
// nolint:staticcheck
|
||||||
|
{{- end }}
|
||||||
{{- if $isOptional }}
|
{{- if $isOptional }}
|
||||||
require.True(t, api.ActionType{{ . }}.Optional())
|
require.True(t, api.ActionType{{ . }}.Optional())
|
||||||
{{- else }}
|
{{- else }}
|
||||||
|
|
|
@ -100,9 +100,11 @@ actions:
|
||||||
SetMemberCurrentImage:
|
SetMemberCurrentImage:
|
||||||
description: Update Member current image
|
description: Update Member current image
|
||||||
DisableClusterScaling:
|
DisableClusterScaling:
|
||||||
description: (Deprecated) Disable Cluster Scaling integration
|
description: Disable Cluster Scaling integration
|
||||||
|
deprecated: "action is not used anymore"
|
||||||
EnableClusterScaling:
|
EnableClusterScaling:
|
||||||
description: (Deprecated) Enable Cluster Scaling integration
|
description: Enable Cluster Scaling integration
|
||||||
|
deprecated: "action is not used anymore"
|
||||||
PVCResize:
|
PVCResize:
|
||||||
description: Start the resize procedure. Updates PVC Requests field
|
description: Start the resize procedure. Updates PVC Requests field
|
||||||
timeout: 30m
|
timeout: 30m
|
||||||
|
@ -176,17 +178,19 @@ actions:
|
||||||
scopes:
|
scopes:
|
||||||
- High
|
- High
|
||||||
SetMemberCondition:
|
SetMemberCondition:
|
||||||
description: (Deprecated) Set member condition
|
description: Set member condition
|
||||||
scopes:
|
scopes:
|
||||||
- High
|
- High
|
||||||
|
deprecated: "action is not used anymore"
|
||||||
SetMemberConditionV2:
|
SetMemberConditionV2:
|
||||||
description: Set member condition
|
description: Set member condition
|
||||||
scopes:
|
scopes:
|
||||||
- High
|
- High
|
||||||
SetCondition:
|
SetCondition:
|
||||||
description: (Deprecated) Set deployment condition
|
description: Set deployment condition
|
||||||
scopes:
|
scopes:
|
||||||
- High
|
- High
|
||||||
|
deprecated: "action is not used anymore"
|
||||||
SetConditionV2:
|
SetConditionV2:
|
||||||
description: Set deployment condition
|
description: Set deployment condition
|
||||||
scopes:
|
scopes:
|
||||||
|
@ -195,6 +199,7 @@ actions:
|
||||||
description: Update Run ID of member
|
description: Update Run ID of member
|
||||||
scopes:
|
scopes:
|
||||||
- High
|
- High
|
||||||
|
deprecated: "action is not used anymore"
|
||||||
ArangoMemberUpdatePodSpec:
|
ArangoMemberUpdatePodSpec:
|
||||||
description: Propagate Member Pod spec (requested)
|
description: Propagate Member Pod spec (requested)
|
||||||
scopes:
|
scopes:
|
||||||
|
|
|
@ -25,168 +25,250 @@ const (
|
||||||
|
|
||||||
// ActionsDefaultTimeout define default timeout
|
// ActionsDefaultTimeout define default timeout
|
||||||
ActionsDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
ActionsDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
||||||
|
|
||||||
// ActionAddMemberDefaultTimeout define default timeout for action ActionAddMember
|
// ActionAddMemberDefaultTimeout define default timeout for action ActionAddMember
|
||||||
ActionAddMemberDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
ActionAddMemberDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
||||||
|
|
||||||
// ActionAppendTLSCACertificateDefaultTimeout define default timeout for action ActionAppendTLSCACertificate
|
// ActionAppendTLSCACertificateDefaultTimeout define default timeout for action ActionAppendTLSCACertificate
|
||||||
ActionAppendTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionAppendTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionArangoMemberUpdatePodSpecDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodSpec
|
// ActionArangoMemberUpdatePodSpecDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodSpec
|
||||||
ActionArangoMemberUpdatePodSpecDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionArangoMemberUpdatePodSpecDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionArangoMemberUpdatePodStatusDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodStatus
|
// ActionArangoMemberUpdatePodStatusDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodStatus
|
||||||
ActionArangoMemberUpdatePodStatusDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionArangoMemberUpdatePodStatusDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionBackupRestoreDefaultTimeout define default timeout for action ActionBackupRestore
|
// ActionBackupRestoreDefaultTimeout define default timeout for action ActionBackupRestore
|
||||||
ActionBackupRestoreDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionBackupRestoreDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionBackupRestoreCleanDefaultTimeout define default timeout for action ActionBackupRestoreClean
|
// ActionBackupRestoreCleanDefaultTimeout define default timeout for action ActionBackupRestoreClean
|
||||||
ActionBackupRestoreCleanDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionBackupRestoreCleanDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionBootstrapSetPasswordDefaultTimeout define default timeout for action ActionBootstrapSetPassword
|
// ActionBootstrapSetPasswordDefaultTimeout define default timeout for action ActionBootstrapSetPassword
|
||||||
ActionBootstrapSetPasswordDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionBootstrapSetPasswordDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionBootstrapUpdateDefaultTimeout define default timeout for action ActionBootstrapUpdate
|
// ActionBootstrapUpdateDefaultTimeout define default timeout for action ActionBootstrapUpdate
|
||||||
ActionBootstrapUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionBootstrapUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionCleanMemberServiceDefaultTimeout define default timeout for action ActionCleanMemberService
|
// ActionCleanMemberServiceDefaultTimeout define default timeout for action ActionCleanMemberService
|
||||||
ActionCleanMemberServiceDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionCleanMemberServiceDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionCleanOutMemberDefaultTimeout define default timeout for action ActionCleanOutMember
|
// ActionCleanOutMemberDefaultTimeout define default timeout for action ActionCleanOutMember
|
||||||
ActionCleanOutMemberDefaultTimeout time.Duration = 172800 * time.Second // 48h0m0s
|
ActionCleanOutMemberDefaultTimeout time.Duration = 172800 * time.Second // 48h0m0s
|
||||||
|
|
||||||
// ActionCleanTLSCACertificateDefaultTimeout define default timeout for action ActionCleanTLSCACertificate
|
// ActionCleanTLSCACertificateDefaultTimeout define default timeout for action ActionCleanTLSCACertificate
|
||||||
ActionCleanTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionCleanTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionCleanTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionCleanTLSKeyfileCertificate
|
// ActionCleanTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionCleanTLSKeyfileCertificate
|
||||||
ActionCleanTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionCleanTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionClusterMemberCleanupDefaultTimeout define default timeout for action ActionClusterMemberCleanup
|
// ActionClusterMemberCleanupDefaultTimeout define default timeout for action ActionClusterMemberCleanup
|
||||||
ActionClusterMemberCleanupDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionClusterMemberCleanupDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionDisableClusterScalingDefaultTimeout define default timeout for action ActionDisableClusterScaling
|
// ActionDisableClusterScalingDefaultTimeout define default timeout for action ActionDisableClusterScaling
|
||||||
ActionDisableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionDisableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionDisableMaintenanceDefaultTimeout define default timeout for action ActionDisableMaintenance
|
// ActionDisableMaintenanceDefaultTimeout define default timeout for action ActionDisableMaintenance
|
||||||
ActionDisableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionDisableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionDisableMemberMaintenanceDefaultTimeout define default timeout for action ActionDisableMemberMaintenance
|
// ActionDisableMemberMaintenanceDefaultTimeout define default timeout for action ActionDisableMemberMaintenance
|
||||||
ActionDisableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionDisableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEnableClusterScalingDefaultTimeout define default timeout for action ActionEnableClusterScaling
|
// ActionEnableClusterScalingDefaultTimeout define default timeout for action ActionEnableClusterScaling
|
||||||
ActionEnableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEnableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEnableMaintenanceDefaultTimeout define default timeout for action ActionEnableMaintenance
|
// ActionEnableMaintenanceDefaultTimeout define default timeout for action ActionEnableMaintenance
|
||||||
ActionEnableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEnableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEnableMemberMaintenanceDefaultTimeout define default timeout for action ActionEnableMemberMaintenance
|
// ActionEnableMemberMaintenanceDefaultTimeout define default timeout for action ActionEnableMemberMaintenance
|
||||||
ActionEnableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEnableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEncryptionKeyAddDefaultTimeout define default timeout for action ActionEncryptionKeyAdd
|
// ActionEncryptionKeyAddDefaultTimeout define default timeout for action ActionEncryptionKeyAdd
|
||||||
ActionEncryptionKeyAddDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEncryptionKeyAddDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEncryptionKeyPropagatedDefaultTimeout define default timeout for action ActionEncryptionKeyPropagated
|
// ActionEncryptionKeyPropagatedDefaultTimeout define default timeout for action ActionEncryptionKeyPropagated
|
||||||
ActionEncryptionKeyPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEncryptionKeyPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEncryptionKeyRefreshDefaultTimeout define default timeout for action ActionEncryptionKeyRefresh
|
// ActionEncryptionKeyRefreshDefaultTimeout define default timeout for action ActionEncryptionKeyRefresh
|
||||||
ActionEncryptionKeyRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEncryptionKeyRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEncryptionKeyRemoveDefaultTimeout define default timeout for action ActionEncryptionKeyRemove
|
// ActionEncryptionKeyRemoveDefaultTimeout define default timeout for action ActionEncryptionKeyRemove
|
||||||
ActionEncryptionKeyRemoveDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEncryptionKeyRemoveDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionEncryptionKeyStatusUpdateDefaultTimeout define default timeout for action ActionEncryptionKeyStatusUpdate
|
// ActionEncryptionKeyStatusUpdateDefaultTimeout define default timeout for action ActionEncryptionKeyStatusUpdate
|
||||||
ActionEncryptionKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionEncryptionKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionIdleDefaultTimeout define default timeout for action ActionIdle
|
// ActionIdleDefaultTimeout define default timeout for action ActionIdle
|
||||||
ActionIdleDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionIdleDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTAddDefaultTimeout define default timeout for action ActionJWTAdd
|
// ActionJWTAddDefaultTimeout define default timeout for action ActionJWTAdd
|
||||||
ActionJWTAddDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTAddDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTCleanDefaultTimeout define default timeout for action ActionJWTClean
|
// ActionJWTCleanDefaultTimeout define default timeout for action ActionJWTClean
|
||||||
ActionJWTCleanDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTCleanDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTPropagatedDefaultTimeout define default timeout for action ActionJWTPropagated
|
// ActionJWTPropagatedDefaultTimeout define default timeout for action ActionJWTPropagated
|
||||||
ActionJWTPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTRefreshDefaultTimeout define default timeout for action ActionJWTRefresh
|
// ActionJWTRefreshDefaultTimeout define default timeout for action ActionJWTRefresh
|
||||||
ActionJWTRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTSetActiveDefaultTimeout define default timeout for action ActionJWTSetActive
|
// ActionJWTSetActiveDefaultTimeout define default timeout for action ActionJWTSetActive
|
||||||
ActionJWTSetActiveDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTSetActiveDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionJWTStatusUpdateDefaultTimeout define default timeout for action ActionJWTStatusUpdate
|
// ActionJWTStatusUpdateDefaultTimeout define default timeout for action ActionJWTStatusUpdate
|
||||||
ActionJWTStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionJWTStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionKillMemberPodDefaultTimeout define default timeout for action ActionKillMemberPod
|
// ActionKillMemberPodDefaultTimeout define default timeout for action ActionKillMemberPod
|
||||||
ActionKillMemberPodDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionKillMemberPodDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionLicenseSetDefaultTimeout define default timeout for action ActionLicenseSet
|
// ActionLicenseSetDefaultTimeout define default timeout for action ActionLicenseSet
|
||||||
ActionLicenseSetDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionLicenseSetDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionMarkToRemoveMemberDefaultTimeout define default timeout for action ActionMarkToRemoveMember
|
// ActionMarkToRemoveMemberDefaultTimeout define default timeout for action ActionMarkToRemoveMember
|
||||||
ActionMarkToRemoveMemberDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionMarkToRemoveMemberDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionMemberPhaseUpdateDefaultTimeout define default timeout for action ActionMemberPhaseUpdate
|
// ActionMemberPhaseUpdateDefaultTimeout define default timeout for action ActionMemberPhaseUpdate
|
||||||
ActionMemberPhaseUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionMemberPhaseUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionMemberRIDUpdateDefaultTimeout define default timeout for action ActionMemberRIDUpdate
|
// ActionMemberRIDUpdateDefaultTimeout define default timeout for action ActionMemberRIDUpdate
|
||||||
ActionMemberRIDUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionMemberRIDUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionPVCResizeDefaultTimeout define default timeout for action ActionPVCResize
|
// ActionPVCResizeDefaultTimeout define default timeout for action ActionPVCResize
|
||||||
ActionPVCResizeDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionPVCResizeDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionPVCResizedDefaultTimeout define default timeout for action ActionPVCResized
|
// ActionPVCResizedDefaultTimeout define default timeout for action ActionPVCResized
|
||||||
ActionPVCResizedDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionPVCResizedDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionPlaceHolderDefaultTimeout define default timeout for action ActionPlaceHolder
|
// ActionPlaceHolderDefaultTimeout define default timeout for action ActionPlaceHolder
|
||||||
ActionPlaceHolderDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionPlaceHolderDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerCheckDefaultTimeout define default timeout for action ActionRebalancerCheck
|
// ActionRebalancerCheckDefaultTimeout define default timeout for action ActionRebalancerCheck
|
||||||
ActionRebalancerCheckDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerCheckDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerCheckV2DefaultTimeout define default timeout for action ActionRebalancerCheckV2
|
// ActionRebalancerCheckV2DefaultTimeout define default timeout for action ActionRebalancerCheckV2
|
||||||
ActionRebalancerCheckV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerCheckV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerCleanDefaultTimeout define default timeout for action ActionRebalancerClean
|
// ActionRebalancerCleanDefaultTimeout define default timeout for action ActionRebalancerClean
|
||||||
ActionRebalancerCleanDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerCleanDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerCleanV2DefaultTimeout define default timeout for action ActionRebalancerCleanV2
|
// ActionRebalancerCleanV2DefaultTimeout define default timeout for action ActionRebalancerCleanV2
|
||||||
ActionRebalancerCleanV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerCleanV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerGenerateDefaultTimeout define default timeout for action ActionRebalancerGenerate
|
// ActionRebalancerGenerateDefaultTimeout define default timeout for action ActionRebalancerGenerate
|
||||||
ActionRebalancerGenerateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerGenerateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebalancerGenerateV2DefaultTimeout define default timeout for action ActionRebalancerGenerateV2
|
// ActionRebalancerGenerateV2DefaultTimeout define default timeout for action ActionRebalancerGenerateV2
|
||||||
ActionRebalancerGenerateV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRebalancerGenerateV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRebuildOutSyncedShardsDefaultTimeout define default timeout for action ActionRebuildOutSyncedShards
|
// ActionRebuildOutSyncedShardsDefaultTimeout define default timeout for action ActionRebuildOutSyncedShards
|
||||||
ActionRebuildOutSyncedShardsDefaultTimeout time.Duration = 86400 * time.Second // 24h0m0s
|
ActionRebuildOutSyncedShardsDefaultTimeout time.Duration = 86400 * time.Second // 24h0m0s
|
||||||
|
|
||||||
// ActionRecreateMemberDefaultTimeout define default timeout for action ActionRecreateMember
|
// ActionRecreateMemberDefaultTimeout define default timeout for action ActionRecreateMember
|
||||||
ActionRecreateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRecreateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRefreshTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionRefreshTLSKeyfileCertificate
|
// ActionRefreshTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionRefreshTLSKeyfileCertificate
|
||||||
ActionRefreshTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionRefreshTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionRemoveMemberDefaultTimeout define default timeout for action ActionRemoveMember
|
// ActionRemoveMemberDefaultTimeout define default timeout for action ActionRemoveMember
|
||||||
ActionRemoveMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRemoveMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRemoveMemberPVCDefaultTimeout define default timeout for action ActionRemoveMemberPVC
|
// ActionRemoveMemberPVCDefaultTimeout define default timeout for action ActionRemoveMemberPVC
|
||||||
ActionRemoveMemberPVCDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRemoveMemberPVCDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRenewTLSCACertificateDefaultTimeout define default timeout for action ActionRenewTLSCACertificate
|
// ActionRenewTLSCACertificateDefaultTimeout define default timeout for action ActionRenewTLSCACertificate
|
||||||
ActionRenewTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionRenewTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionRenewTLSCertificateDefaultTimeout define default timeout for action ActionRenewTLSCertificate
|
// ActionRenewTLSCertificateDefaultTimeout define default timeout for action ActionRenewTLSCertificate
|
||||||
ActionRenewTLSCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionRenewTLSCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionResignLeadershipDefaultTimeout define default timeout for action ActionResignLeadership
|
// ActionResignLeadershipDefaultTimeout define default timeout for action ActionResignLeadership
|
||||||
ActionResignLeadershipDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionResignLeadershipDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionResourceSyncDefaultTimeout define default timeout for action ActionResourceSync
|
// ActionResourceSyncDefaultTimeout define default timeout for action ActionResourceSync
|
||||||
ActionResourceSyncDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionResourceSyncDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRotateMemberDefaultTimeout define default timeout for action ActionRotateMember
|
// ActionRotateMemberDefaultTimeout define default timeout for action ActionRotateMember
|
||||||
ActionRotateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRotateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRotateStartMemberDefaultTimeout define default timeout for action ActionRotateStartMember
|
// ActionRotateStartMemberDefaultTimeout define default timeout for action ActionRotateStartMember
|
||||||
ActionRotateStartMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRotateStartMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRotateStopMemberDefaultTimeout define default timeout for action ActionRotateStopMember
|
// ActionRotateStopMemberDefaultTimeout define default timeout for action ActionRotateStopMember
|
||||||
ActionRotateStopMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
ActionRotateStopMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s
|
||||||
|
|
||||||
// ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerArgsLogLevelUpdate
|
// ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerArgsLogLevelUpdate
|
||||||
ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRuntimeContainerImageUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerImageUpdate
|
// ActionRuntimeContainerImageUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerImageUpdate
|
||||||
ActionRuntimeContainerImageUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRuntimeContainerImageUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionRuntimeContainerSyncTolerationsDefaultTimeout define default timeout for action ActionRuntimeContainerSyncTolerations
|
// ActionRuntimeContainerSyncTolerationsDefaultTimeout define default timeout for action ActionRuntimeContainerSyncTolerations
|
||||||
ActionRuntimeContainerSyncTolerationsDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionRuntimeContainerSyncTolerationsDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetConditionDefaultTimeout define default timeout for action ActionSetCondition
|
// ActionSetConditionDefaultTimeout define default timeout for action ActionSetCondition
|
||||||
ActionSetConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetConditionV2DefaultTimeout define default timeout for action ActionSetConditionV2
|
// ActionSetConditionV2DefaultTimeout define default timeout for action ActionSetConditionV2
|
||||||
ActionSetConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetCurrentImageDefaultTimeout define default timeout for action ActionSetCurrentImage
|
// ActionSetCurrentImageDefaultTimeout define default timeout for action ActionSetCurrentImage
|
||||||
ActionSetCurrentImageDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s
|
ActionSetCurrentImageDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s
|
||||||
|
|
||||||
// ActionSetCurrentMemberArchDefaultTimeout define default timeout for action ActionSetCurrentMemberArch
|
// ActionSetCurrentMemberArchDefaultTimeout define default timeout for action ActionSetCurrentMemberArch
|
||||||
ActionSetCurrentMemberArchDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
ActionSetCurrentMemberArchDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
||||||
|
|
||||||
// ActionSetMaintenanceConditionDefaultTimeout define default timeout for action ActionSetMaintenanceCondition
|
// ActionSetMaintenanceConditionDefaultTimeout define default timeout for action ActionSetMaintenanceCondition
|
||||||
ActionSetMaintenanceConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetMaintenanceConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetMemberConditionDefaultTimeout define default timeout for action ActionSetMemberCondition
|
// ActionSetMemberConditionDefaultTimeout define default timeout for action ActionSetMemberCondition
|
||||||
ActionSetMemberConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetMemberConditionDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetMemberConditionV2DefaultTimeout define default timeout for action ActionSetMemberConditionV2
|
// ActionSetMemberConditionV2DefaultTimeout define default timeout for action ActionSetMemberConditionV2
|
||||||
ActionSetMemberConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetMemberConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionSetMemberCurrentImageDefaultTimeout define default timeout for action ActionSetMemberCurrentImage
|
// ActionSetMemberCurrentImageDefaultTimeout define default timeout for action ActionSetMemberCurrentImage
|
||||||
ActionSetMemberCurrentImageDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionSetMemberCurrentImageDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionShutdownMemberDefaultTimeout define default timeout for action ActionShutdownMember
|
// ActionShutdownMemberDefaultTimeout define default timeout for action ActionShutdownMember
|
||||||
ActionShutdownMemberDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionShutdownMemberDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionTLSKeyStatusUpdateDefaultTimeout define default timeout for action ActionTLSKeyStatusUpdate
|
// ActionTLSKeyStatusUpdateDefaultTimeout define default timeout for action ActionTLSKeyStatusUpdate
|
||||||
ActionTLSKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTLSKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionTLSPropagatedDefaultTimeout define default timeout for action ActionTLSPropagated
|
// ActionTLSPropagatedDefaultTimeout define default timeout for action ActionTLSPropagated
|
||||||
ActionTLSPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTLSPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionTimezoneSecretSetDefaultTimeout define default timeout for action ActionTimezoneSecretSet
|
// ActionTimezoneSecretSetDefaultTimeout define default timeout for action ActionTimezoneSecretSet
|
||||||
ActionTimezoneSecretSetDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionTimezoneSecretSetDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionTopologyDisableDefaultTimeout define default timeout for action ActionTopologyDisable
|
// ActionTopologyDisableDefaultTimeout define default timeout for action ActionTopologyDisable
|
||||||
ActionTopologyDisableDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTopologyDisableDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionTopologyEnableDefaultTimeout define default timeout for action ActionTopologyEnable
|
// ActionTopologyEnableDefaultTimeout define default timeout for action ActionTopologyEnable
|
||||||
ActionTopologyEnableDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTopologyEnableDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionTopologyMemberAssignmentDefaultTimeout define default timeout for action ActionTopologyMemberAssignment
|
// ActionTopologyMemberAssignmentDefaultTimeout define default timeout for action ActionTopologyMemberAssignment
|
||||||
ActionTopologyMemberAssignmentDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTopologyMemberAssignmentDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionTopologyZonesUpdateDefaultTimeout define default timeout for action ActionTopologyZonesUpdate
|
// ActionTopologyZonesUpdateDefaultTimeout define default timeout for action ActionTopologyZonesUpdate
|
||||||
ActionTopologyZonesUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionTopologyZonesUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionUpToDateUpdateDefaultTimeout define default timeout for action ActionUpToDateUpdate
|
// ActionUpToDateUpdateDefaultTimeout define default timeout for action ActionUpToDateUpdate
|
||||||
ActionUpToDateUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
ActionUpToDateUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout
|
||||||
|
|
||||||
// ActionUpdateTLSSNIDefaultTimeout define default timeout for action ActionUpdateTLSSNI
|
// ActionUpdateTLSSNIDefaultTimeout define default timeout for action ActionUpdateTLSSNI
|
||||||
ActionUpdateTLSSNIDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
ActionUpdateTLSSNIDefaultTimeout time.Duration = 600 * time.Second // 10m0s
|
||||||
|
|
||||||
// ActionUpgradeMemberDefaultTimeout define default timeout for action ActionUpgradeMember
|
// ActionUpgradeMemberDefaultTimeout define default timeout for action ActionUpgradeMember
|
||||||
ActionUpgradeMemberDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s
|
ActionUpgradeMemberDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s
|
||||||
|
|
||||||
// ActionWaitForMemberInSyncDefaultTimeout define default timeout for action ActionWaitForMemberInSync
|
// ActionWaitForMemberInSyncDefaultTimeout define default timeout for action ActionWaitForMemberInSync
|
||||||
ActionWaitForMemberInSyncDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionWaitForMemberInSyncDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionWaitForMemberReadyDefaultTimeout define default timeout for action ActionWaitForMemberReady
|
// ActionWaitForMemberReadyDefaultTimeout define default timeout for action ActionWaitForMemberReady
|
||||||
ActionWaitForMemberReadyDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionWaitForMemberReadyDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
// ActionWaitForMemberUpDefaultTimeout define default timeout for action ActionWaitForMemberUp
|
// ActionWaitForMemberUpDefaultTimeout define default timeout for action ActionWaitForMemberUp
|
||||||
ActionWaitForMemberUpDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
ActionWaitForMemberUpDefaultTimeout time.Duration = 1800 * time.Second // 30m0s
|
||||||
|
|
||||||
|
@ -194,166 +276,257 @@ const (
|
||||||
|
|
||||||
// ActionTypeAddMember in scopes Normal. Adds new member to the Member list
|
// ActionTypeAddMember in scopes Normal. Adds new member to the Member list
|
||||||
ActionTypeAddMember ActionType = "AddMember"
|
ActionTypeAddMember ActionType = "AddMember"
|
||||||
|
|
||||||
// ActionTypeAppendTLSCACertificate in scopes Normal. Append Certificate into CA TrustStore
|
// ActionTypeAppendTLSCACertificate in scopes Normal. Append Certificate into CA TrustStore
|
||||||
ActionTypeAppendTLSCACertificate ActionType = "AppendTLSCACertificate"
|
ActionTypeAppendTLSCACertificate ActionType = "AppendTLSCACertificate"
|
||||||
|
|
||||||
// ActionTypeArangoMemberUpdatePodSpec in scopes High. Propagate Member Pod spec (requested)
|
// ActionTypeArangoMemberUpdatePodSpec in scopes High. Propagate Member Pod spec (requested)
|
||||||
ActionTypeArangoMemberUpdatePodSpec ActionType = "ArangoMemberUpdatePodSpec"
|
ActionTypeArangoMemberUpdatePodSpec ActionType = "ArangoMemberUpdatePodSpec"
|
||||||
|
|
||||||
// ActionTypeArangoMemberUpdatePodStatus in scopes High. Propagate Member Pod status (current)
|
// ActionTypeArangoMemberUpdatePodStatus in scopes High. Propagate Member Pod status (current)
|
||||||
ActionTypeArangoMemberUpdatePodStatus ActionType = "ArangoMemberUpdatePodStatus"
|
ActionTypeArangoMemberUpdatePodStatus ActionType = "ArangoMemberUpdatePodStatus"
|
||||||
|
|
||||||
// ActionTypeBackupRestore in scopes Normal. Restore selected Backup
|
// ActionTypeBackupRestore in scopes Normal. Restore selected Backup
|
||||||
ActionTypeBackupRestore ActionType = "BackupRestore"
|
ActionTypeBackupRestore ActionType = "BackupRestore"
|
||||||
|
|
||||||
// ActionTypeBackupRestoreClean in scopes Normal. Clean restore status in case of restore spec change
|
// ActionTypeBackupRestoreClean in scopes Normal. Clean restore status in case of restore spec change
|
||||||
ActionTypeBackupRestoreClean ActionType = "BackupRestoreClean"
|
ActionTypeBackupRestoreClean ActionType = "BackupRestoreClean"
|
||||||
|
|
||||||
// ActionTypeBootstrapSetPassword in scopes Normal. Change password during bootstrap procedure
|
// ActionTypeBootstrapSetPassword in scopes Normal. Change password during bootstrap procedure
|
||||||
ActionTypeBootstrapSetPassword ActionType = "BootstrapSetPassword"
|
ActionTypeBootstrapSetPassword ActionType = "BootstrapSetPassword"
|
||||||
|
|
||||||
// ActionTypeBootstrapUpdate in scopes Normal. Update bootstrap status
|
// ActionTypeBootstrapUpdate in scopes Normal. Update bootstrap status
|
||||||
ActionTypeBootstrapUpdate ActionType = "BootstrapUpdate"
|
ActionTypeBootstrapUpdate ActionType = "BootstrapUpdate"
|
||||||
|
|
||||||
// ActionTypeCleanMemberService in scopes Normal. Removes Server Service
|
// ActionTypeCleanMemberService in scopes Normal. Removes Server Service
|
||||||
ActionTypeCleanMemberService ActionType = "CleanMemberService"
|
ActionTypeCleanMemberService ActionType = "CleanMemberService"
|
||||||
|
|
||||||
// ActionTypeCleanOutMember in scopes Normal. Run the CleanOut job on member
|
// ActionTypeCleanOutMember in scopes Normal. Run the CleanOut job on member
|
||||||
ActionTypeCleanOutMember ActionType = "CleanOutMember"
|
ActionTypeCleanOutMember ActionType = "CleanOutMember"
|
||||||
|
|
||||||
// ActionTypeCleanTLSCACertificate in scopes Normal. Remove Certificate from CA TrustStore
|
// ActionTypeCleanTLSCACertificate in scopes Normal. Remove Certificate from CA TrustStore
|
||||||
ActionTypeCleanTLSCACertificate ActionType = "CleanTLSCACertificate"
|
ActionTypeCleanTLSCACertificate ActionType = "CleanTLSCACertificate"
|
||||||
|
|
||||||
// ActionTypeCleanTLSKeyfileCertificate in scopes Normal. Remove old TLS certificate from server
|
// ActionTypeCleanTLSKeyfileCertificate in scopes Normal. Remove old TLS certificate from server
|
||||||
ActionTypeCleanTLSKeyfileCertificate ActionType = "CleanTLSKeyfileCertificate"
|
ActionTypeCleanTLSKeyfileCertificate ActionType = "CleanTLSKeyfileCertificate"
|
||||||
|
|
||||||
// ActionTypeClusterMemberCleanup in scopes Normal. Remove member from Cluster if it is gone already (Coordinators)
|
// ActionTypeClusterMemberCleanup in scopes Normal. Remove member from Cluster if it is gone already (Coordinators)
|
||||||
ActionTypeClusterMemberCleanup ActionType = "ClusterMemberCleanup"
|
ActionTypeClusterMemberCleanup ActionType = "ClusterMemberCleanup"
|
||||||
// ActionTypeDisableClusterScaling in scopes Normal. (Deprecated) Disable Cluster Scaling integration
|
|
||||||
|
// ActionTypeDisableClusterScaling in scopes Normal. Disable Cluster Scaling integration
|
||||||
|
//
|
||||||
|
// Deprecated: action is not used anymore
|
||||||
ActionTypeDisableClusterScaling ActionType = "DisableClusterScaling"
|
ActionTypeDisableClusterScaling ActionType = "DisableClusterScaling"
|
||||||
|
|
||||||
// ActionTypeDisableMaintenance in scopes Normal. Disable ArangoDB maintenance mode
|
// ActionTypeDisableMaintenance in scopes Normal. Disable ArangoDB maintenance mode
|
||||||
ActionTypeDisableMaintenance ActionType = "DisableMaintenance"
|
ActionTypeDisableMaintenance ActionType = "DisableMaintenance"
|
||||||
|
|
||||||
// ActionTypeDisableMemberMaintenance in scopes Normal. Disable ArangoDB DBServer maintenance mode
|
// ActionTypeDisableMemberMaintenance in scopes Normal. Disable ArangoDB DBServer maintenance mode
|
||||||
ActionTypeDisableMemberMaintenance ActionType = "DisableMemberMaintenance"
|
ActionTypeDisableMemberMaintenance ActionType = "DisableMemberMaintenance"
|
||||||
// ActionTypeEnableClusterScaling in scopes Normal. (Deprecated) Enable Cluster Scaling integration
|
|
||||||
|
// ActionTypeEnableClusterScaling in scopes Normal. Enable Cluster Scaling integration
|
||||||
|
//
|
||||||
|
// Deprecated: action is not used anymore
|
||||||
ActionTypeEnableClusterScaling ActionType = "EnableClusterScaling"
|
ActionTypeEnableClusterScaling ActionType = "EnableClusterScaling"
|
||||||
|
|
||||||
// ActionTypeEnableMaintenance in scopes Normal. Enable ArangoDB maintenance mode
|
// ActionTypeEnableMaintenance in scopes Normal. Enable ArangoDB maintenance mode
|
||||||
ActionTypeEnableMaintenance ActionType = "EnableMaintenance"
|
ActionTypeEnableMaintenance ActionType = "EnableMaintenance"
|
||||||
|
|
||||||
// ActionTypeEnableMemberMaintenance in scopes Normal. Enable ArangoDB DBServer maintenance mode
|
// ActionTypeEnableMemberMaintenance in scopes Normal. Enable ArangoDB DBServer maintenance mode
|
||||||
ActionTypeEnableMemberMaintenance ActionType = "EnableMemberMaintenance"
|
ActionTypeEnableMemberMaintenance ActionType = "EnableMemberMaintenance"
|
||||||
|
|
||||||
// ActionTypeEncryptionKeyAdd in scopes Normal. Add the encryption key to the pool
|
// ActionTypeEncryptionKeyAdd in scopes Normal. Add the encryption key to the pool
|
||||||
ActionTypeEncryptionKeyAdd ActionType = "EncryptionKeyAdd"
|
ActionTypeEncryptionKeyAdd ActionType = "EncryptionKeyAdd"
|
||||||
|
|
||||||
// ActionTypeEncryptionKeyPropagated in scopes Normal. Update condition of encryption propagation
|
// ActionTypeEncryptionKeyPropagated in scopes Normal. Update condition of encryption propagation
|
||||||
ActionTypeEncryptionKeyPropagated ActionType = "EncryptionKeyPropagated"
|
ActionTypeEncryptionKeyPropagated ActionType = "EncryptionKeyPropagated"
|
||||||
|
|
||||||
// ActionTypeEncryptionKeyRefresh in scopes Normal. Refresh the encryption keys on member
|
// ActionTypeEncryptionKeyRefresh in scopes Normal. Refresh the encryption keys on member
|
||||||
ActionTypeEncryptionKeyRefresh ActionType = "EncryptionKeyRefresh"
|
ActionTypeEncryptionKeyRefresh ActionType = "EncryptionKeyRefresh"
|
||||||
|
|
||||||
// ActionTypeEncryptionKeyRemove in scopes Normal. Remove the encryption key to the pool
|
// ActionTypeEncryptionKeyRemove in scopes Normal. Remove the encryption key to the pool
|
||||||
ActionTypeEncryptionKeyRemove ActionType = "EncryptionKeyRemove"
|
ActionTypeEncryptionKeyRemove ActionType = "EncryptionKeyRemove"
|
||||||
|
|
||||||
// ActionTypeEncryptionKeyStatusUpdate in scopes Normal. Update status of encryption propagation
|
// ActionTypeEncryptionKeyStatusUpdate in scopes Normal. Update status of encryption propagation
|
||||||
ActionTypeEncryptionKeyStatusUpdate ActionType = "EncryptionKeyStatusUpdate"
|
ActionTypeEncryptionKeyStatusUpdate ActionType = "EncryptionKeyStatusUpdate"
|
||||||
|
|
||||||
// ActionTypeIdle in scopes Normal. Define idle operation in case if preconditions are not meet
|
// ActionTypeIdle in scopes Normal. Define idle operation in case if preconditions are not meet
|
||||||
ActionTypeIdle ActionType = "Idle"
|
ActionTypeIdle ActionType = "Idle"
|
||||||
|
|
||||||
// ActionTypeJWTAdd in scopes Normal. Adds new JWT to the pool
|
// ActionTypeJWTAdd in scopes Normal. Adds new JWT to the pool
|
||||||
ActionTypeJWTAdd ActionType = "JWTAdd"
|
ActionTypeJWTAdd ActionType = "JWTAdd"
|
||||||
|
|
||||||
// ActionTypeJWTClean in scopes Normal. Remove JWT key from the pool
|
// ActionTypeJWTClean in scopes Normal. Remove JWT key from the pool
|
||||||
ActionTypeJWTClean ActionType = "JWTClean"
|
ActionTypeJWTClean ActionType = "JWTClean"
|
||||||
|
|
||||||
// ActionTypeJWTPropagated in scopes Normal. Update condition of JWT propagation
|
// ActionTypeJWTPropagated in scopes Normal. Update condition of JWT propagation
|
||||||
ActionTypeJWTPropagated ActionType = "JWTPropagated"
|
ActionTypeJWTPropagated ActionType = "JWTPropagated"
|
||||||
|
|
||||||
// ActionTypeJWTRefresh in scopes Normal. Refresh current JWT secrets on the member
|
// ActionTypeJWTRefresh in scopes Normal. Refresh current JWT secrets on the member
|
||||||
ActionTypeJWTRefresh ActionType = "JWTRefresh"
|
ActionTypeJWTRefresh ActionType = "JWTRefresh"
|
||||||
|
|
||||||
// ActionTypeJWTSetActive in scopes Normal. Change active JWT key on the cluster
|
// ActionTypeJWTSetActive in scopes Normal. Change active JWT key on the cluster
|
||||||
ActionTypeJWTSetActive ActionType = "JWTSetActive"
|
ActionTypeJWTSetActive ActionType = "JWTSetActive"
|
||||||
|
|
||||||
// ActionTypeJWTStatusUpdate in scopes Normal. Update status of JWT propagation
|
// ActionTypeJWTStatusUpdate in scopes Normal. Update status of JWT propagation
|
||||||
ActionTypeJWTStatusUpdate ActionType = "JWTStatusUpdate"
|
ActionTypeJWTStatusUpdate ActionType = "JWTStatusUpdate"
|
||||||
|
|
||||||
// ActionTypeKillMemberPod in scopes Normal. Execute Delete on Pod 9put pod in Terminating state)
|
// ActionTypeKillMemberPod in scopes Normal. Execute Delete on Pod 9put pod in Terminating state)
|
||||||
ActionTypeKillMemberPod ActionType = "KillMemberPod"
|
ActionTypeKillMemberPod ActionType = "KillMemberPod"
|
||||||
|
|
||||||
// ActionTypeLicenseSet in scopes Normal. Update Cluster license (3.9+)
|
// ActionTypeLicenseSet in scopes Normal. Update Cluster license (3.9+)
|
||||||
ActionTypeLicenseSet ActionType = "LicenseSet"
|
ActionTypeLicenseSet ActionType = "LicenseSet"
|
||||||
|
|
||||||
// ActionTypeMarkToRemoveMember in scopes Normal. Marks member to be removed. Used when member Pod is annotated with replace annotation
|
// ActionTypeMarkToRemoveMember in scopes Normal. Marks member to be removed. Used when member Pod is annotated with replace annotation
|
||||||
ActionTypeMarkToRemoveMember ActionType = "MarkToRemoveMember"
|
ActionTypeMarkToRemoveMember ActionType = "MarkToRemoveMember"
|
||||||
|
|
||||||
// ActionTypeMemberPhaseUpdate in scopes High. Change member phase
|
// ActionTypeMemberPhaseUpdate in scopes High. Change member phase
|
||||||
ActionTypeMemberPhaseUpdate ActionType = "MemberPhaseUpdate"
|
ActionTypeMemberPhaseUpdate ActionType = "MemberPhaseUpdate"
|
||||||
|
|
||||||
// ActionTypeMemberRIDUpdate in scopes High. Update Run ID of member
|
// ActionTypeMemberRIDUpdate in scopes High. Update Run ID of member
|
||||||
|
//
|
||||||
|
// Deprecated: action is not used anymore
|
||||||
ActionTypeMemberRIDUpdate ActionType = "MemberRIDUpdate"
|
ActionTypeMemberRIDUpdate ActionType = "MemberRIDUpdate"
|
||||||
|
|
||||||
// ActionTypePVCResize in scopes Normal. Start the resize procedure. Updates PVC Requests field
|
// ActionTypePVCResize in scopes Normal. Start the resize procedure. Updates PVC Requests field
|
||||||
ActionTypePVCResize ActionType = "PVCResize"
|
ActionTypePVCResize ActionType = "PVCResize"
|
||||||
|
|
||||||
// ActionTypePVCResized in scopes Normal. Waits for PVC resize to be completed
|
// ActionTypePVCResized in scopes Normal. Waits for PVC resize to be completed
|
||||||
ActionTypePVCResized ActionType = "PVCResized"
|
ActionTypePVCResized ActionType = "PVCResized"
|
||||||
|
|
||||||
// ActionTypePlaceHolder in scopes Normal. Empty placeholder action
|
// ActionTypePlaceHolder in scopes Normal. Empty placeholder action
|
||||||
ActionTypePlaceHolder ActionType = "PlaceHolder"
|
ActionTypePlaceHolder ActionType = "PlaceHolder"
|
||||||
|
|
||||||
// ActionTypeRebalancerCheck in scopes Normal. Check Rebalancer job progress
|
// ActionTypeRebalancerCheck in scopes Normal. Check Rebalancer job progress
|
||||||
ActionTypeRebalancerCheck ActionType = "RebalancerCheck"
|
ActionTypeRebalancerCheck ActionType = "RebalancerCheck"
|
||||||
|
|
||||||
// ActionTypeRebalancerCheckV2 in scopes Normal. Check Rebalancer job progress
|
// ActionTypeRebalancerCheckV2 in scopes Normal. Check Rebalancer job progress
|
||||||
ActionTypeRebalancerCheckV2 ActionType = "RebalancerCheckV2"
|
ActionTypeRebalancerCheckV2 ActionType = "RebalancerCheckV2"
|
||||||
|
|
||||||
// ActionTypeRebalancerClean in scopes Normal. Cleans Rebalancer jobs
|
// ActionTypeRebalancerClean in scopes Normal. Cleans Rebalancer jobs
|
||||||
ActionTypeRebalancerClean ActionType = "RebalancerClean"
|
ActionTypeRebalancerClean ActionType = "RebalancerClean"
|
||||||
|
|
||||||
// ActionTypeRebalancerCleanV2 in scopes Normal. Cleans Rebalancer jobs
|
// ActionTypeRebalancerCleanV2 in scopes Normal. Cleans Rebalancer jobs
|
||||||
ActionTypeRebalancerCleanV2 ActionType = "RebalancerCleanV2"
|
ActionTypeRebalancerCleanV2 ActionType = "RebalancerCleanV2"
|
||||||
|
|
||||||
// ActionTypeRebalancerGenerate in scopes Normal. Generates the Rebalancer plan
|
// ActionTypeRebalancerGenerate in scopes Normal. Generates the Rebalancer plan
|
||||||
ActionTypeRebalancerGenerate ActionType = "RebalancerGenerate"
|
ActionTypeRebalancerGenerate ActionType = "RebalancerGenerate"
|
||||||
|
|
||||||
// ActionTypeRebalancerGenerateV2 in scopes Normal. Generates the Rebalancer plan
|
// ActionTypeRebalancerGenerateV2 in scopes Normal. Generates the Rebalancer plan
|
||||||
ActionTypeRebalancerGenerateV2 ActionType = "RebalancerGenerateV2"
|
ActionTypeRebalancerGenerateV2 ActionType = "RebalancerGenerateV2"
|
||||||
|
|
||||||
// ActionTypeRebuildOutSyncedShards in scopes High. Run Rebuild Out Synced Shards procedure for DBServers
|
// ActionTypeRebuildOutSyncedShards in scopes High. Run Rebuild Out Synced Shards procedure for DBServers
|
||||||
ActionTypeRebuildOutSyncedShards ActionType = "RebuildOutSyncedShards"
|
ActionTypeRebuildOutSyncedShards ActionType = "RebuildOutSyncedShards"
|
||||||
|
|
||||||
// ActionTypeRecreateMember in scopes Normal. Recreate member with same ID and Data
|
// ActionTypeRecreateMember in scopes Normal. Recreate member with same ID and Data
|
||||||
ActionTypeRecreateMember ActionType = "RecreateMember"
|
ActionTypeRecreateMember ActionType = "RecreateMember"
|
||||||
|
|
||||||
// ActionTypeRefreshTLSKeyfileCertificate in scopes Normal. Recreate Server TLS Certificate secret
|
// ActionTypeRefreshTLSKeyfileCertificate in scopes Normal. Recreate Server TLS Certificate secret
|
||||||
ActionTypeRefreshTLSKeyfileCertificate ActionType = "RefreshTLSKeyfileCertificate"
|
ActionTypeRefreshTLSKeyfileCertificate ActionType = "RefreshTLSKeyfileCertificate"
|
||||||
|
|
||||||
// ActionTypeRemoveMember in scopes Normal. Removes member from the Cluster and Status
|
// ActionTypeRemoveMember in scopes Normal. Removes member from the Cluster and Status
|
||||||
ActionTypeRemoveMember ActionType = "RemoveMember"
|
ActionTypeRemoveMember ActionType = "RemoveMember"
|
||||||
|
|
||||||
// ActionTypeRemoveMemberPVC in scopes Normal. Removes member PVC and enforce recreate procedure
|
// ActionTypeRemoveMemberPVC in scopes Normal. Removes member PVC and enforce recreate procedure
|
||||||
ActionTypeRemoveMemberPVC ActionType = "RemoveMemberPVC"
|
ActionTypeRemoveMemberPVC ActionType = "RemoveMemberPVC"
|
||||||
|
|
||||||
// ActionTypeRenewTLSCACertificate in scopes Normal. Recreate Managed CA secret
|
// ActionTypeRenewTLSCACertificate in scopes Normal. Recreate Managed CA secret
|
||||||
ActionTypeRenewTLSCACertificate ActionType = "RenewTLSCACertificate"
|
ActionTypeRenewTLSCACertificate ActionType = "RenewTLSCACertificate"
|
||||||
|
|
||||||
// ActionTypeRenewTLSCertificate in scopes Normal. Recreate Server TLS Certificate secret
|
// ActionTypeRenewTLSCertificate in scopes Normal. Recreate Server TLS Certificate secret
|
||||||
ActionTypeRenewTLSCertificate ActionType = "RenewTLSCertificate"
|
ActionTypeRenewTLSCertificate ActionType = "RenewTLSCertificate"
|
||||||
|
|
||||||
// ActionTypeResignLeadership in scopes Normal. Run the ResignLeadership job on DBServer
|
// ActionTypeResignLeadership in scopes Normal. Run the ResignLeadership job on DBServer
|
||||||
ActionTypeResignLeadership ActionType = "ResignLeadership"
|
ActionTypeResignLeadership ActionType = "ResignLeadership"
|
||||||
|
|
||||||
// ActionTypeResourceSync in scopes Normal. Runs the Resource sync
|
// ActionTypeResourceSync in scopes Normal. Runs the Resource sync
|
||||||
ActionTypeResourceSync ActionType = "ResourceSync"
|
ActionTypeResourceSync ActionType = "ResourceSync"
|
||||||
|
|
||||||
// ActionTypeRotateMember in scopes Normal. Waits for Pod restart and recreation
|
// ActionTypeRotateMember in scopes Normal. Waits for Pod restart and recreation
|
||||||
ActionTypeRotateMember ActionType = "RotateMember"
|
ActionTypeRotateMember ActionType = "RotateMember"
|
||||||
|
|
||||||
// ActionTypeRotateStartMember in scopes Normal. Start member rotation. After this action member is down
|
// ActionTypeRotateStartMember in scopes Normal. Start member rotation. After this action member is down
|
||||||
ActionTypeRotateStartMember ActionType = "RotateStartMember"
|
ActionTypeRotateStartMember ActionType = "RotateStartMember"
|
||||||
|
|
||||||
// ActionTypeRotateStopMember in scopes Normal. Finalize member rotation. After this action member is started back
|
// ActionTypeRotateStopMember in scopes Normal. Finalize member rotation. After this action member is started back
|
||||||
ActionTypeRotateStopMember ActionType = "RotateStopMember"
|
ActionTypeRotateStopMember ActionType = "RotateStopMember"
|
||||||
|
|
||||||
// ActionTypeRuntimeContainerArgsLogLevelUpdate in scopes Normal. Change ArangoDB Member log levels in runtime
|
// ActionTypeRuntimeContainerArgsLogLevelUpdate in scopes Normal. Change ArangoDB Member log levels in runtime
|
||||||
ActionTypeRuntimeContainerArgsLogLevelUpdate ActionType = "RuntimeContainerArgsLogLevelUpdate"
|
ActionTypeRuntimeContainerArgsLogLevelUpdate ActionType = "RuntimeContainerArgsLogLevelUpdate"
|
||||||
|
|
||||||
// ActionTypeRuntimeContainerImageUpdate in scopes Normal. Update Container Image in runtime
|
// ActionTypeRuntimeContainerImageUpdate in scopes Normal. Update Container Image in runtime
|
||||||
ActionTypeRuntimeContainerImageUpdate ActionType = "RuntimeContainerImageUpdate"
|
ActionTypeRuntimeContainerImageUpdate ActionType = "RuntimeContainerImageUpdate"
|
||||||
|
|
||||||
// ActionTypeRuntimeContainerSyncTolerations in scopes Normal. Update Pod Tolerations in runtime
|
// ActionTypeRuntimeContainerSyncTolerations in scopes Normal. Update Pod Tolerations in runtime
|
||||||
ActionTypeRuntimeContainerSyncTolerations ActionType = "RuntimeContainerSyncTolerations"
|
ActionTypeRuntimeContainerSyncTolerations ActionType = "RuntimeContainerSyncTolerations"
|
||||||
// ActionTypeSetCondition in scopes High. (Deprecated) Set deployment condition
|
|
||||||
|
// ActionTypeSetCondition in scopes High. Set deployment condition
|
||||||
|
//
|
||||||
|
// Deprecated: action is not used anymore
|
||||||
ActionTypeSetCondition ActionType = "SetCondition"
|
ActionTypeSetCondition ActionType = "SetCondition"
|
||||||
|
|
||||||
// ActionTypeSetConditionV2 in scopes High. Set deployment condition
|
// ActionTypeSetConditionV2 in scopes High. Set deployment condition
|
||||||
ActionTypeSetConditionV2 ActionType = "SetConditionV2"
|
ActionTypeSetConditionV2 ActionType = "SetConditionV2"
|
||||||
|
|
||||||
// ActionTypeSetCurrentImage in scopes Normal. Update deployment current image after image discovery
|
// ActionTypeSetCurrentImage in scopes Normal. Update deployment current image after image discovery
|
||||||
ActionTypeSetCurrentImage ActionType = "SetCurrentImage"
|
ActionTypeSetCurrentImage ActionType = "SetCurrentImage"
|
||||||
|
|
||||||
// ActionTypeSetCurrentMemberArch in scopes Normal. Set current member architecture
|
// ActionTypeSetCurrentMemberArch in scopes Normal. Set current member architecture
|
||||||
ActionTypeSetCurrentMemberArch ActionType = "SetCurrentMemberArch"
|
ActionTypeSetCurrentMemberArch ActionType = "SetCurrentMemberArch"
|
||||||
|
|
||||||
// ActionTypeSetMaintenanceCondition in scopes Normal. Update ArangoDB maintenance condition
|
// ActionTypeSetMaintenanceCondition in scopes Normal. Update ArangoDB maintenance condition
|
||||||
ActionTypeSetMaintenanceCondition ActionType = "SetMaintenanceCondition"
|
ActionTypeSetMaintenanceCondition ActionType = "SetMaintenanceCondition"
|
||||||
// ActionTypeSetMemberCondition in scopes High. (Deprecated) Set member condition
|
|
||||||
|
// ActionTypeSetMemberCondition in scopes High. Set member condition
|
||||||
|
//
|
||||||
|
// Deprecated: action is not used anymore
|
||||||
ActionTypeSetMemberCondition ActionType = "SetMemberCondition"
|
ActionTypeSetMemberCondition ActionType = "SetMemberCondition"
|
||||||
|
|
||||||
// ActionTypeSetMemberConditionV2 in scopes High. Set member condition
|
// ActionTypeSetMemberConditionV2 in scopes High. Set member condition
|
||||||
ActionTypeSetMemberConditionV2 ActionType = "SetMemberConditionV2"
|
ActionTypeSetMemberConditionV2 ActionType = "SetMemberConditionV2"
|
||||||
|
|
||||||
// ActionTypeSetMemberCurrentImage in scopes Normal. Update Member current image
|
// ActionTypeSetMemberCurrentImage in scopes Normal. Update Member current image
|
||||||
ActionTypeSetMemberCurrentImage ActionType = "SetMemberCurrentImage"
|
ActionTypeSetMemberCurrentImage ActionType = "SetMemberCurrentImage"
|
||||||
|
|
||||||
// ActionTypeShutdownMember in scopes Normal. Sends Shutdown requests and waits for container to be stopped
|
// ActionTypeShutdownMember in scopes Normal. Sends Shutdown requests and waits for container to be stopped
|
||||||
ActionTypeShutdownMember ActionType = "ShutdownMember"
|
ActionTypeShutdownMember ActionType = "ShutdownMember"
|
||||||
|
|
||||||
// ActionTypeTLSKeyStatusUpdate in scopes Normal. Update Status of TLS propagation process
|
// ActionTypeTLSKeyStatusUpdate in scopes Normal. Update Status of TLS propagation process
|
||||||
ActionTypeTLSKeyStatusUpdate ActionType = "TLSKeyStatusUpdate"
|
ActionTypeTLSKeyStatusUpdate ActionType = "TLSKeyStatusUpdate"
|
||||||
|
|
||||||
// ActionTypeTLSPropagated in scopes Normal. Update TLS propagation condition
|
// ActionTypeTLSPropagated in scopes Normal. Update TLS propagation condition
|
||||||
ActionTypeTLSPropagated ActionType = "TLSPropagated"
|
ActionTypeTLSPropagated ActionType = "TLSPropagated"
|
||||||
|
|
||||||
// ActionTypeTimezoneSecretSet in scopes Normal. Set timezone details in cluster
|
// ActionTypeTimezoneSecretSet in scopes Normal. Set timezone details in cluster
|
||||||
ActionTypeTimezoneSecretSet ActionType = "TimezoneSecretSet"
|
ActionTypeTimezoneSecretSet ActionType = "TimezoneSecretSet"
|
||||||
|
|
||||||
// ActionTypeTopologyDisable in scopes Normal. Disable TopologyAwareness
|
// ActionTypeTopologyDisable in scopes Normal. Disable TopologyAwareness
|
||||||
ActionTypeTopologyDisable ActionType = "TopologyDisable"
|
ActionTypeTopologyDisable ActionType = "TopologyDisable"
|
||||||
|
|
||||||
// ActionTypeTopologyEnable in scopes Normal. Enable TopologyAwareness
|
// ActionTypeTopologyEnable in scopes Normal. Enable TopologyAwareness
|
||||||
ActionTypeTopologyEnable ActionType = "TopologyEnable"
|
ActionTypeTopologyEnable ActionType = "TopologyEnable"
|
||||||
|
|
||||||
// ActionTypeTopologyMemberAssignment in scopes Normal. Update TopologyAwareness Members assignments
|
// ActionTypeTopologyMemberAssignment in scopes Normal. Update TopologyAwareness Members assignments
|
||||||
ActionTypeTopologyMemberAssignment ActionType = "TopologyMemberAssignment"
|
ActionTypeTopologyMemberAssignment ActionType = "TopologyMemberAssignment"
|
||||||
|
|
||||||
// ActionTypeTopologyZonesUpdate in scopes Normal. Update TopologyAwareness Zones info
|
// ActionTypeTopologyZonesUpdate in scopes Normal. Update TopologyAwareness Zones info
|
||||||
ActionTypeTopologyZonesUpdate ActionType = "TopologyZonesUpdate"
|
ActionTypeTopologyZonesUpdate ActionType = "TopologyZonesUpdate"
|
||||||
|
|
||||||
// ActionTypeUpToDateUpdate in scopes Normal. Update UpToDate condition
|
// ActionTypeUpToDateUpdate in scopes Normal. Update UpToDate condition
|
||||||
ActionTypeUpToDateUpdate ActionType = "UpToDateUpdate"
|
ActionTypeUpToDateUpdate ActionType = "UpToDateUpdate"
|
||||||
|
|
||||||
// ActionTypeUpdateTLSSNI in scopes Normal. Update certificate in SNI
|
// ActionTypeUpdateTLSSNI in scopes Normal. Update certificate in SNI
|
||||||
ActionTypeUpdateTLSSNI ActionType = "UpdateTLSSNI"
|
ActionTypeUpdateTLSSNI ActionType = "UpdateTLSSNI"
|
||||||
|
|
||||||
// ActionTypeUpgradeMember in scopes Normal. Run the Upgrade procedure on member
|
// ActionTypeUpgradeMember in scopes Normal. Run the Upgrade procedure on member
|
||||||
ActionTypeUpgradeMember ActionType = "UpgradeMember"
|
ActionTypeUpgradeMember ActionType = "UpgradeMember"
|
||||||
|
|
||||||
// ActionTypeWaitForMemberInSync in scopes Normal. Wait for member to be in sync. In case of DBServer waits for shards. In case of Agents to catch-up on Agency index
|
// ActionTypeWaitForMemberInSync in scopes Normal. Wait for member to be in sync. In case of DBServer waits for shards. In case of Agents to catch-up on Agency index
|
||||||
ActionTypeWaitForMemberInSync ActionType = "WaitForMemberInSync"
|
ActionTypeWaitForMemberInSync ActionType = "WaitForMemberInSync"
|
||||||
|
|
||||||
// ActionTypeWaitForMemberReady in scopes Normal. Wait for member Ready condition
|
// ActionTypeWaitForMemberReady in scopes Normal. Wait for member Ready condition
|
||||||
ActionTypeWaitForMemberReady ActionType = "WaitForMemberReady"
|
ActionTypeWaitForMemberReady ActionType = "WaitForMemberReady"
|
||||||
|
|
||||||
// ActionTypeWaitForMemberUp in scopes Normal. Wait for member to be responsive
|
// ActionTypeWaitForMemberUp in scopes Normal. Wait for member to be responsive
|
||||||
ActionTypeWaitForMemberUp ActionType = "WaitForMemberUp"
|
ActionTypeWaitForMemberUp ActionType = "WaitForMemberUp"
|
||||||
)
|
)
|
||||||
|
|
|
@ -286,6 +286,19 @@ func (p Plan) Before(action ...Action) Plan {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WrapWithPlan wraps plan with plan
|
||||||
|
func (p Plan) WrapWithPlan(before, after Plan) Plan {
|
||||||
|
n := Plan{}
|
||||||
|
|
||||||
|
n = append(n, before...)
|
||||||
|
|
||||||
|
n = append(n, p...)
|
||||||
|
|
||||||
|
n = append(n, after...)
|
||||||
|
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
// Wrap wraps plan with actions
|
// Wrap wraps plan with actions
|
||||||
func (p Plan) Wrap(before, after Action) Plan {
|
func (p Plan) Wrap(before, after Action) Plan {
|
||||||
n := Plan{}
|
n := Plan{}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -161,11 +161,14 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("DisableClusterScaling", func(t *testing.T) {
|
t.Run("DisableClusterScaling", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
ActionsExistence(t, api.ActionTypeDisableClusterScaling)
|
ActionsExistence(t, api.ActionTypeDisableClusterScaling)
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeDisableClusterScaling.Internal())
|
require.False(t, api.ActionTypeDisableClusterScaling.Internal())
|
||||||
})
|
})
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeDisableClusterScaling.Optional())
|
require.False(t, api.ActionTypeDisableClusterScaling.Optional())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -191,11 +194,14 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EnableClusterScaling", func(t *testing.T) {
|
t.Run("EnableClusterScaling", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
ActionsExistence(t, api.ActionTypeEnableClusterScaling)
|
ActionsExistence(t, api.ActionTypeEnableClusterScaling)
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeEnableClusterScaling.Internal())
|
require.False(t, api.ActionTypeEnableClusterScaling.Internal())
|
||||||
})
|
})
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeEnableClusterScaling.Optional())
|
require.False(t, api.ActionTypeEnableClusterScaling.Optional())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -381,11 +387,14 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("MemberRIDUpdate", func(t *testing.T) {
|
t.Run("MemberRIDUpdate", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
ActionsExistence(t, api.ActionTypeMemberRIDUpdate)
|
ActionsExistence(t, api.ActionTypeMemberRIDUpdate)
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeMemberRIDUpdate.Internal())
|
require.False(t, api.ActionTypeMemberRIDUpdate.Internal())
|
||||||
})
|
})
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeMemberRIDUpdate.Optional())
|
require.False(t, api.ActionTypeMemberRIDUpdate.Optional())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -633,11 +642,14 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("SetCondition", func(t *testing.T) {
|
t.Run("SetCondition", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
ActionsExistence(t, api.ActionTypeSetCondition)
|
ActionsExistence(t, api.ActionTypeSetCondition)
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeSetCondition.Internal())
|
require.False(t, api.ActionTypeSetCondition.Internal())
|
||||||
})
|
})
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeSetCondition.Optional())
|
require.False(t, api.ActionTypeSetCondition.Optional())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -683,11 +695,14 @@ func Test_Actions(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("SetMemberCondition", func(t *testing.T) {
|
t.Run("SetMemberCondition", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
ActionsExistence(t, api.ActionTypeSetMemberCondition)
|
ActionsExistence(t, api.ActionTypeSetMemberCondition)
|
||||||
t.Run("Internal", func(t *testing.T) {
|
t.Run("Internal", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeSetMemberCondition.Internal())
|
require.False(t, api.ActionTypeSetMemberCondition.Internal())
|
||||||
})
|
})
|
||||||
t.Run("Optional", func(t *testing.T) {
|
t.Run("Optional", func(t *testing.T) {
|
||||||
|
// nolint:staticcheck
|
||||||
require.False(t, api.ActionTypeSetMemberCondition.Optional())
|
require.False(t, api.ActionTypeSetMemberCondition.Optional())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
//
|
|
||||||
// DISCLAIMER
|
|
||||||
//
|
|
||||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
// 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
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
|
|
||||||
package reconcile
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
|
||||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
|
||||||
)
|
|
||||||
|
|
||||||
// newDisableClusterScalingAction creates the new action with disabling scaling DBservers and coordinators.
|
|
||||||
func newDisableClusterScalingAction(action api.Action, actionCtx ActionContext) Action {
|
|
||||||
a := &actionDisableClusterScaling{}
|
|
||||||
|
|
||||||
a.actionImpl = newActionImpl(action, actionCtx, util.NewType[string](""))
|
|
||||||
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
// actionDisableClusterScaling implements disabling scaling DBservers and coordinators.
|
|
||||||
type actionDisableClusterScaling struct {
|
|
||||||
// actionImpl implement timeout and member id functions
|
|
||||||
actionImpl
|
|
||||||
|
|
||||||
// actionEmptyCheckProgress implement check progress with empty implementation
|
|
||||||
actionEmptyCheckProgress
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start disables scaling DBservers and coordinators
|
|
||||||
func (a *actionDisableClusterScaling) Start(ctx context.Context) (bool, error) {
|
|
||||||
err := a.actionCtx.DisableScalingCluster(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
return true, nil
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
//
|
|
||||||
// DISCLAIMER
|
|
||||||
//
|
|
||||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
// 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
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
|
|
||||||
package reconcile
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
|
||||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
|
||||||
)
|
|
||||||
|
|
||||||
// newEnableClusterScalingAction creates the new action with enabling scaling DBservers and coordinators.
|
|
||||||
func newEnableClusterScalingAction(action api.Action, actionCtx ActionContext) Action {
|
|
||||||
a := &actionEnableClusterScaling{}
|
|
||||||
|
|
||||||
a.actionImpl = newActionImpl(action, actionCtx, util.NewType[string](""))
|
|
||||||
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
// actionEnableClusterScaling implements enabling scaling DBservers and coordinators.
|
|
||||||
type actionEnableClusterScaling struct {
|
|
||||||
// actionImpl implement timeout and member id functions
|
|
||||||
actionImpl
|
|
||||||
|
|
||||||
// actionEmptyCheckProgress implement check progress with empty implementation
|
|
||||||
actionEmptyCheckProgress
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start enables scaling DBservers and coordinators
|
|
||||||
func (a *actionEnableClusterScaling) Start(ctx context.Context) (bool, error) {
|
|
||||||
err := a.actionCtx.EnableScalingCluster(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
return true, nil
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
//
|
//
|
||||||
// DISCLAIMER
|
// DISCLAIMER
|
||||||
//
|
//
|
||||||
// Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
|
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
|
@ -27,6 +27,7 @@ import (
|
||||||
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
||||||
"github.com/arangodb/kube-arangodb/pkg/logging"
|
"github.com/arangodb/kube-arangodb/pkg/logging"
|
||||||
|
"github.com/arangodb/kube-arangodb/pkg/util/assertion"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -123,3 +124,25 @@ func (a actionImpl) wrap(in *zerolog.Event) *zerolog.Event {
|
||||||
func (a actionImpl) MemberID() string {
|
func (a actionImpl) MemberID() string {
|
||||||
return *a.memberIDRef
|
return *a.memberIDRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func newDeprecatedAction(action api.Action, actionCtx ActionContext) Action {
|
||||||
|
a := actionDeprecated{}
|
||||||
|
|
||||||
|
a.actionImpl = newActionImplDefRef(action, actionCtx)
|
||||||
|
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
|
type actionDeprecated struct {
|
||||||
|
actionImpl
|
||||||
|
|
||||||
|
actionEmptyCheckProgress
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a actionDeprecated) Start(ctx context.Context) (bool, error) {
|
||||||
|
a.log.Warn("Deprecated Action call")
|
||||||
|
|
||||||
|
assertion.Assert(true, assertion.DeprecatedActionKey, "Action %s is deprecated", a.action.Type.String())
|
||||||
|
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
//
|
|
||||||
// DISCLAIMER
|
|
||||||
//
|
|
||||||
// Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
// 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
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
|
|
||||||
package reconcile
|
|
||||||
|
|
||||||
import (
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
func newMemberRIDUpdateAction(action api.Action, actionCtx ActionContext) Action {
|
|
||||||
a := &actionMemberRIDUpdate{}
|
|
||||||
|
|
||||||
a.actionImpl = newActionImplDefRef(action, actionCtx)
|
|
||||||
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
type actionMemberRIDUpdate struct {
|
|
||||||
actionEmpty
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
//
|
|
||||||
// DISCLAIMER
|
|
||||||
//
|
|
||||||
// Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
// 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
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
|
|
||||||
package reconcile
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
func newSetConditionAction(action api.Action, actionCtx ActionContext) Action {
|
|
||||||
a := &actionSetCondition{}
|
|
||||||
|
|
||||||
a.actionImpl = newActionImplDefRef(action, actionCtx)
|
|
||||||
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
type actionSetCondition struct {
|
|
||||||
// actionImpl implement timeout and member id functions
|
|
||||||
actionImpl
|
|
||||||
|
|
||||||
actionEmptyCheckProgress
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start starts the action for changing conditions on the provided member.
|
|
||||||
func (a actionSetCondition) Start(ctx context.Context) (bool, error) {
|
|
||||||
if len(a.action.Params) == 0 {
|
|
||||||
a.log.Info("can not start the action with the empty list of conditions")
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := a.actionCtx.WithStatusUpdate(ctx, func(s *api.DeploymentStatus) bool {
|
|
||||||
changed := false
|
|
||||||
for condition, value := range a.action.Params {
|
|
||||||
if value == "" {
|
|
||||||
a.log.Debug("remove the condition")
|
|
||||||
|
|
||||||
if s.Conditions.Remove(api.ConditionType(condition)) {
|
|
||||||
changed = true
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
set, err := strconv.ParseBool(value)
|
|
||||||
if err != nil {
|
|
||||||
a.log.Err(err).Str("value", value).Error("can not parse string to boolean")
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
a.log.Debug("set the condition")
|
|
||||||
|
|
||||||
if s.Conditions.Update(api.ConditionType(condition), set, a.action.Reason, "action set the member condition") {
|
|
||||||
changed = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return changed
|
|
||||||
}); err != nil {
|
|
||||||
a.log.Err(err).Warn("Unable to set condition")
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return true, nil
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
//
|
|
||||||
// DISCLAIMER
|
|
||||||
//
|
|
||||||
// Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
// 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
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
|
||||||
//
|
|
||||||
|
|
||||||
package reconcile
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
|
||||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
|
||||||
)
|
|
||||||
|
|
||||||
func newSetMemberConditionAction(action api.Action, actionCtx ActionContext) Action {
|
|
||||||
a := &actionSetMemberCondition{}
|
|
||||||
|
|
||||||
a.actionImpl = newActionImplDefRef(action, actionCtx)
|
|
||||||
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
type actionSetMemberCondition struct {
|
|
||||||
// actionImpl implement timeout and member id functions
|
|
||||||
actionImpl
|
|
||||||
|
|
||||||
actionEmptyCheckProgress
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start starts the action for changing conditions on the provided member.
|
|
||||||
func (a actionSetMemberCondition) Start(ctx context.Context) (bool, error) {
|
|
||||||
m, ok := a.actionCtx.GetMemberStatusByID(a.action.MemberID)
|
|
||||||
if !ok {
|
|
||||||
a.log.Info("can not set the condition because the member is gone already")
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(a.action.Params) == 0 {
|
|
||||||
a.log.Info("can not start the action with the empty list of conditions")
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
for condition, value := range a.action.Params {
|
|
||||||
if value == "" {
|
|
||||||
a.log.Debug("remove the condition")
|
|
||||||
|
|
||||||
m.Conditions.Remove(api.ConditionType(condition))
|
|
||||||
} else {
|
|
||||||
set, err := strconv.ParseBool(value)
|
|
||||||
if err != nil {
|
|
||||||
a.log.Err(err).Str("value", value).Error("can not parse string to boolean")
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
a.log.Debug("set the condition")
|
|
||||||
|
|
||||||
m.Conditions.Update(api.ConditionType(condition), set, a.action.Reason, "action set the member condition")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := a.actionCtx.UpdateMember(ctx, m); err != nil {
|
|
||||||
return false, errors.Wrap(errors.WithStack(err), "can not update the member")
|
|
||||||
}
|
|
||||||
|
|
||||||
return true, nil
|
|
||||||
}
|
|
|
@ -123,15 +123,18 @@ func (r *Reconciler) updateMemberPhasePlan(ctx context.Context, apiObject k8suti
|
||||||
}
|
}
|
||||||
|
|
||||||
func pendingRestartMemberConditionAction(group api.ServerGroup, memberID string, reason string) api.Action {
|
func pendingRestartMemberConditionAction(group api.ServerGroup, memberID string, reason string) api.Action {
|
||||||
return actions.NewAction(api.ActionTypeSetMemberCondition, group, shared.WithPredefinedMember(memberID), reason).AddParam(api.ConditionTypePendingRestart.String(), "T")
|
return shared.UpdateMemberConditionActionV2(reason, api.ConditionTypePendingRestart, group, memberID, true, reason, "", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
func restartMemberConditionAction(group api.ServerGroup, memberID string, reason string) api.Action {
|
func restartMemberConditionAction(group api.ServerGroup, memberID string, reason string) api.Plan {
|
||||||
return pendingRestartMemberConditionAction(group, memberID, reason).AddParam(api.ConditionTypeRestart.String(), "T")
|
return api.Plan{
|
||||||
|
pendingRestartMemberConditionAction(group, memberID, reason),
|
||||||
|
shared.UpdateMemberConditionActionV2(reason, api.ConditionTypeRestart, group, memberID, true, reason, "", ""),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func tlsRotateConditionAction(group api.ServerGroup, memberID string, reason string) api.Action {
|
func tlsRotateConditionAction(group api.ServerGroup, memberID string, reason string) api.Action {
|
||||||
return actions.NewAction(api.ActionTypeSetMemberCondition, group, shared.WithPredefinedMember(memberID), reason).AddParam(api.ConditionTypePendingTLSRotation.String(), "T")
|
return shared.UpdateMemberConditionActionV2(reason, api.ConditionTypePendingTLSRotation, group, memberID, true, reason, "", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Reconciler) updateMemberUpdateConditionsPlan(ctx context.Context, apiObject k8sutil.APIObject,
|
func (r *Reconciler) updateMemberUpdateConditionsPlan(ctx context.Context, apiObject k8sutil.APIObject,
|
||||||
|
@ -144,13 +147,11 @@ func (r *Reconciler) updateMemberUpdateConditionsPlan(ctx context.Context, apiOb
|
||||||
// We are in updating phase
|
// We are in updating phase
|
||||||
if status.Plan.IsEmpty() {
|
if status.Plan.IsEmpty() {
|
||||||
// If plan is empty then something went wrong
|
// If plan is empty then something went wrong
|
||||||
plan = append(plan,
|
plan = append(plan, shared.RemoveMemberConditionActionV2("Clean update actions after failure", api.ConditionTypePendingUpdate, e.Group, e.Member.ID),
|
||||||
actions.NewAction(api.ActionTypeSetMemberCondition, e.Group, e.Member, "Clean update actions after failure").
|
shared.RemoveMemberConditionActionV2("Clean update actions after failure", api.ConditionTypeUpdating, e.Group, e.Member.ID),
|
||||||
AddParam(api.ConditionTypePendingUpdate.String(), "").
|
shared.UpdateMemberConditionActionV2("Clean update actions after failure", api.ConditionTypeUpdateFailed, e.Group, e.Member.ID, true, "Clean update actions after failure", "", ""),
|
||||||
AddParam(api.ConditionTypeUpdating.String(), "").
|
shared.UpdateMemberConditionActionV2("Clean update actions after failure", api.ConditionTypePendingRestart, e.Group, e.Member.ID, true, "Clean update actions after failure", "", ""))
|
||||||
AddParam(api.ConditionTypeUpdateFailed.String(), "T").
|
|
||||||
AddParam(api.ConditionTypePendingRestart.String(), "T"),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -207,7 +208,7 @@ func (r *Reconciler) updateMemberRotationConditions(apiObject k8sutil.APIObject,
|
||||||
r.log.Bool("enforced", true).Info("Unknown reason")
|
r.log.Bool("enforced", true).Info("Unknown reason")
|
||||||
}
|
}
|
||||||
// We need to do enforced rotation
|
// We need to do enforced rotation
|
||||||
return api.Plan{restartMemberConditionAction(group, member.ID, reason)}, nil
|
return restartMemberConditionAction(group, member.ID, reason), nil
|
||||||
case rotation.InPlaceRotation:
|
case rotation.InPlaceRotation:
|
||||||
if member.Conditions.IsTrue(api.ConditionTypeUpdateFailed) {
|
if member.Conditions.IsTrue(api.ConditionTypeUpdateFailed) {
|
||||||
if !(member.Conditions.IsTrue(api.ConditionTypePendingRestart) || member.Conditions.IsTrue(api.ConditionTypeRestart)) {
|
if !(member.Conditions.IsTrue(api.ConditionTypePendingRestart) || member.Conditions.IsTrue(api.ConditionTypeRestart)) {
|
||||||
|
@ -217,7 +218,7 @@ func (r *Reconciler) updateMemberRotationConditions(apiObject k8sutil.APIObject,
|
||||||
} else if member.Conditions.IsTrue(api.ConditionTypeUpdating) || member.Conditions.IsTrue(api.ConditionTypePendingUpdate) {
|
} else if member.Conditions.IsTrue(api.ConditionTypeUpdating) || member.Conditions.IsTrue(api.ConditionTypePendingUpdate) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
return api.Plan{actions.NewAction(api.ActionTypeSetMemberCondition, group, member, reason).AddParam(api.ConditionTypePendingUpdate.String(), "T")}, nil
|
return api.Plan{shared.UpdateMemberConditionActionV2(reason, api.ConditionTypePendingUpdate, group, member.ID, true, reason, "", "")}, nil
|
||||||
case rotation.SilentRotation:
|
case rotation.SilentRotation:
|
||||||
// Propagate changes without restart, but apply plan if required
|
// Propagate changes without restart, but apply plan if required
|
||||||
plan = append(plan, actions.NewAction(api.ActionTypeArangoMemberUpdatePodStatus, group, member, "Propagating status of pod").AddParam(ActionTypeArangoMemberUpdatePodStatusChecksum, checksum))
|
plan = append(plan, actions.NewAction(api.ActionTypeArangoMemberUpdatePodStatus, group, member, "Propagating status of pod").AddParam(ActionTypeArangoMemberUpdatePodStatusChecksum, checksum))
|
||||||
|
@ -234,7 +235,7 @@ func (r *Reconciler) updateMemberRotationConditions(apiObject k8sutil.APIObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
if spec.MemberPropagationMode.Get() == api.DeploymentMemberPropagationModeAlways {
|
if spec.MemberPropagationMode.Get() == api.DeploymentMemberPropagationModeAlways {
|
||||||
return api.Plan{restartMemberConditionAction(group, member.ID, reason)}, nil
|
return restartMemberConditionAction(group, member.ID, reason), nil
|
||||||
} else {
|
} else {
|
||||||
return api.Plan{pendingRestartMemberConditionAction(group, member.ID, reason)}, nil
|
return api.Plan{pendingRestartMemberConditionAction(group, member.ID, reason)}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -203,9 +203,10 @@ func (r *Reconciler) createUpdatePlanInternal(apiObject k8sutil.APIObject, spec
|
||||||
|
|
||||||
if svc, ok := cache.Service().V1().GetSimple(arangoMember.GetName()); ok {
|
if svc, ok := cache.Service().V1().GetSimple(arangoMember.GetName()); ok {
|
||||||
if k8sutil.IsServiceRotationRequired(spec, svc) {
|
if k8sutil.IsServiceRotationRequired(spec, svc) {
|
||||||
return api.Plan{actions.NewAction(api.ActionTypeSetMemberCondition, m.Group, m.Member, "Cleaning update").
|
return api.Plan{
|
||||||
AddParam(api.ConditionTypePendingUpdate.String(), "").
|
shared.RemoveMemberConditionActionV2("Cleaning update", api.ConditionTypePendingUpdate, m.Group, m.Member.ID),
|
||||||
AddParam(api.ConditionTypeUpdating.String(), "T")}, false
|
shared.UpdateMemberConditionActionV2("Cleaning update", api.ConditionTypeUpdating, m.Group, m.Member.ID, true, "Cleaning update", "", ""),
|
||||||
|
}, false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,18 +214,20 @@ func (r *Reconciler) createUpdatePlanInternal(apiObject k8sutil.APIObject, spec
|
||||||
r.planLogger.Err(err).Str("member", m.Member.ID).Error("Error while generating update plan")
|
r.planLogger.Err(err).Str("member", m.Member.ID).Error("Error while generating update plan")
|
||||||
continue
|
continue
|
||||||
} else if mode != rotation.InPlaceRotation {
|
} else if mode != rotation.InPlaceRotation {
|
||||||
return api.Plan{actions.NewAction(api.ActionTypeSetMemberCondition, m.Group, m.Member, "Cleaning update").
|
return api.Plan{
|
||||||
AddParam(api.ConditionTypePendingUpdate.String(), "").
|
shared.RemoveMemberConditionActionV2(reason, api.ConditionTypePendingUpdate, m.Group, m.Member.ID),
|
||||||
AddParam(api.ConditionTypeUpdating.String(), "T")}, false
|
shared.UpdateMemberConditionActionV2(reason, api.ConditionTypeUpdating, m.Group, m.Member.ID, true, reason, "", ""),
|
||||||
|
}, false
|
||||||
} else {
|
} else {
|
||||||
p = withWaitForMember(p, m.Group, m.Member)
|
p = withWaitForMember(p, m.Group, m.Member)
|
||||||
|
|
||||||
p = append(p, actions.NewAction(api.ActionTypeArangoMemberUpdatePodStatus, m.Group, m.Member, "Propagating status of pod").AddParam(ActionTypeArangoMemberUpdatePodStatusChecksum, checksum))
|
p = append(p, actions.NewAction(api.ActionTypeArangoMemberUpdatePodStatus, m.Group, m.Member, "Propagating status of pod").AddParam(ActionTypeArangoMemberUpdatePodStatusChecksum, checksum))
|
||||||
|
p.WrapWithPlan(api.Plan{
|
||||||
p = p.Wrap(actions.NewAction(api.ActionTypeSetMemberCondition, m.Group, m.Member, reason).
|
shared.RemoveMemberConditionActionV2(reason, api.ConditionTypePendingUpdate, m.Group, m.Member.ID),
|
||||||
AddParam(api.ConditionTypePendingUpdate.String(), "").AddParam(api.ConditionTypeUpdating.String(), "T"),
|
shared.UpdateMemberConditionActionV2(reason, api.ConditionTypeUpdating, m.Group, m.Member.ID, true, reason, "", ""),
|
||||||
actions.NewAction(api.ActionTypeSetMemberCondition, m.Group, m.Member, reason).
|
}, api.Plan{
|
||||||
AddParam(api.ConditionTypeUpdating.String(), ""))
|
shared.RemoveMemberConditionActionV2(reason, api.ConditionTypeUpdating, m.Group, m.Member.ID),
|
||||||
|
})
|
||||||
|
|
||||||
return p, false
|
return p, false
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,8 @@ import (
|
||||||
type Key string
|
type Key string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
KeyUnknown Key = ""
|
KeyUnknown Key = ""
|
||||||
|
DeprecatedActionKey Key = "DeprecatedAction"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (k Key) Assert(condition bool, msg string, args ...interface{}) {
|
func (k Key) Assert(condition bool, msg string, args ...interface{}) {
|
||||||
|
|
Loading…
Reference in a new issue