From 503b83b2c59848f44367c2fd51ae75a4efd0ffe7 Mon Sep 17 00:00:00 2001 From: Cleber Rosa Date: Thu, 28 Dec 2023 13:21:23 -0500 Subject: [PATCH] Add a quick guide for setting up the remote spawner This Documents some crucial steps for a new user of the remote spawner plugin. Reference: https://github.com/avocado-framework/avocado/issues/5838 Signed-off-by: Cleber Rosa --- docs/source/plugins/index.rst | 1 + .../plugins/optional/spawner_remote.rst | 1 + optional_plugins/spawner_remote/README.rst | 37 +++++++++++++++++++ optional_plugins/spawner_remote/setup.py | 10 ++++- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 120000 docs/source/plugins/optional/spawner_remote.rst create mode 100644 optional_plugins/spawner_remote/README.rst diff --git a/docs/source/plugins/index.rst b/docs/source/plugins/index.rst index feb1448f26..69ff91a55d 100644 --- a/docs/source/plugins/index.rst +++ b/docs/source/plugins/index.rst @@ -35,3 +35,4 @@ Some of these plugins may have extra dependencies of their own. optional/results/index optional/robot optional/varianters/index + optional/spawner_remote diff --git a/docs/source/plugins/optional/spawner_remote.rst b/docs/source/plugins/optional/spawner_remote.rst new file mode 120000 index 0000000000..b041aeac64 --- /dev/null +++ b/docs/source/plugins/optional/spawner_remote.rst @@ -0,0 +1 @@ +../../../../optional_plugins/spawner_remote/README.rst \ No newline at end of file diff --git a/optional_plugins/spawner_remote/README.rst b/optional_plugins/spawner_remote/README.rst new file mode 100644 index 0000000000..b4566c70db --- /dev/null +++ b/optional_plugins/spawner_remote/README.rst @@ -0,0 +1,37 @@ +===================== +Remote Spawner Plugin +===================== + +This plugin makes use of remote aexpect sessions (to remote hosts or +equivalently remote containers behind remote hosts forwarded via +specific ports) as slots to schedule test runs on. + +It mainly draws inspiration and mimics slot and other +code from the LXC spawner with the exception of extra configurable +test timeout that is enforced by aexpect as a dependency and fully +specific to this type of spawner. + +To install the Remote Spawner plugin from pip, use:: + + $ sudo pip install avocado-framework-plugin-spawner-remote + +After installed, add the slot to your avocado config file:: + + [spawner.remote] + slots = ['board'] + +Then you need a JSON file of the same name as the slot. Its contents +are the command line parameters of aexpect's ``remote_login`` function +of module ``remote``, e.g.:: + + { + "client": "telnet", + "host": "192.168.64.2", + "port": "23", + "username": "root", + "password": "", + "prompt": "#" + } + +Final important detail: the remote site also needs avocado +installed. diff --git a/optional_plugins/spawner_remote/setup.py b/optional_plugins/spawner_remote/setup.py index 3378dd298b..05484b1811 100644 --- a/optional_plugins/spawner_remote/setup.py +++ b/optional_plugins/spawner_remote/setup.py @@ -30,12 +30,18 @@ VERSION = version_file.read().strip() +def get_long_description(): + with open(os.path.join(BASE_PATH, "README.rst"), "rt", encoding="utf-8") as readme: + readme_contents = readme.read() + return readme_contents + + setup( name="avocado-framework-plugin-spawner-remote", version=VERSION, description="Remote (host) based spawner", - long_description="Remote (host) based spawner", - long_description_content_type="text/plain", + long_description=get_long_description(), + long_description_content_type="text/x-rst", author="Avocado Developers", author_email="avocado-devel@redhat.com", url="http://avocado-framework.github.io/",