Giter Site home page Giter Site logo

orchestracities / charts Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 9.0 1.55 MB

This project includes helm charts developed to deploy orchestra cities (thus covering as well some FIWARE services)

License: Apache License 2.0

Shell 9.77% Mustache 90.23%
fiware helm-chart helm-charts k8s kubernetes

charts's People

Contributors

c0c0n3 avatar chicco785 avatar chopmann avatar durburz avatar modulartaco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

charts's Issues

Updated Chart for IoT Agents

Hey @c0c0n3 and @chicco785 ,

I was just wondering if you could maybe help us out here? We are moving towards k8s and are struggeling with the IoTA-Json and MongoDB.
We have described the problem here as well.

I appreciate your time :)

Cheers,
Sebastian

JSON IoT Agent chart produces invalid JS config when using MQTT

If you enable MQTT, then the generated JavaScript config contains an extra comma that makes NodeJS quite unhappy:

var config = {};
config.mqtt = {
    host: "mqtt-mosquitto-interal",
    port: 1883,
    thinkingThingsPlugin: true,

    /**
     * protocol to use for connecting with the MQTT broker
     * (`mqtt`, `mqtts`, `tcp`, `tls`, `ws`, `wss`)
     */
    protocol: "mqtt",,

...

NodeJS error:

protocol: "mqtt",,
                     ^

SyntaxError: Unexpected token ','

Orion Helm Chart Deployment Fails

Trying to run Orion Helm Chart by running helm install orion oc/orion

The response is as follows showing that the install was nominal:

NAME: orion
LAST DEPLOYED: Mon Feb 15 18:14:51 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app=orion,release=orion" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:1026

However, when running kubectl get all the response is as follows, indicating an error of the Pod's deployment:

NAME                               READY   STATUS                  RESTARTS   AGE
pod/orion-orion-64559b77fb-2x77w   0/1     Init:CrashLoopBackOff   6          10m
pod/orion-orion-64559b77fb-lkmf8   0/1     Init:CrashLoopBackOff   6          9m21s

NAME                  TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/orion-orion   ClusterIP   None         <none>        80/TCP    10m

NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/orion-orion   0/2     2            0           10m

NAME                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/orion-orion-64559b77fb   2         2         0       10m

NAME                                              REFERENCE                TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
horizontalpodautoscaler.autoscaling/orion-orion   Deployment/orion-orion   <unknown>/50%   2         6         2          10m

Also, when running kubectl describe pod/orion-orion-64559b77fb-2x77w the response is as follows:

Name:                   orion-orion
Namespace:              default
CreationTimestamp:      Mon, 15 Feb 2021 18:14:51 +0200
Labels:                 app=orion
                        app.kubernetes.io/managed-by=Helm
                        chart=orion-0.1.7
                        heritage=Helm
                        release=orion
Annotations:            deployment.kubernetes.io/revision: 1
                        meta.helm.sh/release-name: orion
                        meta.helm.sh/release-namespace: default
Selector:               app=orion
Replicas:               2 desired | 2 updated | 2 total | 0 available | 2 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  1 max unavailable, 25% max surge
Pod Template:
  Labels:       app=orion
                release=orion
  Annotations:  chaos.alpha.kubernetes.io/enabled: false
  Init Containers:
   create-indexes:
    Image:      mongo:3.2
    Port:       <none>
    Host Port:  <none>
    Command:
      mongo
      --host
      rs/mongo-rs-mongodb-replicaset
      orion
      --eval
      db = db.getSiblingDB("admin"); dbs = db.runCommand({ "listDatabases": 1 }).databases; dbs.forEach(function(database) { if(database.entities) database.entities.createIndexes([{"_id.id": 1}, {"_id.type": 1}, {"_id.servicePath": 1}, {"attrNames": 1}, {"creDate": 1}]); });
    Environment:  <none>
    Mounts:       <none>
  Containers:
   orion:
    Image:      fiware/orion:2.4.0
    Port:       1026/TCP
    Host Port:  0/TCP
    Command:
      contextBroker
      -fg
      -notificationMode
      transient
      -httpTimeout
      30000
      -logLevel
      INFO
      -dbhost
      mongo-rs-mongodb-replicaset
      -rplSet
      rs
      -dbTimeout
      10000
      -corsOrigin
      __ALL
      -reqMutexPolicy
      none
    Liveness:     http-get http://:1026/version delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:    http-get http://:1026/v2 delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      False   MinimumReplicasUnavailable
  Progressing    True    ReplicaSetUpdated
OldReplicaSets:  <none>
NewReplicaSet:   orion-orion-64559b77fb (2/2 replicas created)
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  10m    deployment-controller  Scaled up replica set orion-orion-64559b77fb to 1
  Normal  ScalingReplicaSet  9m44s  deployment-controller  Scaled up replica set orion-orion-64559b77fb to 2
➜  charts git:(master) ✗ reset

➜  charts git:(master) ✗ kubectl get all
NAME                               READY   STATUS                  RESTARTS   AGE
pod/orion-orion-64559b77fb-2x77w   0/1     Init:CrashLoopBackOff   6          11m
pod/orion-orion-64559b77fb-lkmf8   0/1     Init:CrashLoopBackOff   6          10m

NAME                  TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes    ClusterIP   10.96.0.1    <none>        443/TCP   3h23m
service/orion-orion   ClusterIP   None         <none>        80/TCP    11m

NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/orion-orion   0/2     2            0           11m

NAME                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/orion-orion-64559b77fb   2         2         0       11m

NAME                                              REFERENCE                TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
horizontalpodautoscaler.autoscaling/orion-orion   Deployment/orion-orion   <unknown>/50%   2         6         2          11m
➜  charts git:(master) ✗ kubectl describe pod/orion-orion-64559b77fb-2x77w
Name:         orion-orion-64559b77fb-2x77w
Namespace:    default
Priority:     0
Node:         docker-desktop/192.168.65.3
Start Time:   Mon, 15 Feb 2021 18:14:51 +0200
Labels:       app=orion
              pod-template-hash=64559b77fb
              release=orion
Annotations:  chaos.alpha.kubernetes.io/enabled: false
Status:       Pending
IP:           10.1.0.24
IPs:
  IP:           10.1.0.24
Controlled By:  ReplicaSet/orion-orion-64559b77fb
Init Containers:
  create-indexes:
    Container ID:  docker://523517a74de9ed6384bd0f610e4d0b72dad9b94594f599015ae6636cccdff5fe
    Image:         mongo:3.2
    Image ID:      docker-pullable://mongo@sha256:0463a91d8eff189747348c154507afc7aba045baa40e8d58d8a4c798e71001f3
    Port:          <none>
    Host Port:     <none>
    Command:
      mongo
      --host
      rs/mongo-rs-mongodb-replicaset
      orion
      --eval
      db = db.getSiblingDB("admin"); dbs = db.runCommand({ "listDatabases": 1 }).databases; dbs.forEach(function(database) { if(database.entities) database.entities.createIndexes([{"_id.id": 1}, {"_id.type": 1}, {"_id.servicePath": 1}, {"attrNames": 1}, {"creDate": 1}]); });
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Mon, 15 Feb 2021 18:21:58 +0200
      Finished:     Mon, 15 Feb 2021 18:22:12 +0200
    Ready:          False
    Restart Count:  6
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-tbvkf (ro)
Containers:
  orion:
    Container ID:
    Image:         fiware/orion:2.4.0
    Image ID:
    Port:          1026/TCP
    Host Port:     0/TCP
    Command:
      contextBroker
      -fg
      -notificationMode
      transient
      -httpTimeout
      30000
      -logLevel
      INFO
      -dbhost
      mongo-rs-mongodb-replicaset
      -rplSet
      rs
      -dbTimeout
      10000
      -corsOrigin
      __ALL
      -reqMutexPolicy
      none
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Liveness:       http-get http://:1026/version delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get http://:1026/v2 delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-tbvkf (ro)
Conditions:
  Type              Status
  Initialized       False
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-tbvkf:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-tbvkf
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                 From               Message
  ----     ------     ----                ----               -------
  Normal   Scheduled  11m                 default-scheduler  Successfully assigned default/orion-orion-64559b77fb-2x77w to docker-desktop
  Normal   Pulled     9m2s (x5 over 11m)  kubelet            Container image "mongo:3.2" already present on machine
  Normal   Created    9m2s (x5 over 11m)  kubelet            Created container create-indexes
  Normal   Started    9m2s (x5 over 11m)  kubelet            Started container create-indexes
  Warning  BackOff    74s (x41 over 10m)  kubelet            Back-off restarting failed container

Seems that the problem is relates to the mongodb connection.
However, I haven't provided any customized configuration.
Is there something I could do to have a successful installation.
Thanks.

question: setup of network and application server

currently i am writing my master thesis in the faculty of informatics in the area of smart city. I am now in the section of setting up a prototype. I find your solution very interesting and would like to install it on the google cloud platform.
But i am not sure if the helmcharts include the network and application server. As far as i have seen you use fiware iot agents. But according to my knowledge they are not responsible for the management of iot devices.
Do I need to set up a network and application server in addition to your helmcharts (e.g. chirpstack)?

Broken QL chart

Get the following error when releasing through Helm:

message: 'rpc error: code = Unknown desc = v1.Deployment.Spec: v1.DeploymentSpec.Template:
      v1.PodTemplateSpec.Spec: v1.PodSpec.Containers: []v1.Container: v1.Container.Env:
      []v1.EnvVar: v1.EnvVar.Value: ReadString: expects " or n, but found 1, error
      found in #10 byte of ...|,"value":10000},{"na|..., bigger context ...|alue":"default"},{"name":"DEFAULT_LIMIT","value":10000},{"name":"KEEP_RAW_ENTITY","value":true},{"na|...'
    reason: HelmUpgradeFailed

Fix version incompatibility in Quantum Leap chart

The path of the liveness and readiness probes is currently /health but that only works with Quantum Leap >= 0.7.6. (This is because of API backward-incompatible changes in release 0.7.6, see PR #275 in the Quantum Leap repo.) We should note that in the chart's README and change the default image to 0.7.6 from the current of 0.7.2 which as noted earlier won't work.

Mention rolling update strategy is not appropriate for Crate major version upgrade

Our Crate chart instantiates a K8s statefulset with a rolling update strategy. With this strategy in place, on detecting a new Crate image, K8s will delete and then recreate each pod with the new image, one at a time. So while upgrading, most of the time you'll be in a situation where some of the pods are running the old image whereas some others are on the new. Crate docs say this is fine only when upgrading to a new patch version whereas to upgrade to a new minor or major version you should first shut down the entire cluster, then upgrade images, and finally bring the new cluster live. This latter procedure isn't compatible with K8s rolling update strategy so we should warn users about it. For example we could mention it in the chart README.

Error rendering iot-agent lwm2m template

The iot-agent chart can't be generated when service.agentType is set to: lwm2m. It stops with a rendering error.

To reproduce:

  1. Edit charts/iot-agent/values.yaml to set agentType: lwm2m in the service stanza.
  2. Run helm install charts/iot-agent --debug --dry-run

You should see an error similar to:

[debug] CHART PATH: /Users/andrea/github/orchestracities.charts/charts/iot-agent

Error: render error in "iot-agent/templates/configmap-lwm2m.yaml":
  template: iot-agent/templates/configmap-lwm2m.yaml:17:29:
    executing "iot-agent/templates/configmap-lwm2m.yaml" at <.Values.lwm2m.logLevel>:
      nil pointer evaluating interface {}.logLevel

Tested with Helm client version v2.13.1 and server v2.14.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.