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

Outdated installation with kyma in k3d #96

Closed
RafaelPaulovic opened this issue Sep 28, 2023 · 2 comments
Closed

Outdated installation with kyma in k3d #96

RafaelPaulovic opened this issue Sep 28, 2023 · 2 comments

Comments

@RafaelPaulovic
Copy link

RafaelPaulovic commented Sep 28, 2023

Description

Following the README.md bundling and installation triggers deprecation warnings and guide with k3d installation is not well documented. After several tries and errors, I couldn't make the template operator work using kyma alpha deploy.

I could manage to install the template-operator following https://github.com/kyma-project/lifecycle-manager/blob/main/docs/developer-tutorials/local-test-setup.md#skr-cluster-setup (uses istio and 2 k3d clusters), but not with kyma deploy + kyma alpha deploy.

Installation with kyma deploy:

❯ kyma provision k
  Checking if port flags are valid
  Checking if k3d registry of previous kyma installation exists
  Checking if k3d cluster of previous kyma installation exists
  Deleted k3d registry of previous kyma installation
- k3d status verified (507ms)
- Created k3d registry 'k3d-kyma-registry:5001' (399ms)
- Created k3d cluster 'kyma' (20.394s)
❯ kyma deploy -s=2.18.1
- Detecting Environment (0s)
...
Kyma is installed in version:   2.18.1
❯ cd ~/go/src/github.com/kyma-project/template-operator
❯ git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
❯ git pull
Already up to date
❯ make docker-build docker-push IMG="k3d-kyma-registry:5001/unsigned/operator-images/sample-operator:0.0.1"
docker build -t k3d-kyma-registry:5001/unsigned/operator-images/sample-operator:0.0.1 --build-arg TARGETARCH=amd64 .
...
docker push k3d-kyma-registry:5001/unsigned/operator-images/sample-operator:0.0.1
The push refers to repository [k3d-kyma-registry:5001/unsigned/operator-images/sample-operator]
...
0.0.1: digest: sha256:1c7ca131ad5f2f7825953bf055a59b75d3f23000ff4f4948ae92ce763d944523 size: 2610
# I believe image name might be wrong, so I pushed also with `template-operator` image name
❯ kyma alpha create module --version 0.0.1 --insecure --registry k3d-kyma-registry:5000/unsigned
WARNING: This command is experimental and might change in its final version. Use at your own risk.
WARNING: "--module-config-file" flag is required. If you want to build a module from a Kubebuilder project instead, use the "--kubebuilder-project" flag.
Error: "--module-config-file" flag is required
❯ make build-manifests
/Users/I507794/go/src/github.com/kyma-project/template-operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/Users/I507794/go/src/github.com/kyma-project/template-operator/bin/kustomize build config/default > template-operator.yaml
# did both for 5000 and 5001
❯ kyma alpha create module --version 0.0.1 --insecure --registry k3d-kyma-registry:5000/unsigned --module-config-file=module-config.yaml
...
- Module successfully pushed to "k3d-kyma-registry:5000/unsigned" (54ms)
- Template successfully generated at template.yaml (3ms)
# did first with 5000, then used 5001 since this is where it is exposed on my local machine
❯ kyma alpha create module --version 0.0.1 --insecure --registry k3d-kyma-registry:5001/unsigned --module-config-file=module-config.yaml
# assigning the field .spec.target to value control-plane 

❯ nano template.yaml
❯ kyma alpha deploy
- Deployed cert-manager.io in version v1.11.0 (23.793s)
- Used Lifecycle-Manager: europe-docker.pkg.dev/kyma-project/prod/lifecycle-manager:latest (0s)
...
Kyma is installed in version:   alpha deployment with lifecycle-manager
...
❯ ./hack/local-template.sh
http:5000//k3d-kyma-registry:5000/unsigned
# wrong address -> should be http://k3d-kyma-registry:5000/unsigned -> changed manually
# revert and change manually to http://k3d-kyma-registry:5000/unsigned
❯ kubectl apply -f template.yaml
moduletemplate.operator.kyma-project.io/template-operator-fast created
# changed to `template-operator` from `sample` -> outdated module name
❯ kubectl patch kyma default-kyma -n kyma-system --type='json' -p='[{"op": "add", "path": "/spec/modules", "value": [{"name": "template-operator" }] }]'
kyma.operator.kyma-project.io/default-kyma patched
❯ k describe kyma -n kyma-system
...
Warning  ModuleReconciliationError  76s (x25 over 2m4s)  lifecycle-manager  no templates were found: in channel regular for module template-operator
# patch to fast channel -> maybe add this to documentation?
❯ k describe kyma -n kyma-system
Status:
  Active Channel:  fast
  Conditions:
    Last Transition Time:  2023-09-28T09:48:20Z
    Message:               not all modules are in ready state
    Observed Generation:   5
    Reason:                Ready
    Status:                False
    Type:                  Modules
  Last Operation:
    Last Update Time:  2023-09-28T09:48:20Z
    Operation:         waiting for all modules to become ready
  Modules:
    Channel:  fast
    Fqdn:     kyma-project.io/module/template-operator
    Manifest:
      API Version:  operator.kyma-project.io/v1beta2
      Kind:         Manifest
      Metadata:
        Generation:  1
        Name:        default-kyma-template-operator-2235966007
        Namespace:   kyma-system
    Name:            template-operator
    Resource:
      API Version:  operator.kyma-project.io/v1alpha1
      Kind:         Sample
      Metadata:
        Name:       sample-yaml
        Namespace:  kyma-system
    State:          Error
    Template:
      API Version:  operator.kyma-project.io/v1beta2
      Kind:         ModuleTemplate
      Metadata:
        Generation:  1
        Name:        template-operator-fast
        Namespace:   kcp-system
    Version:         v1.0.0
  State:             Error
❯ k describe kyma -n kyma-system
...
Warning  ModuleReconciliationError  112s (x150 over 6m53s)  lifecycle-manager  no templates were found: in channel fast for module template-operator

After this and trying a bit more to make it work, I stopped trying and went for the other guide.

Could you please update and enhance the documentation explaining how to make it work with a single k3d cluster and via kyma commands?

Thanks!

Area

  • Template operator
  • Modules
  • Lifecycle manager

Reasons

Trying to develop a new module locally out of the template doesn't work or is at least not straight forward (at least from the steps I tried). Documentation is at least outdated, and requires reading docs from another repository.

Assignees

@kyma-project/technical-writers

Attachments

See logs

@RafaelPaulovic RafaelPaulovic changed the title Outdated/broken installation with latest kyma in k3d Outdated installation with kyma in k3d Sep 28, 2023
@RafaelPaulovic
Copy link
Author

Managed to make it work.

@ruanxin
Copy link
Contributor

ruanxin commented Oct 12, 2023

Hi @RafaelPaulovic , thanks for trying out template operator and sorry for the bad experience that you encountered, but glad you made it work! we have to admit the document of this repo is heavily outdated due to we are iterating and developing new features very frequently for kyma modulation topic.

I've gone ahead and created an issue in our backlog to update the documentation, and we will start working on it very soon.

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

No branches or pull requests

2 participants