Git Product home page Git Product logo

openfactory's People

Contributors

rwuthric avatar

Stargazers

 avatar

openfactory's Issues

Docker Compose Project Name

Assign a unique project name to the Docker Compose projects to avoid conflict if several of them are deployed

Add environment field in device yaml file

Some adapters require the definition of some environment variables. It must be possible to define them in the device yaml file which defines the configuration of a device requiring such an adapter built from a Docker image.

For example, like this:

devices:

  proximity-001:
    uuid: PROXIMITY-001
    node: manager
    agent:
      port: 3001
      device_xml: sensors/Proximity/imc30.xml
      adapter:
        image: ofa/sig350_adapter
        port: 7878
        environment:
          - SIG350_IP=10.0.0.250
          - DEVICE_ALIAS=master1port4

MTC Adapter from Docker Image

Add the possibility to spin up an MTConnect adapter based on a Docker image. Syntax could be something along this:

zaix-001:
    UUID: ZAIX-001
    NODE: manager
    agent:
      PORT: 3001
      DEVICE_XML: ....
      adapter: 
        image: openfactory/adapter_image
        PORT: 7879
        environment:
          - MY_VAR=value
          - ...

This will attach to the network of the stack a Docker container created from the image and pass environment variables if desired. The created agent will then connect to the correct url of that docker container (needs to be changed in the code).

Stopping agent correctly

When stopping an MTConnect Agent in OpenFactory, one has to:

  1. stop the agent
  2. stop the producer
  3. inform Kafka that agent stopped
  4. inform Kafka that producer stopped

Points 3 and 4 can be achieved with send_agent_availability, respectively send_producer_availability from the class MTCSourceConnector of the library python-mtc2kafka.

Infrastructure Stack

Add the concept of infrastructure stack in form of a model (collection of Nodes). User can then spin up/tear down a stack. Stacks should be extensible (add more nodes) and check for conflicts during their creation (identical Node names but different IP address for example).

Rename ofa infra to ofa stack

Rename the command ofa infra to ofa stack and introduce the new commands ofa stack ls and ofa stack rm.
This will be more consistent with the rest of the ofa commands and will ease integration with other apps (e.g. datafabric).

User notifications

Currently, if more than one user notifications is sent, they do not appear proper;y on the UI.
To fix it these changes need to be implemented:

  • user notifications get removed by user (not by JavaScript function on base template)
  • user notifications get periodically loaded by JavaScript function on base template (not only when new ones appear)

Container and node models fixs

Fix node model for:

  • add manager hybrid field (finds the swarm manger)
  • fix status hybrid field to use proper manager
  • add docker_url field (content according this template ssh://<openfactory_user>@<node_IP_address>)

Fix container model for:

  • create container when new container is inserted in database
  • add node field
  • get docker_url from node

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.