Bug 1807447

Summary: etcd-snapshot-backup.sh attempts to backup /etc/kubernetes/manifests/etcd-member.yaml which does not exist
Product: OpenShift Container Platform Reporter: Andrew McDermott <amcdermo>
Component: EtcdAssignee: Sam Batschelet <sbatsche>
Status: CLOSED DUPLICATE QA Contact: ge liu <geliu>
Severity: high Docs Contact:
Priority: high    
Version: 4.4CC: mfojtik, skolicha, william.caban
Target Milestone: ---   
Target Release: 4.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-10 17:52:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andrew McDermott 2020-02-26 11:25:48 UTC
Description of problem:

etcd-snapshot-backup.sh attempts to backup a file that doesn't exist.

I attempted an etcd backup based on this documentation:

https://docs.openshift.com/container-platform/4.3/backup_and_restore/backing-up-etcd.html#backing-up-etcd-data_backup-etcd


Version-Release number of selected component (if applicable):

$ oc version
Client Version: 4.4.0-0.nightly-2020-02-23-131913
Server Version: 4.4.0-0.nightly-2020-02-23-131913
Kubernetes Version: v1.17.1

How reproducible: Always.

Steps to Reproduce:
1. login into a master node
2. run backup script, observe error
 
Actual results:

$ ssh-bastion ip-10-0-130-197.ec2.internal

[root@ip-10-0-130-197 ~]# sudo /usr/local/bin/etcd-snapshot-backup.sh ./assets/backup
Creating asset directory ./assets
3769cdcdf1e7d8799ca6a830f2200846bad7ba97461c4f212dd4b9a98a098b5a
etcdctl version: 3.3.18
API version: 3.3
Trying to backup etcd client certs..
etcd client certs found in /etc/kubernetes/static-pod-resources/kube-apiserver-pod-13 backing up to ./assets/backup/
Backing up /etc/kubernetes/manifests/etcd-member.yaml to ./assets/backup/
cp: cannot stat '/etc/kubernetes/manifests/etcd-member.yaml': No such file or directory


Maybe I haven't followed the documentation correctly as I see a `/usr/local/bin/etcd-member-add.sh` script. Does this need running first? Reading the backup section I didn't see that called out as prerequisite step.

If I touch the file, I see:

[root@ip-10-0-130-197 ~]# touch /etc/kubernetes/manifests/etcd-member.yaml

[root@ip-10-0-130-197 ~]# sudo /usr/local/bin/etcd-snapshot-backup.sh ./assets/backup
Creating asset directory ./assets
255b3898153a15dd8a71ed18b2db44407ae974df7bd5f9ad18e59d94382b235c
etcdctl version: 3.3.18
API version: 3.3
Trying to backup etcd client certs..
etcd client certs found in /etc/kubernetes/static-pod-resources/kube-apiserver-pod-13 backing up to ./assets/backup/
Backing up /etc/kubernetes/manifests/etcd-member.yaml to ./assets/backup/
Trying to backup latest static pod resources..
Snapshot saved at ./assets/backup/snapshot_2020-02-26_112355.db
snapshot db and kube resources are successfully saved to ./assets/backup!

Please move to appropriate component if this is initially incorrect.

Comment 1 Suresh Kolichala 2020-03-10 17:52:15 UTC
This has been fixed by https://bugzilla.redhat.com/show_bug.cgi?id=1807959. Closing as duplicate.

*** This bug has been marked as a duplicate of bug 1807959 ***