# Troubleshooting ISD GitOps Installation Issues

## ISD GitOps Installation Issues

The following issues can occur when installing ISD GitOps.

### ISD-Install-Job fails to start, no pod created or it errors

Execute the following command:

`kubectl -n opsmx-isd describe job isd-install`

### Some of the pods are not coming up

Check the logs of the isd-install-xxxx pod with the following command:

* `kubectl -n opsmx-isd logs isd-install-xxx -c git-clone` #Replacing the name of the pod name correctly, check if your gitops-repo is cloned correctly
* `kubectl -n opsmx-isd logs isd-install-xxx` #Replacing the name of the pod name correctly, check the log of the script that pushes the yamls and applies them.

### If ISD not working (E.g UI is not reachable)

Most common issues during installation are related to incorrect values in values.yaml. Should you realize that there is a mistake, it is easy to correct it.

* Update the values.yaml, and push to the git-repo
* Wait for the helm install to error out, it is best to not break the process
* `kubectl -n opsmx-isd apply -f install/ISD-Install-Job.yaml`
* Once the job is in Completed state, if required, delete the crashing/erroring pods and the isd-spinnaker-halyard-0 pod

### \*-spinnaker-halyard-0 is in error/crashloop

One of the common errors faced by first-time installers is spinnaker-halyard going into an Error state. The most common reason is that the init container failed to clone the gitops repo. Note that the “main” branch is expected to be the default branch for the repo.

Use the following command (replace isd below with the helm release-name) to check if the git clone is happening:

`kubectl -n opsmx-isd logs isd-spinnaker-halyard-0 -c create-halyard-local`

If the clone is not happening correctly, please check your values.yaml git user, token, repo, branch etc. For those interested, the script can be found in the isd-spinnaker-halyard-init-script.

### Only clouddriver and igor pods are in error/crashloop

This is usually caused by incorrect "branch". Ensure that the "default" label in default/profiles/spinnakerconfig.yml is "main" or whatever branch you are using. Once corrected, restart the halyard pod by deleting it, as following example:

`kubectl -n opsmx-isd delete po isd-spinnaker-halyard-0`

### Cleaning up/Delete the installation

Issue these commands, replace -n option with the namespace

```
kubectl -n opsmx-isd delete deploy --all
kubectl -n opsmx-isd delete sts --all
kubectl -n opsmx-isd delete svc --all
kubectl -n opsmx-isd delete ing --all
kubectl -n opsmx-isd delete cm --all
kubectl -n opsmx-isd delete jobs --all
kubectl -n opsmx-isd delete pvc -–all
kubectl -n opsmx-isd delete secrets --all
kubectl delete ns opsmx-isd
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opsmx.com/opsmx-1/opsmx-context-engine/additional-resources/troubleshooting/troubleshooting-isd-gitops-installation-issues.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
