Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added VOLTTRON 8.x Update Message to README #2787

Merged
merged 2 commits into from
Sep 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ platform provides services for collecting and storing data from buildings and
devices and provides an environment for developing applications which interact
with that data.

## Upgrading to VOLTTRON 8.x

VOLTTRON 8 and above introduces dynamic RPC authorization, which requires a modification to the auth file.
If you have a pre-existing instance of VOLTTRON running on an older version, the auth file will need to be updated.
To begin the upgrade process, activate the volttron environment, and run ```python bootstrap.py --force```. If you
have any additional bootstrap options that you need (rabbitmq, web, drivers, etc.) include these in the above command.
After the bootstrap process is completed, run ```volttron-update-auth``` to update the auth file.


## Features

Expand Down Expand Up @@ -296,6 +304,7 @@ There are several walkthroughs to explore additional aspects of the platform:
- [RabbitMQ setup with Federation and Shovel plugins](https://volttron.readthedocs.io/en/latest/deploying-volttron/multi-platform/multi-platform-rabbitmq-deployment.html)
- [Backward compatibility with the RabbitMQ message bus](https://volttron.readthedocs.io/en/latest/deploying-volttron/multi-platform/multi-platform-multi-bus.html)


## Acquiring Third Party Agent Code

Third party agents are available under the volttron-applications repository. In
Expand Down
13 changes: 13 additions & 0 deletions docs/source/volttron-topics/change-log/upgrading-versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,19 @@ It is often recommended that users upgrade to the latest stable release of VOLTT
releases include helpful new features, bug fixes, and other improvements. Please see the guides below for upgrading
your existing deployment to the latest version.

VOLTTRON 8
==========

VOLTTRON 8 and above introduces dynamic RPC authorization, which requires a modification to the auth file.
If you have a pre-existing instance of VOLTTRON running on an older version, the auth file will need to be updated.
To begin the upgrade process, activate the volttron environment, and run ```python bootstrap.py --force```.

.. note::

If you have any additional bootstrap options that you need (rabbitmq, web, drivers, etc.)
include these in the above command.

After the bootstrap process is completed, run ```volttron-update-auth``` to update the auth file.

VOLTTRON 7
==========
Expand Down
38 changes: 19 additions & 19 deletions volttrontesting/platform/auth_tests/test_auth_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ def auth_instance(volttron_instance):


# Number of tries to check if auth file is updated properly
auth_retry = 30
auth_retry = 5


@pytest.mark.control
Expand All @@ -214,8 +214,8 @@ def test_auth_add(auth_instance):
print(entries)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1

Expand All @@ -234,8 +234,8 @@ def test_auth_add_cmd_line(auth_instance):
print(entries)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
assert_auth_entries_same(entries[-1], _auth_entry2.__dict__)
Expand All @@ -252,8 +252,8 @@ def test_auth_update(auth_instance):
print(entries)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
auth_update(platform, len(entries) - 1, **_auth_entry4.__dict__)
Expand All @@ -274,16 +274,16 @@ def test_auth_remove(auth_instance):
entries = auth_list_json(platform)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
auth_add(platform, _auth_entry6)
entries = auth_list_json(platform)
assert len(entries) > 0
i = 0
while len(entries) < (len_entries + 1) and i < auth_retry:
gevent.sleep(1)
while len(entries) <= (len_entries + 1) and i < auth_retry:
craig8 marked this conversation as resolved.
Show resolved Hide resolved
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
print(entries)
Expand All @@ -296,7 +296,7 @@ def test_auth_remove(auth_instance):
assert len(entries) > 0
i = 0
while len(entries) > (len_entries + 1) and i < auth_retry:
gevent.sleep(1)
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
assert_auth_entries_same(entries[-1], _auth_entry5.__dict__)
Expand All @@ -312,8 +312,8 @@ def test_auth_rpc_method_add(auth_instance):
entries = auth_list_json(platform)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
print(entries)
Expand All @@ -324,7 +324,7 @@ def test_auth_rpc_method_add(auth_instance):

i = 0
while entries[-1]['rpc_method_authorizations'] != {'test_method': ["test_auth"]} and i < auth_retry:
gevent.sleep(1)
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1

Expand All @@ -341,8 +341,8 @@ def test_auth_rpc_method_remove(auth_instance):
entries = auth_list_json(platform)
assert len(entries) > 0
i = 0
while len(entries) < len_entries and i < auth_retry:
gevent.sleep(1)
while len(entries) <= len_entries and i < auth_retry:
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1
print(entries)
Expand All @@ -353,7 +353,7 @@ def test_auth_rpc_method_remove(auth_instance):

i = 0
while entries[-1]['rpc_method_authorizations'] != {'test_method': ["test_auth"]} and i < auth_retry:
gevent.sleep(1)
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1

Expand All @@ -365,7 +365,7 @@ def test_auth_rpc_method_remove(auth_instance):

i = 0
while entries[-1]['rpc_method_authorizations'] == {'test_method': ["test_auth"]} and i < auth_retry:
gevent.sleep(1)
gevent.sleep(i)
entries = auth_list_json(platform)
i += 1

Expand Down