From ab321671cf5645e7f0ea056f45ff3a9a30f3efb4 Mon Sep 17 00:00:00 2001 From: Chandrika Date: Thu, 3 Oct 2024 13:52:04 -0700 Subject: [PATCH 1/5] updated known issues link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c303e3943..cde148c6c 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Note you can also run ```pip install volttron-core volttron-lib-zmq volttron-lib ``` ## Links to important documentation - - Known issues in this version + - [Known issues in this version](https://github.com/eclipse-volttron/volttron-core/labels/2.0.0rc0) - [Important backward incompatible changes](backward_incompatible_features.md) - Full VOLTTRON documentation available at [VOLTTRON Readthedocs](https://volttron.readthedocs.io) From b7f456eed8fd890bc716bf5f132759bfb3d7ca9c Mon Sep 17 00:00:00 2001 From: Chandrika Date: Thu, 3 Oct 2024 14:03:18 -0700 Subject: [PATCH 2/5] include driver and historian --- backward_incompatible_features.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backward_incompatible_features.md b/backward_incompatible_features.md index 5b95c7f14..ebd1385d4 100644 --- a/backward_incompatible_features.md +++ b/backward_incompatible_features.md @@ -29,6 +29,12 @@ The following highlights the key differences. For details about each of these fe 11. Authorization does not depend on arbitrary capability strings and are defined using actual ```.``` -12. Topics can be both read and write protected. Topic protection is also done using vctl authz commands. There is **no separate protected_topics.json** +12. Topics can be both read and write protected. Topic protection is also done using vctl authz commands. There is **no separate protected_topics.json** + +14. The Platform Driver agent has been redesigned significantly and includes many new features to improve polling, group points, etc. Please refer to [the platform driver agent's documentation](https://github.com/eclipse-volttron/volttron-platform-driver/blob/v10/README.md) for more details. + +16. **The platform driver now by default publishes to topics of the format ```devices////multi```** instead of ```devices////all```. + +18. The basehistorian now by default subscribes to ```devices/.*/multi``` instead of ```devices/.*/all``` From 151959a8ea70191f5129a8ef16ab3d42d85e0cf0 Mon Sep 17 00:00:00 2001 From: riley206 <89715390+riley206@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:17:38 -0700 Subject: [PATCH 3/5] Update backward_incompatible_features.md Just fixed some grammar and spelling issues --- backward_incompatible_features.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/backward_incompatible_features.md b/backward_incompatible_features.md index ebd1385d4..c3f3a7b1b 100644 --- a/backward_incompatible_features.md +++ b/backward_incompatible_features.md @@ -2,11 +2,11 @@ # Modular VOLTTRON backward incompatible features Modular VOLTTRON (version > 9) is a complete redesign of the previous monolithic versions of VOLTTRON (version <=9). -The new modular design of VOLTTRON enables high level of flexibility and customization for the user but in order to achieve this we had to break backward compatibility with the older monolithic VOLTTRON. +The new modular design of VOLTTRON enables high level of flexibility and customization for the user, but in order to achieve this, we had to break backward compatibility with the older monolithic VOLTTRON. -The following highlights the key differences. For details about each of these feature please refer to [volttron readthedocs page](https://eclipse-volttron.readthedocs.io/en/latest/) +The following highlights the key differences. For details about each of these features, please refer to [volttron readthedocs page](https://eclipse-volttron.readthedocs.io/en/latest/) -1. The primary VOLTTRON platform code is split into the following repositorioes +1. The primary VOLTTRON platform code is split into the following repositories - volttron-core(this repository) - [volttron-lib-auth](https://github.com/eclipse-volttron/volttron-lib-auth) - [volttron-lib-zmq](https://github.com/eclipse-volttron/volttron-lib-zmq) @@ -15,19 +15,19 @@ The following highlights the key differences. For details about each of these fe 3. Each agent and library is now housed in its own repository and published to pypi as a separate package - for example [volttron-listener source code repository](https://github.com/eclipse-volttron/volttron-listener]) and [volttron-listener pypi package](https://pypi.org/project/volttron-listener/) -4. VOLTTRON now uses **Poetry for dependency management**. This is essential for ensuring there is no version mismatch in the set of libraries installed and working together in a given python environment. When VOLTTRON starts for the first time for a given VOLTTRON_HOME, it create a poetry project in VOLTTRON_HOME and uses the pyproject.toml to manage list of librabries. +4. VOLTTRON now uses **Poetry for dependency management**. This is essential for ensuring there is no version mismatch in the set of libraries installed and working together in a given python environment. When VOLTTRON starts for the first time for a given VOLTTRON_HOME, it creates a poetry project in VOLTTRON_HOME and uses the pyproject.toml to manage list of libraries. So when adding optional libraries to your environment, **use ```poetry add --directory ``` instead of ```pip install ```**. Example: ```poetry add --directory $VOLTTRON_HOME volttron-lib-bacnet-driver```. Note: Next version would add a vctl install-lib command that can be used instead of poetry add --directory (https://github.com/eclipse-volttron/volttron-core/issues/221) -6. The default execution directory for VOLTTTRON process is $VOLTTRON_HOME and the default execution directory for agent is $VOLTTRON_HOME/agents/. See issue https://github.com/eclipse-volttron/volttron-core/issues/167 +6. The default execution directory for VOLTTRON process is $VOLTTRON_HOME and the default execution directory for agent is $VOLTTRON_HOME/agents/. See issue https://github.com/eclipse-volttron/volttron-core/issues/167 7. The structure of directories in VOLTTRON_HOME is different from earlier version, hence **modular volttron cannot work with volttron home created by monolithic volttron** 8. Authentication and Authorization are now two separate functionalities and entries related to authentication and authorization are persisted in different files in $VOLTTRON_HOME -9. Authorization are now specific to individual instances of an agent. Agent capabilities and access restrictions are NOT part of source code anymore. (**No @RPC.allow decorator** available for agent source code). Authorizations are only assigned using vctl authz commands or entries in $VOLTTRON_HOME/authz.json +9. Authorization is now specific to individual instances of an agent. Agent capabilities and access restrictions are NOT part of source code anymore. (**No @RPC.allow decorator** available for agent source code). Authorizations are only assigned using vctl authz commands or entries in $VOLTTRON_HOME/authz.json -11. Authorization does not depend on arbitrary capability strings and are defined using actual ```.``` +11. Authorization does not depend on arbitrary capability strings and is defined using actual ```.``` 12. Topics can be both read and write protected. Topic protection is also done using vctl authz commands. There is **no separate protected_topics.json** From 1cc237a3211c18ca6b1c186ffb3367a9a4cae5c1 Mon Sep 17 00:00:00 2001 From: riley206 <89715390+riley206@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:25:15 -0700 Subject: [PATCH 4/5] Update README.md fixed some spelling and grammar --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cde148c6c..2beb99afd 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Eclipse VOLTTRON™ (VOLTTRON/volttron) is an open source platform for distribut ![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg) [![Pytests](https://github.com/eclipse-volttron/volttron-core/actions/workflows/run-tests.yml/badge.svg)](https://github.com/eclipse-volttron/volttron-core/actions/workflows/run-tests.yml) [![pypi version](https://img.shields.io/pypi/v/volttron.svg)](https://pypi.org/project/volttron/) -## Pre-requisites +## Prerequisites - git >= 2.25 @@ -18,12 +18,12 @@ Eclipse VOLTTRON™ (VOLTTRON/volttron) is an open source platform for distribut Note- Ubuntu 22.04 comes with python 3.10. To upgrade pip run ```python -m pip install --upgrade pip``` ## Installation -This package is the core volttron server, client and utilities. in order to successfully start volttron at a minimum you would need a volttron message bus(volttron-lib-zmq) and volttron authentication library(volttron-lib-auth). You can install these as three separate steps or use the wrapper (volttron-zmq) that pulls all three packages +This package is the core volttron server, client and utilities. in order to successfully start VOLTTRON, you need a volttron message bus(volttron-lib-zmq) and volttron authentication library(volttron-lib-auth). You can install these as three separate steps or use the wrapper (volttron-zmq) that pulls all three packages It is highly recommended you use a virtual environment for installing volttron. ```shell -python -m venv +python -m venv source .venv/bin/activate export VOLTTRON_HOME= pip install volttron-zmq @@ -35,7 +35,7 @@ Note you can also run ```pip install volttron-core volttron-lib-zmq volttron-lib 1. **Setup VOLTTRON_HOME** environment variable: export VOLTTRON_HOME=/path/to/volttron_home/dir - **NOTE** This is madatory if you have/had in the past, a monolithic VOLTTRON version that used the default VOLTTRON_HOME $HOME/.volttron. **This modular version of VOLTTRON cannot work with volttron_home used by monolithic version of VOLTTRON(version 8.3 or earlier)** + **NOTE** This is mandatory if you have/had in the past, a monolithic VOLTTRON version that used the default VOLTTRON_HOME $HOME/.volttron. **This modular version of VOLTTRON cannot work with volttron_home used by monolithic version of VOLTTRON(version 8.3 or earlier)** 2. **Start the platform:** @@ -53,7 +53,7 @@ Note you can also run ```pip install volttron-core volttron-lib-zmq volttron-lib Monolithic VOLTTRON uses poetry for dependency management. When VOLTTRON is started, it creates a poetry project (pyproject.toml file) in VOLTTRON_HOME directory and use that for keeping track of all installed packages. For example, when you ran "vctl install volttron-listener" an entry for that agent's package name and version gets added to $VOLTTRON_HOME/pyproject.toml. - If you are installing optional librabries, such as volttron-lib-bacnet-driver use poetry instead of pip + If you are installing optional libraries, such as volttron-lib-bacnet-driver use poetry instead of pip ```bash poetry add --directory $VOLTTRON_HOME volttron-lib-bacnet-driver ``` From e341a2227780080a57c0eebe4e16ff4991a6d0e6 Mon Sep 17 00:00:00 2001 From: Chandrika Date: Thu, 3 Oct 2024 16:29:30 -0700 Subject: [PATCH 5/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2beb99afd..dcaa9b8dd 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Note you can also run ```pip install volttron-core volttron-lib-zmq volttron-lib 5. **Install any optional libraries that your agents need:** - Monolithic VOLTTRON uses poetry for dependency management. When VOLTTRON is started, it creates a poetry project (pyproject.toml file) in VOLTTRON_HOME directory and use that for keeping track of all installed packages. For example, when you ran "vctl install volttron-listener" an entry for that agent's package name and version gets added to $VOLTTRON_HOME/pyproject.toml. + Modular VOLTTRON uses poetry for dependency management. When VOLTTRON is started, it creates a poetry project (pyproject.toml file) in VOLTTRON_HOME directory and use that for keeping track of all installed packages. For example, when you ran "vctl install volttron-listener" an entry for that agent's package name and version gets added to $VOLTTRON_HOME/pyproject.toml. If you are installing optional libraries, such as volttron-lib-bacnet-driver use poetry instead of pip ```bash