aakashkt / ovn-kubernetes-charm Goto Github PK
View Code? Open in Web Editor NEWA juju charm for Kubernetes implementation with OVN
A juju charm for Kubernetes implementation with OVN
Why doesn't gateway-physical-interface
default to what you get from ip route | grep default
?
As you requested https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/364 here are some comments on the layers you have.
I see you have two layers. You should have each layer on a separate git repo or in your case just create a single layer. The reason for this has to do with how charm build works. When you run a charm build
the build process scans all the layers you are using (as stated in your layers.yaml) and performs a lookup on the http://interfaces.juju.solutions/ to get the source repository where each layer and/or interface is. Then the build process fetches locally the sources of all the layers and moves on with the build. For the fetch (git clone in our case) to work we should have a git repo for each layer. Also note that the layers have to be registered in http://interfaces.juju.solutions
I see you have a run_command https://github.com/AakashKT/ovn-kubernetes-charm/blob/master/layers/openvswitch/reactive/openvswitch.py#L40 but you never check if the command failed.
to get the public IP of the charm you should use https://pythonhosted.org/charmhelpers/api/charmhelpers.core.hookenv.html#charmhelpers.core.hookenv.unit_public_ip
the basic layer you are using has a packaging option that will deploy the packages you request. So you do not need this: https://github.com/AakashKT/ovn-kubernetes-charm/blob/master/layers/openvswitch/reactive/openvswitch.py#L67 . Alternatively you can use the apt-layer like so: https://github.com/juju-solutions/layer-cwr/blob/master/layer.yaml
You should avoid cloning openvswitch locally and installing it as you do here: https://github.com/AakashKT/ovn-kubernetes-charm/blob/master/layers/openvswitch/reactive/openvswitch.py#L80 You do not know when this repository will break, you do not have consistent deployments. Instead you should use apt packages apt-get install openvswitch-switch
or at least package binaries into resources.
Was deploying the bunlde http://paste.ubuntu.com/25168507/ on AWS.
Some pods do not start. Here is a view of kubectl get po --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default default-http-backend-44ppj 1/1 Running 0 28m
default nginx-ingress-controller-2165r 0/1 CrashLoopBackOff 18 28m
kube-system heapster-v1.2.0.1-3929440214-25gsb 4/4 Running 0 26m
kube-system kube-dns-4101612645-bcq53 2/4 CrashLoopBackOff 15 30m
kube-system kubernetes-dashboard-3543765157-lck0f 0/1 CrashLoopBackOff 13 30m
kube-system monitoring-influxdb-grafana-v4-13h6g 2/2 Running 0 30m
Here is the kubernetes-worker syslog: http://paste.ubuntu.com/25168517/
And here is the master's syslog: http://paste.ubuntu.com/25168528/
Here is the output of kubectl logs po/kube-dns-4101612645-bcq53 -n kube-system kubedns
http://paste.ubuntu.com/25168569/
And here is the description of kubedns http://paste.ubuntu.com/25168572/
I see some error on the ovn-k8s-watcher.log http://paste.ubuntu.com/25168607/
Hi,
You might want to use open_port[1] to ask Juju to open the ports your charm is using. This way you do not have to tamper with each cloud's firewall.
Here are some examples of how open_port is used [2, 3]
[2] https://jujucharms.com/docs/2.2/howto-charm-with-docker
[3] https://github.com/juju-solutions/layer-benchmark-gui/blob/master/reactive/benchmark_gui.py#L80
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.