Skip to content
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
72 changes: 0 additions & 72 deletions .github/workflows/pytest-dbutils-influxdbfuncts.yml

This file was deleted.

30 changes: 29 additions & 1 deletion .github/workflows/pytest-dbutils-postgresqlfuncts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,25 @@ jobs:

runs-on: ${{ matrix.os }}

services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432
timescale:
image: timescale/timescaledb:latest-pg15
env:
POSTGRES_PASSWORD: postgres
ports:
# Maps tcp port 5432 on service container to the host
- 5433:5432

steps:
# checkout the volttron repository and set current directory to it
- uses: actions/checkout@v4
Expand All @@ -51,7 +70,16 @@ jobs:
- name: Create output suffix
run: |
echo "OUTPUT_SUFFIX=$(basename $TEST_FILE)" >> $GITHUB_ENV


- name: Create test historian database
run: |
PGPASSWORD="postgres" psql -U postgres -h localhost -p 5432 -c "CREATE DATABASE test_historian;"
PGPASSWORD="postgres" psql -U postgres -h localhost -p 5433 -c "CREATE DATABASE test_historian;"
env:
# The hostname used to communicate with the PostgreSQL service container
POSTGRES_HOST: localhost
POSTGRES_PASSWORD: postgres

# Run the specified tests and save the results to a unique file that can be archived for later analysis.
- name: Run pytest on ${{ matrix.python-version }}, ${{ matrix.os }}
uses: volttron/volttron-build-action@no_rmq
Expand Down
71 changes: 0 additions & 71 deletions .github/workflows/pytest-dbutils-timescaldbfuncts.yml

This file was deleted.

9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ devices and provides an environment for developing applications which interact
with that data.

## Upgrading Pre-8 to VOLTTRON 9.x
VOLTTRON 9.0.4 requires python 3.10 and was tested on Ubuntu 22.04

VOLTTRON 8 introduces four changes that require an explict upgrade step when upgrading from an earlier VOLTTRON version

Expand Down Expand Up @@ -72,16 +73,16 @@ SQLAggregateHistorian source directory

## Installation

VOLTTRON is written in Python 3.6+ and runs on Linux Operating Systems. For
VOLTTRON is written in Python 3.10 and runs on Linux Operating Systems. For
users unfamiliar with those technologies, the following resources are recommended:

- <https://docs.python.org/3.6/tutorial/>
- <https://docs.python.org/3.10/tutorial/>
- <http://ryanstutorials.net/linuxtutorial>

### 1. Install prerequisites

[Requirements Reference](https://volttron.readthedocs.io/en/latest/introduction/platform-install.html#step-1-install-prerequisites)

From version 9.0.4, VOLTTRON requires python 3.10. And it was tested on Ubuntu 22.04
From version 7.0, VOLTTRON requires python 3 with a minimum version of 3.6; it is tested only systems supporting that as a native package.
On Debian-based systems (Ubuntu bionic, debian buster, raspbian buster), these can all be installed with the following commands:

Expand All @@ -94,7 +95,7 @@ sudo apt-get install build-essential libffi-dev python3-dev python3-venv openssl
On Redhat or CENTOS systems, these can all be installed with the following command:
```sh
sudo yum update
sudo yum install make automake gcc gcc-c++ kernel-devel python3.6-devel pythone3.6-venv openssl openssl-devel libevent-devel git
sudo yum install make automake gcc gcc-c++ kernel-devel python3.10-devel pythone3.10-venv openssl openssl-devel libevent-devel git
```

### 2. Clone VOLTTRON code
Expand Down
2 changes: 1 addition & 1 deletion bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ def main(argv=sys.argv):
parser = argparse.ArgumentParser(
description='Bootstrap and update a virtual Python environment '
'for VOLTTRON development.',
usage='\n bootstrap: python3.6 %(prog)s [options]'
usage='\n bootstrap: python3.10 %(prog)s [options]'
'\n update: {} %(prog)s [options]'.format(python),
prog=os.path.basename(argv[0]),
epilog="""
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ def __getattr__(cls, name):

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'https://docs.python.org/3.6':
'https://docs.python.org/3.10':
None,
'volttron-ansible':
('https://volttron.readthedocs.io/projects/volttron-ansible/en/main/',
Expand Down
18 changes: 9 additions & 9 deletions docs/source/introduction/platform-install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@
Installing the Platform
=======================

VOLTTRON is written in Python 3.6+ and runs on Linux Operating Systems. For users unfamiliar with those technologies,
VOLTTRON is written in Python 3.10 and runs on Linux Operating Systems. For users unfamiliar with those technologies,
the following resources are recommended:

- `Python 3.6 Tutorial <https://docs.python.org/3.6/tutorial>`_
- `Python 3.10 Tutorial <https://docs.python.org/3.10/tutorial>`_
- `Linux Tutorial <http://ryanstutorials.net/linuxtutorial>`_

This guide will specify commands to use to successfully install the platform on supported Linux distributions, but a
working knowledge of Linux will be helpful for troubleshooting and may improve your ability to get more out of your
deployment.

.. note::

volttron version 9.0.4 was tested on Ubuntu 22.04 and python 3.10
Volttron version 7.0rc1 is currently tested for Ubuntu versions 18.04 and 18.10 as well as Linux Mint version 19.3.
Version 6.x is tested for Ubuntu versions 16.04 and 18.04 as well as Linux Mint version 19.1.

Expand All @@ -32,8 +32,8 @@ The following packages will need to be installed on the system:

* git
* build-essential
* python3.6-dev
* python3.6-venv
* python3.10-dev
* python3.10-venv
* openssl
* libssl-dev
* libevent-dev
Expand All @@ -43,14 +43,14 @@ On **Debian-based systems**, these can all be installed with the following comma
.. code-block:: bash

sudo apt-get update
sudo apt-get install build-essential python3-dev python3-venv openssl libssl-dev libevent-dev git
sudo apt-get install build-essential python3.10-dev python3.10-venv openssl libssl-dev libevent-dev git

On Ubuntu-based systems, available packages allow you to specify the Python3 version, 3.6 or greater is required
On Ubuntu-based systems, available packages allow you to specify the Python3 version, 3.10 or greater is required
(Debian itself does not provide those packages).

.. code-block:: bash

sudo apt-get install build-essential python3.6-dev python3.6-venv openssl libssl-dev libevent-dev git
sudo apt-get install build-essential python3.10-dev python3.10-venv openssl libssl-dev libevent-dev git


On arm-based systems (including, but not limited to, Raspbian), you must also install libffi-dev, you can do this with:
Expand All @@ -74,7 +74,7 @@ command:
sudo yum install make automake gcc gcc-c++ kernel-devel python3-devel openssl openssl-devel libevent-devel git

.. warning::
Python 3.6 or greater is required, please ensure you have installed a supported version with :bash:`python3 --version`
Python 3.10 or greater is required, please ensure you have installed a supported version with :bash:`python3 --version`

If you have an agent which requires the pyodbc package, install the following additional requirements:

Expand Down
2 changes: 2 additions & 0 deletions volttron/platform/keystore.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ def serverkey(self, addr):

@staticmethod
def _parse_addr(addr):
if not "://" in addr: # no schema urlparse parses it wrong and return port number as path
addr = "//" + addr
url = urllib.parse.urlparse(addr)
if url.netloc:
return url.netloc
Expand Down
2 changes: 1 addition & 1 deletion volttrontesting/platform/auth_tests/test_auth_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ def test_auth_rpc_method_add(auth_instance):

assert entries[-1]['rpc_method_authorizations'] == {'test_method': ["test_auth"]}


@pytest.mark.xfail(reason="Known issue. ToDo - https://github.com/VOLTTRON/volttron/issues/3215")
@pytest.mark.control
def test_auth_rpc_method_remove(auth_instance):
"""Add an entry then update it with a different entry"""
Expand Down
Loading
Loading