Calico Upgrade v3.x to v3.16

Background: I manage several clients who host k8s clusters via their on-prem infrastructure. The plan is to upgrade them to kubernetes version 1.17.x. In the interest of getting clients more up to date, I also wanted to upgrade their networking plugin. Currently, some clients still use Calico v3.3 and others v3.10. Calico is used for both networking and policy and there is no custom configuration aside from the Pod CIDR used (e.g. 10.244.0.0/16). I read Calico v3.16 supports Kubernetes version 1.17, so I would ideally like to upgrade to this version.

Steps taken: I built a small cluster in a sandbox environment running Calico v3.10 in an attempt to mirror the client upgrade process before rolling it out to them. calicoctl was installed as a pod. I followed the pre-upgrade instructions detailed here- https://docs.projectcalico.org/maintenance/kubernetes-upgrade. When running calicoctl get hep -owide | grep ‘*’ | awk ‘{print $1}’ to get a list of the all-interfaces, the list of all-interfaces returned was empty.

Ultimate question: Should the fact I did not get a listing of all-interfaces be of concern or should I be okay to proceed straight to the upgrade steps?

If more details are needed, I will gladly supply them. Thank you!

calicoctl get hep lists host endpoints; you won’t have any of those by default

calicoctl get wep lists workload endpoints; you should have one per pod.

I think it is reasonable to not get any entries from calicoctl get hep. As @fasaxc points out they are not created by default so it would be a specific action on the part of the administrator/user to create them.
I think on clusters that do not report a list, like you’ve seen, should be fine to move to the upgrade steps.

Just learning Calico and ran into the same issue as I am working thru the upgrade documentation.

As an absolute beginner, should I take it upon myself to submit changes? Do I try to link to this discussion or just add the gist?
For me this was most useful!
calicoctl get hep lists host endpoints; you won’t have any of those by default
calicoctl get wep lists workload endpoints; you should have one per pod.