This issue within Velero has me truly stumped. Here is my current default BackupStorageLocation:
apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
creationTimestamp: "2019-12-20T15:36:52Z"
generation: 9
labels:
component: velero
name: default
namespace: velero
resourceVersion: "11735136"
selfLink: /apis/velero.io/v1/namespaces/velero/backupstoragelocations/default
uid: fb9c4c86-94ff-40a2-8cca-1ce42f4aefa7
spec:
config:
region: mi
s3ForcePathStyle: "true"
s3Url: https://my-internal-s3compliant-purestorage-flashblade.com
objectStorage:
bucket: bucket-name
provider: aws
This is using the AWS plugin with the s3Url
pointing to an on-prem Pure Storage Flashblade that has an S3-compliant API (tested with the aws-go library).
Here is the error I am receiving:
time="2019-12-22T21:18:51Z" level=debug msg="plugin process exited" cmd=/plugins/velero-plugin-for-aws logSource="pkg/plugin/clientmgmt/logrus_adapter.go:74" path=/plugins/velero-plugin-for-aws pid=42
time="2019-12-22T21:18:51Z" level=debug msg="plugin exited" cmd=/plugins/velero-plugin-for-aws logSource="pkg/plugin/clientmgmt/logrus_adapter.go:74"
An error occurred: some backup storage locations are invalid: backup store for location "default" is invalid: rpc error: code = Unknown desc = RequestError: send request failed
caused by: Get http://my-internal-s3compliant-purestorage-flashblade.com/login: dial tcp 10.*.*.*:80: i/o timeout
For some reason Velero is attempting to make the connection using HTTP and port 80 rather than what I have configured it to do which is to use HTTPS and port 443. I don't have port 80 open on the s3 server so Velero cannot make the connection. However, it should be trying to use port 443 per the configuration of the storage location.
Any ideas as to what the problem might be here? Thank you!