Skip to content

Commit

Permalink
Merge pull request #529 from entando/ENDOC-498
Browse files Browse the repository at this point in the history
ENDOC-498 general update
  • Loading branch information
jyunmitch authored Jun 27, 2022
2 parents bb22327 + 74c6165 commit dfc5b0c
Show file tree
Hide file tree
Showing 4 changed files with 180 additions and 244 deletions.
66 changes: 30 additions & 36 deletions vuepress/docs/next/docs/curate/ecr-troubleshooting-guide.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,64 @@
# Troubleshooting ECR

## A bundle installation/removal has failed, how to access the logs?
## How do I access the logs?
**A bundle installation or removal has failed. How do I access the logs?**

### Overview
Currently the Entando Component Manager logs are only available in Kubernetes through Openshift dashboards or CLI tools like K9s and kubectl.

Currently the Entando component manager logs are available in kubernetes via dashboard (openshift) or cli tools (k9s or kubectl).
If in you Entando cluster you have more than one Entando App custom resource, you will need to know what's the correct component-manager to check using the corresponding Entando App name and namespace where the app has been deployed.

### Solution

Using `kubectl` and assuming for simplicity that you have only one Entando App named `quickstart` and your Entando cluster is only composed of one namespace, also named `quickstart`,
you can get the component-manager logs using the command
If your Entando cluster has more than one Entando App custom resource, find the component manager in question using the Entando App name and namespace where the app has been deployed. Assuming you have a single Entando App named `quickstart` and your cluster namespace is called `YOUR-NAMESPACE`,
retrieve the component manager logs using this command:
```
kubectl logs -f deployment/quickstart-server-deployment --namespace quickstart -c de-container
kubectl logs -f deployment/quickstart-server-deployment --namespace YOUR-NAMESPACE -c de-container
```
**Note**: the `-f` flag is optional and could be used to follow the logs for debugging purposes
Note the `-f` flag is optional and used to follow the logs for debugging purposes.

## My bundle has an issue, how should I publish a new version of the bundle?
## How do I publish a new version
**My bundle has an issue. How do I publish a new version of the bundle?**

### Overview
Sometimes a bundle could have some issues: typos in the `descriptor.yaml` file, wrong references of components or to not available docker images are just a few of the possible errors.
Sometimes a bundle could have issues such as typos in the descriptor.yaml, faulty references for components, or unavailable Docker images. After making the corrections, your bundle will need to be updated.

### Solution

1. If the bundle is shared using a git repository, you can make the required changes to your project and publish the new version to git and generate a new tag for it.
2. Once the new tag is published, update the bundle costum-resource avaialble in you Entando Cluster by adding the new tag to the `tags` objects and replacing the latest `dist-tags` to point to this new version.
3. Proceed with the new installation
1. If the bundle is shared in a Git repository, you can make the required changes to your project, publish the new version to Git, and generate a new tag for it.
2. Once the new tag is published, update the bundle custom resource in the cluster by adding the new tag to the `tags` object and replacing the latest `dist-tags` to point to the new version.
3. Then proceed with the new installation.

If you're actively working on your bundle and you simply want to verify things are working correctly, instead of generating a new tag for each release of the bundle you can try to keep overriding a specific tag using the git command `git tag -f`. We suggest you to follow this practice only during development and not in production.
Note: If you're actively working on your bundle and simply want to verify that things are working correctly, you can override a specific tag using the Git command `git tag -f` instead of generating a new tag for each release of the bundle. You should follow this practice only during development, never in production.

## Bundle installation fails because a file has not been found in the bundle
## ERROR - File not found in bundle
**Installation fails because a file has not been found in the bundle**

### Overview
When a component that is referenced in the `descriptor.yaml` is missing in the bundle or not correctly referenced, the bundle installation fails and in the logs is reported which file has not been found.
When a component that is referenced in the descriptor.yaml is missing in the bundle or not properly called, the bundle installation will fail and the error reported in the logs.

```
ERROR - File with name {filename} not found in the bundle
```

### Solution

When such a problem happens, verify that the component referenced in the descriptor file are actually present in the bundle and that the reference is properly typed.
Verify that the component named in the descriptor file is actually present in the bundle, in the location specified, and that the reference is properly formatted.

Publish a new version of your bundle as described in the
["My bundle has an issue"](#my-bundle-has-an-issue-how-should-i-publish-a-new-version-of-the-bundle) section
Then
[publish a new bundle version](#how-do-i-publish-a-new-version) as explained above.

## Bundle installation failed due to plugin(s) images not reachable
## My plugin Docker image is unreachable
**Bundle installation fails due to plugin images that are not reachable**

### Overview
Plugin included in a bundle are referenced using their docker image. Sometime the image is not available - maybe has not yet be published or is in a private docker registry - and plugin installation can't happen and the entire bundle installation process can't finish successfully
A bundle installation does not complete successfully because a plugin in a bundle, defined by a Docker image, is not available.

### Solution
This may happen if the Docker image for the plugin is located in a private registry or not yet published. Verify that the Docker image you are referencing is published, correctly formatted, and publicly available.

Verify that the docker image you are referencing is correct and publicly available.

["My bundle has an issue"](#my-bundle-has-an-issue-how-should-i-publish-a-new-version-of-the-bundle) section

## I can't uninstall a bundle because some components are in use
Then
[publish a new bundle version](#how-do-i-publish-a-new-version) as explained above.

### Overview
## How do I uninstall a bundle
**I can't uninstall a bundle because some components are in use**

When removing an installed bundle, the Entando component manager verfies that the bundle components
are not in use by any other component. Removing such components would cause an error during removal
as in certain case the deleting a component in use is not permitted.
When uninstalling an installed bundle, the Entando Component Manager verfies that the bundle components are not in use by any other component. An error message informs you and does not allow the removal.

### Solution

In order to prevent such errors, the user is alerted and required to manually decouple the bundle
components before beign able to completely remove the bundle from the system.
A bundle cannot be uninstalled if any of its components are in use. To uninstall the bundle, the user must manually remove all references to it and all its component.
Loading

0 comments on commit dfc5b0c

Please sign in to comment.