Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(MeshRetry): add host selection predicates #6465

Merged
merged 3 commits into from
Apr 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3007,6 +3007,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3007,6 +3007,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3211,6 +3211,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3027,6 +3027,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
37 changes: 37 additions & 0 deletions app/kumactl/cmd/install/testdata/install-crds.all.golden.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4179,6 +4179,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4383,6 +4383,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
37 changes: 37 additions & 0 deletions deployments/charts/kuma/crds/kuma.io_meshretries.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,43 @@ spec:
is 10 times the "BaseInterval".
type: string
type: object
hostSelection:
description: HostSelection is a list of predicates that
dictate how hosts should be selected when requests
are retried.
items:
properties:
predicate:
description: Type is requested predicate mode.
Available values are OmitPreviousHosts, OmitHostsWithTags,
and OmitPreviousPriorities.
type: string
tags:
additionalProperties:
type: string
description: Tags is a map of metadata to match
against for selecting the omitted hosts. Required
if Type is OmitHostsWithTags
type: object
updateFrequency:
description: UpdateFrequency is how often the
priority load should be updated based on previously
attempted priorities. Used for OmitPreviousPriorities.
Default is 2 if not set.
format: int32
type: integer
required:
- predicate
type: object
type: array
hostSelectionMaxAttempts:
description: HostSelectionMaxAttempts is the maximum
number of times host selection will be reattempted
before giving up, at which point the host that was
last selected will be routed to. If unspecified, this
will default to retrying once.
format: int64
type: integer
numRetries:
description: NumRetries is the number of attempts that
will be made on failed (and retriable) requests
Expand Down
Loading