Skip to content
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

Documentation and manifest mismatch #6730

Closed
aceeric opened this issue Sep 17, 2022 · 2 comments
Closed

Documentation and manifest mismatch #6730

aceeric opened this issue Sep 17, 2022 · 2 comments

Comments

@aceeric
Copy link

aceeric commented Sep 17, 2022

This page: https://projectcalico.docs.tigera.io/getting-started/kubernetes/self-managed-onprem/onpremises

Provides direction to download https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/tigera-operator.yaml - which contains CRD defs. Those CRDs are all:

  versions:
  - name: v1

So:

$ kubectl api-resources  | grep 'NAME\|calico'
NAME                              SHORTNAMES   APIVERSION                             NAMESPACED   KIND
...
ippools                                        crd.projectcalico.org/v1               false        IPPool
...

I was trying to install Tigera/Calico and ran into a problem. So after the tigera download/install I thought I would try: https://projectcalico.docs.tigera.io/getting-started/kubernetes/hardway/configure-ip-pools.

That page says:

cat > pool1.yaml <<EOF
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: pool1
spec:
  cidr: 192.168.0.0/18
  ipipMode: Never
  natOutgoing: true
  disabled: false
  nodeSelector: all()
EOF

Notice API version mismatch. Neither documentation page is versioned so it's natural to think that they're talking about the same version/release. In other words its natural to assume that the CRD versions in the Tigera scenario are the same version as the hard way scenario but that seems not to be the case. Is this intentional?

Thank you.

@Josh-Tigera
Copy link
Contributor

The difference is subtle but crd.projectcalico.org/v1 != projectcalico.org/v3 and is intentional. The latter is a kind of placeholder to reference an older APIVersion that we no longer use, so internally we translate them to the former "real" version associated with the CRD (ie. crd.projectcalico.org/v1). Very understandable how this is confusing though given how one string is what looks like a subset of the other.

@Josh-Tigera Josh-Tigera closed this as not planned Won't fix, can't repro, duplicate, stale Sep 20, 2022
@caseydavenport
Copy link
Member

For more info: #6412

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants