Skip to content

promote 6.0.12-5 #154

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

Merged
merged 8 commits into from
Feb 11, 2021
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
.idea
.idea
238 changes: 171 additions & 67 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions admission.bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ spec:
serviceAccountName: redis-enterprise-admission
containers:
- name: admin
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down Expand Up @@ -86,7 +86,7 @@ spec:
scheme: HTTPS
initContainers:
- name: admin-init
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- /usr/local/bin/admission
args:
Expand Down
12 changes: 7 additions & 5 deletions admission/GESHER.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ This will deploy the admission proxy, and via an included **NamespacedValidating

8. Deployment for the Gesher operator

**Note:** if one is using openshift, one should replace `operator.yaml` with `operator.openshift.yaml`
**Note:** if one is using openshift, one should replace `operator.yaml` with `operator.openshift.yaml`

```shell script
kubectl apply -f gesher/operator.yaml
Expand Down Expand Up @@ -239,12 +239,14 @@ $ kubectl apply -f - << EOF
apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseDatabase
metadata:
name: test-database-custom-resource
name: redis-enterprise-database
spec:
evictionPolicy: illegal
EOF
```

This must fail with an error output by the admission webhook redb.admisison.redislabs that is being denied because it can't get the login credentials for the Redis Enterprise Cluster as none were specified.
This must fail with an error output by the admission webhook proxy.webhook.gesher that is being denied because 'illegal' is not a valid eviction policy.

```shell script
Error from server: error when creating "STDIN": admission webhook "proxy.webhook.gesher" denied the request: proxied webhook webhook denied the request: failed get RedisEnterpriseCluster client: custom resource (RedisEnterpriseCluster) not found: resource name may not be empty
```
Error from server: error when creating "STDIN": admission webhook "proxy.webhook.gesher" denied the request: proxied webhook webhook denied the request: eviction_policy: u'illegal' is not one of [u'volatile-lru', u'volatile-ttl', u'volatile-random', u'allkeys-lru', u'allkeys-random', u'noeviction', u'volatile-lfu', u'allkeys-lfu']
```
4 changes: 2 additions & 2 deletions admission/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spec:
serviceAccountName: redis-enterprise-admission
containers:
- name: admin
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- /usr/local/bin/admission
imagePullPolicy: Always
Expand Down Expand Up @@ -43,7 +43,7 @@ spec:
scheme: HTTPS
initContainers:
- name: admin-init
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- /usr/local/bin/admission
args:
Expand Down
2 changes: 1 addition & 1 deletion advanced/psp.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: redis-enterprise-psp
Expand Down
27 changes: 25 additions & 2 deletions bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ rules:
resources: ["events"]
verbs: ["create"]
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets"]
resources: ["deployments", "statefulsets", "replicasets"]
verbs: ["*"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
Expand Down Expand Up @@ -1772,7 +1772,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down Expand Up @@ -2123,6 +2123,9 @@ spec:
description: The name of the K8s secret that holds the password to the
database.
type: string
defaultUser:
description: Is connecting with a default user allowed?
type: boolean
evictionPolicy:
description: Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/
type: string
Expand Down Expand Up @@ -2213,6 +2216,26 @@ spec:
description: In-memory database replication. When enabled, database
will have replica shard for every master - leading to higher availability.
type: boolean
rolesPermissions:
description: List of Redis Enteprise ACL and Role bindings to apply
items:
description: Redis Enterprise Role and ACL Binding
properties:
acl:
description: Acl Name of RolePermissionType
type: string
role:
description: Role Name of RolePermissionType
type: string
type:
description: Type of Redis Enterprise Database Role Permission
type: string
required:
- acl
- role
- type
type: object
type: array
shardCount:
description: Number of database server-side shards
type: integer
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,31 @@ kind: CustomResourceDefinition
metadata:
name: redisenterpriseclusters.app.redislabs.com
spec:
additionalPrinterColumns:
- JSONPath: .spec.nodes
name: Nodes
type: string
- JSONPath: .spec.redisEnterpriseImageSpec.versionTag
name: Version
type: string
- JSONPath: .status.state
name: State
type: string
- JSONPath: .status.specStatus
name: Spec Status
type: string
- JSONPath: .status.licenseStatus.licenseState
name: License State
type: string
- JSONPath: .status.licenseStatus.shardsLimit
name: Shards Limit
type: string
- JSONPath: .status.licenseStatus.expirationDate
name: License Expiration Date
type: string
- name: Age
type: date
JSONPath: .metadata.creationTimestamp
group: app.redislabs.com
names:
kind: RedisEnterpriseCluster
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@ spec:
description: The name of the K8s secret that holds the password to the
database.
type: string
defaultUser:
description: Is connecting with a default user allowed?
type: boolean
evictionPolicy:
description: Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/
type: string
Expand Down Expand Up @@ -414,6 +417,26 @@ spec:
description: In-memory database replication. When enabled, database
will have replica shard for every master - leading to higher availability.
type: boolean
rolesPermissions:
description: List of Redis Enteprise ACL and Role bindings to apply
items:
description: Redis Enterprise Role and ACL Binding
properties:
acl:
description: Acl Name of RolePermissionType
type: string
role:
description: Role Name of RolePermissionType
type: string
type:
description: Type of Redis Enterprise Database Role Permission
type: string
required:
- acl
- role
- type
type: object
type: array
shardCount:
description: Number of database server-side shards
type: integer
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
name: "redis-enterprise"
name: rec
spec:
# Add fields here
nodes: 3
31 changes: 26 additions & 5 deletions log_collector/log_collector.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,23 @@ def make_dir(directory):
sys.exit()


def _filter_non_existing_namespaces(namespaces):
"""
Filter non-existing namespaces from user's input
"""
return_code, out = run_shell_command("kubectl get ns -o=custom-columns='DATA:metadata.name' --no-headers=true")
if return_code:
return []
res = []
existing_namespaces = set(out.split())
for ns in namespaces:
if ns in existing_namespaces:
res.append(ns)
else:
logger.warning("Namespace %s doesn't exist - Skipping", ns)
return res


def _get_namespaces_to_run_on(namespace):
def _get_namespace_from_config():
config_namespace = get_namespace_from_config()
Expand All @@ -94,7 +111,12 @@ def _get_namespace_from_config():
return out.split()

# comma separated string
return namespace.split(',')
namespaces = namespace.split(',')
existing_namespaces = _filter_non_existing_namespaces(namespaces)
if not existing_namespaces:
logger.warning("Input doesn't contain an existing namespace - will use namespace from config")
return _get_namespace_from_config()
return existing_namespaces


def collect_from_ns(namespace, output_dir):
Expand Down Expand Up @@ -168,11 +190,10 @@ def collect_pod_rs_logs(namespace, output_dir):
get logs from rs pods that are not ready
"""
rs_pod_logs_dir = os.path.join(output_dir, "rs_pod_logs")
non_ready_rs_pod_names = get_non_ready_rs_pod_names(namespace)
if not non_ready_rs_pod_names:
return
rs_pod_names = get_pod_names(namespace=namespace, selector='redis.io/role=node')
make_dir(rs_pod_logs_dir)
for rs_pod_name in non_ready_rs_pod_names:
# TODO restore usage of get_non_ready_rs_pod_names once RS bug is resolved (RED-51857) # pylint: disable=W0511
for rs_pod_name in rs_pod_names:
pod_log_dir = os.path.join(rs_pod_logs_dir, rs_pod_name)
make_dir(pod_log_dir)
cmd = "kubectl -n {} cp {}:{} {} -c {}".format(namespace,
Expand Down
3 changes: 3 additions & 0 deletions multi-namespace-redb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ subjects:
- kind: ServiceAccount
name: redis-enterprise-operator
namespace: NAMESPACE_OF_SERVICE_ACCOUNT
- kind: ServiceAccount
name: redis-enterprise-admission
namespace: NAMESPACE_OF_SERVICE_ACCOUNT
- kind: ServiceAccount
name: NAME_OF_REC_SERVICE_ACCOUNT # service account of the REC, usually the same as the name of the custom resource
namespace: NAMESPACE_OF_SERVICE_ACCOUNT
Expand Down
2 changes: 1 addition & 1 deletion multi-namespace-redb/operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ spec:
serviceAccountName: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator-internal:6.0.8-20
image: redislabs/operator:6.0.12-5
command:
- redis-enterprise-operator
imagePullPolicy: Always
Expand Down
27 changes: 25 additions & 2 deletions openshift.bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ rules:
resources: ["events"]
verbs: ["create"]
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets"]
resources: ["deployments", "statefulsets", "replicasets"]
verbs: ["*"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
Expand Down Expand Up @@ -1788,7 +1788,7 @@ spec:
serviceAccount: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
securityContext:
runAsUser: 1001
command:
Expand Down Expand Up @@ -2139,6 +2139,9 @@ spec:
description: The name of the K8s secret that holds the password to the
database.
type: string
defaultUser:
description: Is connecting with a default user allowed?
type: boolean
evictionPolicy:
description: Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/
type: string
Expand Down Expand Up @@ -2229,6 +2232,26 @@ spec:
description: In-memory database replication. When enabled, database
will have replica shard for every master - leading to higher availability.
type: boolean
rolesPermissions:
description: List of Redis Enteprise ACL and Role bindings to apply
items:
description: Redis Enterprise Role and ACL Binding
properties:
acl:
description: Acl Name of RolePermissionType
type: string
role:
description: Role Name of RolePermissionType
type: string
type:
description: Type of Redis Enterprise Database Role Permission
type: string
required:
- acl
- role
- type
type: object
type: array
shardCount:
description: Number of database server-side shards
type: integer
Expand Down
2 changes: 1 addition & 1 deletion openshift/operator_rhel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ spec:
serviceAccount: redis-enterprise-operator
containers:
- name: redis-enterprise-operator
image: redislabs/operator:6.0.8-20
image: redislabs/operator:6.0.12-5
securityContext:
runAsUser: 1001
command:
Expand Down
14 changes: 14 additions & 0 deletions openshift/rec_rhel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
name: rec
spec:
# Add fields here
nodes: 3
redisEnterpriseImageSpec:
repository: registry.connect.redhat.com/redislabs/redis-enterprise
versionTag: 6.0.12-57.rhel7-openshift
redisEnterpriseServicesRiggerImageSpec:
repository: registry.connect.redhat.com/redislabs/services-manager
bootstrapperImageSpec:
repository: registry.connect.redhat.com/redislabs/redis-enterprise-operator
23 changes: 0 additions & 23 deletions openshift/redis-enterprise-cluster_rhel.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion openshift/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ rules:
resources: ["events"]
verbs: ["create"]
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets"]
resources: ["deployments", "statefulsets", "replicasets"]
verbs: ["*"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
Expand Down
Loading