openshift / enhancements

Enhancements tracking repository for OKD
Apache License 2.0
179 stars 469 forks source link

WIP: ETCD-610: automated backups no config #1646

Open Elbehery opened 4 months ago

Elbehery commented 4 months ago

This PR add enhancement proposal for Etcd Automated Backups No Config.

Resolves https://issues.redhat.com/browse/ETCD-610

cc @openshift/openshift-team-etcd

openshift-ci-robot commented 4 months ago

@Elbehery: This pull request references ETCD-610 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/enhancements/pull/1646): >This PR add enhancement proposal for `Etcd Automated Backups No Config`. > >Resolves https://issues.redhat.com/browse/ETCD-610 > >cc @openshift/openshift-team-etcd Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fenhancements). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
Elbehery commented 4 months ago

/assign @hasbro17 /assign @tjungblu /assign @dusk125 /assign @soltysh

openshift-ci[bot] commented 4 months ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please ask for approval from hasbro17. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/openshift/enhancements/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
Elbehery commented 4 months ago

Also see this default I used to test the approach


apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: etcd-backup-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: etcd-backup-pvc
  namespace: openshift-etcd
spec:
  accessModes:
  - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 10Gi 
  storageClassName: etcd-backup-local-storage

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: etcd-backup-pv-fs
spec:
  capacity:
    storage: 100Gi 
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: etcd-backup-local-storage
  local:
    path: /mnt
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:

---

apiVersion: operator.openshift.io/v1alpha1
kind: EtcdBackup
metadata:
  name: etcd-single-backup
  namespace: openshift-etcd
spec:
  pvcName: etcd-backup-pvc
Elbehery commented 4 months ago

/label tide/merge-method-squash

openshift-bot commented 1 month ago

Inactive enhancement proposals go stale after 28d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Mark the proposal as fresh by commenting /remove-lifecycle stale. Stale proposals rot after an additional 7d of inactivity and eventually close. Exclude this proposal from closing by commenting /lifecycle frozen.

If this proposal is safe to close now please do so with /close.

/lifecycle stale

Elbehery commented 1 month ago

/assign @hasbro17 ptal :)

openshift-bot commented 1 month ago

Stale enhancement proposals rot after 7d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Mark the proposal as fresh by commenting /remove-lifecycle rotten. Rotten proposals close after an additional 7d of inactivity. Exclude this proposal from closing by commenting /lifecycle frozen.

If this proposal is safe to close now please do so with /close.

/lifecycle rotten /remove-lifecycle stale

Elbehery commented 1 month ago

/lifecycle rotten /remove-lifecycle stale

openshift-bot commented 3 weeks ago

Rotten enhancement proposals close after 7d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Reopen the proposal by commenting /reopen. Mark the proposal as fresh by commenting /remove-lifecycle rotten. Exclude this proposal from closing again by commenting /lifecycle frozen.

/close

openshift-ci[bot] commented 3 weeks ago

@openshift-bot: Closed this PR.

In response to [this](https://github.com/openshift/enhancements/pull/1646#issuecomment-2401026874): >Rotten enhancement proposals close after 7d of inactivity. > >See https://github.com/openshift/enhancements#life-cycle for details. > >Reopen the proposal by commenting `/reopen`. >Mark the proposal as fresh by commenting `/remove-lifecycle rotten`. >Exclude this proposal from closing again by commenting `/lifecycle frozen`. > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
Elbehery commented 3 weeks ago

/reopen

Elbehery commented 3 weeks ago

/remove-lifecycle rotten

openshift-ci-robot commented 3 weeks ago

@Elbehery: This pull request references ETCD-610 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/enhancements/pull/1646): >This PR add enhancement proposal for `Etcd Automated Backups No Config`. > >Resolves https://issues.redhat.com/browse/ETCD-610 > >cc @openshift/openshift-team-etcd Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fenhancements). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci[bot] commented 3 weeks ago

@Elbehery: Reopened this PR.

In response to [this](https://github.com/openshift/enhancements/pull/1646#issuecomment-2402192035): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
Elbehery commented 3 weeks ago

I tested the proposal from @JoelSpeed here

You can find the outcome on comments

I actually think this is more convenient than a sidecar on static-pods, since the etcd pods availability is vital for the cluster stability. It is better to utilize an approach away from static pods.

openshift-ci[bot] commented 3 days ago

@Elbehery: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).