demo-smart-factory-concordia-university / openfactory Goto Github PK
View Code? Open in Web Editor NEWFramework for manufacturing data management
License: BSD 3-Clause "New" or "Revised" License
Framework for manufacturing data management
License: BSD 3-Clause "New" or "Revised" License
Assign a unique project name to the Docker Compose projects to avoid conflict if several of them are deployed
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
Use Pydantic
to validate the device yaml configuration files
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).
Reorganize folder structure of infra app to be consistent with other app's structure
Include network in node model and modify add_docker_node_id()
to create it when a manager node is added.
When stopping an MTConnect Agent in OpenFactory, one has to:
Points 3 and 4 can be achieved with send_agent_availability
, respectively send_producer_availability
from the class MTCSourceConnector
of the library python-mtc2kafka.
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).
Presently the notations in a device configuration file are confusing. Sometimes capital letters (e.g. DEVICE_XML
) and sometimes small caps (e.g. agent
).
Change it to use everywhere small caps.
Capture errors while deploying Docker Compose projects and return them to user.
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
).
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:
Fix node model for:
manager
hybrid field (finds the swarm manger)status
hybrid field to use proper managerdocker_url
field (content according this template ssh://<openfactory_user>@<node_IP_address>
)Fix container model for:
node
fielddocker_url
from node
Add an option '--verbose' to the command 'ofa stack ls' which will list the running ofa-containers on the nodes.
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.