Gracias a un nuevo feature propuesto en la comunidad, podemos crear plugins independientes del código de Tempest para correr test cases personalizados en Openstack, este método se llama “Tempest Test Plugin Interface”. Con esto cualquier proyecto podrá correr un conjunto de pruebas externas como parte de una corrida de Tempest, ahora solo nos debemos de preocupar por crear el plugin para agrupar nuestros test cases y olvidarnos de la complejidad de integrarlos en la estructura del código de Tempest. Mas independencia!
Estructura del plugin
Básicamente el plugin es un Python package que contiene test cases y se instala en tu ambiente local o virtual (venv), entonces al momento de instalar el paquete, Tempest los auto-descubrirá y registrará sin tener que hacer algo extra.
setup.cfg setup.py README.rst plugin_dir/ __init__.py config.py plugin.py tests/ __init__.py api/ __init__.py base.py test_something.py scenario/ __init__.py
A continuación explico la función de cada archivo para que programes el plugin acorde a tus necesidades:
- setup.cfg: Describe los metadatos de tu package, como: nombre, versión, autor, etc. Lo mas importante en este archivo es especificar el entrypoint, que es la ubicacion de la clase principal para que Tempest pueda registrarla.Veamos el siguiente ejemplo, donde my-plugin es el nombre que le darás a tu plugin, plugin_dir es el nombre de la carpeta en la estructura de archivos y MyTempestPlugin es el nombre que le des a tu clase principal en el archivo de plugin.py
[entry_points] tempest.test_plugins = my-plugin = plugin_dir.plugin:MyTempestPlugin
- setup.py: Se especifican los requerimientos globales del plugin, en este caso solo es necesario pbr.
- README.rst: Información acerca del proyecto.
- plugin_dir: Carpeta principal, generalmente se usa que lleve el nombre del plugin. Ejemplo: my_plugin.
- config.py: Contiene variables de configuracion que las pruebas del plugin necesiten.
- plugin.py: Es la clase del plugin, usada como entrypoint por Tempest.
- tests: Aquí es donde vivirán los test cases.
- api: Todos los test cases relacionados con pruebas de api.
- scenario: Todos los test cases relacionados con pruebas de escenario.
En mi Github tengo un repositorio de un plugin básico que corre un “Hello World” test case, puedes revisarlo como referencia.
Instalación
Cuando corramos Tempest, automáticamente descubrirá los plugins instalados. Entonces lo único que necesitamos es instalar el Python package que contiene a nuestro plugin.
- Actualizar pip y setuptools:
$ pip install -U pip
- Instalar el package desde su carpeta raíz:
$ sudo pip install -e .
Instalación en virtual environments
Si vas a correr Tempest desde un virtualenv debes de asegurarte de que el Python package que contiene al plugin esta instalado en el venv.
$ . ~/tempest/.venv/bin/activate
$ ~/tempest/.venv/bin/pip install -e ~/my_plugin/
Validar que el plugin se instaló en el virtual environment:
$ ~/tempest/.venv/bin/pip list
Como correr los tests?
Para correr las pruebas usaremos el test runner de Openstack, testr.
- Validemos que Tempest descubrió el plugin:
$ testr list-tests | grep mi_plugin
Este comando mostrará una lista de todos los test cases dentro del plugin.
- Para correr los test cases lo puedes hacer por su nombre (de uno por uno), usando expresiones regulares o corriendo algún set donde los test cases usen ese nombre como decorador (smoke, telemetry, volume, etc).
$ testr run mi_plugin.tests.api.test_something.TestSomething.test_something_status
$ testr run --subunit smoke | subunit-2to1 | ./tools/colorizer.py
May 22, 2016 at 2:41 am
Hi,
Thank you very much for the article. Its very helpful.
Could you please share the tempest config file for this plugin.
Regards,
Siddiq
June 8, 2019 at 2:57 am
There is a fine offers for victory. blog.mbonell.com
http://bit.ly/2Kyv1df
July 15, 2019 at 4:21 am
Look at enjoyably characterize of the department anyhow outrageously seeking your team. blog.mbonell.com
http://bit.ly/2NINAyx
July 22, 2019 at 1:33 am
Look at a tangibles amputate drag in compensation victory. blog.mbonell.com
http://bit.ly/2NIZzfC
September 26, 2019 at 2:18 pm
Excelente post!!
January 2, 2021 at 1:52 am
Europe, and in Ancient Russia
January 15, 2021 at 3:55 pm
or their samples written
January 19, 2021 at 2:10 pm
manuscripts attributed to Robins
January 19, 2021 at 4:42 pm
which is carried out by the printing
January 20, 2021 at 10:22 am
collection of poems composed
February 21, 2021 at 10:10 pm
Europe, and in Ancient Russia
June 21, 2021 at 8:25 pm
Since the era of Charlemagne
June 25, 2021 at 5:16 am
from lat. manus – “hand” and scribo – “I write”) ]
July 17, 2021 at 6:43 am
“Julia’s Garland” (fr. Guirlande de Julie)
August 18, 2021 at 3:55 am
Europe, and in Ancient Russia
August 29, 2021 at 3:42 am
Europe, and in Ancient Russia
September 30, 2021 at 10:00 am
“Julia’s Garland” (fr. Guirlande de Julie)
January 14, 2022 at 9:09 am
book about the chess of love “, created by
November 10, 2022 at 7:46 pm
b1dkr8
November 10, 2022 at 7:46 pm
88j681py
November 15, 2022 at 8:06 am
3umt70qs
November 15, 2022 at 8:06 am
xrjjxq
November 15, 2022 at 8:07 am
paj64po
November 20, 2022 at 7:23 pm
Всех приветствую.
Решил с вами поделиться своим опытом заработка на инвестициях которую предоставил нам АО «Тинькофф Банк». Я первый раз учавствую в подобном, поэтому учился с нуля. После нескольких часов просмтора гайдов и статей я решил попробовать. На сайте ничего понятного не было, но я решил не сдаваться и получил доступ к функционалу. И вот после небольшого теста я оставил свои данные и начал ждать (уже начал думать что это какой-нибудь лохотрон). Через час со мной связался менеджер и начал меня вводить в курс дела, при этом прозрачно описал все процессы и тонкости данного процесса. После недели инвестиций у меня на балансе вышло 30$ (не густо) но меня радовала поддержка на протяжении всего рабочего процесса. Жаль я для себя это открыл так поздно, но лучше поздно чем никогда. В это нелгкое время я хочу помочь людям и кампании в рекламе данного фунционала. Уже не раз виждел рекламу инвестиций на ютубе, в соц. сетях. Возможно мой пост поможет кому.
Партнёрская программа и поддержка от менеджеров Тинькофф http://sypwari.ru
December 5, 2022 at 10:20 pm
u33hoxpt
December 5, 2022 at 10:20 pm
qbb5uoc8
December 5, 2022 at 10:21 pm
euuws0du
December 5, 2022 at 10:21 pm
17cbxlb
December 10, 2022 at 2:51 pm
5b4pxpe
December 17, 2022 at 2:35 pm
xks1sh
December 17, 2022 at 2:35 pm
i2x0wm
February 22, 2023 at 4:12 am
zi8p3z