onos-kubernetes icon indicating copy to clipboard operation
onos-kubernetes copied to clipboard

missing atomix requirement

Open paleozogt opened this issue 4 years ago • 4 comments

When I try to install I see an error:

helm install charts/onos
Error: found in requirements.yaml, but missing in charts/ directory: atomix

Looking in requirements I see:

cat charts/onos/requirements.yaml
dependencies:
- name: atomix
  version: 0.1.0
  repository: file://../../../atomix-k8s

The path to atomix-k8s is out of this project. Where does it come from?

paleozogt avatar Apr 16 '20 22:04 paleozogt

@paleozogt I think https://github.com/atomix/atomix-helm is the one you're looking for - this post also helped me back in the day: https://blog.zufardhiyaulhaq.com/install-onos-cluster-in-kubernetes/

SamuAlfageme avatar Apr 17 '20 07:04 SamuAlfageme

@SamuAlfageme thanks for the pointer

paleozogt avatar Apr 17 '20 19:04 paleozogt

Hi,

I have cloned the atomix-helm repo and changed the path for requirements.yaml to file://../../../atomix-helm/atomix .

After that i was able to follow the steps provided in that link https//blog.zufardhiyaulhaq.com/install-onos-cluster-in-kubernetes/.

But after running helm install as described in above step, the atomix pods are stuck in pending state and onos pods started running. After further evaluating the issue i see the dependency on persistence volume claim "Error Pod Not scheduled - pod has unbound immediate PersistentVolumeClaims"

After changing the minikube version to v1.12.0 this error disappeared but now i see that even all the pods for atomix and onos are in running state but the onos pods are getting restarted continuously after some time period and inside the onos logs i see the Storage TimeOut Execption during electing leader. Seems onos is not able to connect to atomix cluster.

Please help me on this i am stuck in this issue for some time now!

ssks3092 avatar Jul 22 '20 07:07 ssks3092

@ssks3092 I hit the same issue today, and this is my workaround if you're using minikube as me:

  1. In minikube, the dynamic provisioner is already there by default:
kubectl get storageclasses.storage.k8s.io                                                                                                                                              
NAME                 PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
standard (default)   k8s.io/minikube-hostpath   Delete          Immediate           false                  68m
  1. just change the persistent volume claim name to standard, and don't forget to disable pod affinity since there's only a single Kubernetes worker node:
helm install charts/onos \
--name onos \
--set heap=2G \
--set image.tag=1.14.1 \
--set atomix.image.tag=3.0.6 \
--set replicas=1 \
--set atomix.replicas=1 \
--set apps={openflow} \
--set atomix.persistence.size=1Gi \
--set atomix.persistence.storageClass=standard \
--set atomix.podAntiAffinity.enabled=false

ahmddp avatar Aug 17 '20 20:08 ahmddp