Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the deployment of the Teuthology platform

2025-01-17 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/01 Report--

This article shows you how the deployment of the Teuthology platform is, concise and easy to understand, which will definitely brighten your eyes. I hope you can get something through the detailed introduction of this article.

Teuthology architecture software composition

The software components used in the Teuthology testing framework are as follows:

Jenkins continuous Integration tool

Teuthology Ceph test suite

Shaman query provides the chacra node of the package, horizontal scaling and scheduling chacra node

Chacra provides REST API interfaces for managing binary packages or files of different architectures.

Teuthology deployment paddles/pulpito node installation depends on yum install git python-dev python-virtualenv postgresql postgresql-contrib postgresql-server-dev-all supervisor gcc epel-release configuration postgresql database

Initialize the database

Postgresql-setup initdbsystemctl start postgresql / / start database systemctl enable postgresql

After postgresql is installed and started, postgres users are automatically generated

Su-postgres / / enter the user-bash-4.2$ psql / / enter the database postgres=#\ password postgres / / change the password of the user postgres

/ / just enter the password according to the output prompt.

Create database instances paddles and shaman

Postgres=#create database paddles; / / create a database named paddles postgres=#create database shaman; / / create a database named shaman postgres=#create database chacra; / / create a database named chacra installation configuration paddles

Create a paddles user and clone the paddles project

Useradd-m paddles-g root-G root / / New user paddlessu-paddles / / switch to paddles user git clone https://github.com/ceph/paddles.git / / Clone the project cd paddlesvirtualenv. / virtualenv/ / create the sandboxie environment of python source. / virtualenv/bin/activate / / enter the sandboxie environment

Modify the configuration file. There is an example of the configuration file in paddles. You only need to make a copy and modify it.

Cp config.py.in config.py

What needs to be modified

Job_log_href_templ= 'http://qa-proxy.ceph.com/teuthology/{run_name}/{job_id}/teuthology.log' # change qa-proxy.ceph.com/teuthology to the address of its corresponding log server... sqlalchemy = {# You may use SQLite for testing' url': 'postgresql://postgres:password@localhost/paddles', # When you set up PostreSQL It will look more like: # 'url':' postgresql+psycopg2://USER:PASSWORD@DB_HOST/DB_NAME', 'echo': True,' echo_pool': True, 'pool_recycle': 3600,' encoding': 'utf-8'}

Modify / var/lib/pgsql/data/pg_hba.conf to solve the error Ident authentication failed when initializing the paddles environment.

# "local" is for Unix domain socket connections onlylocal all all trust# IPv4 local connections:host all all 127.0.0.1 trust 32 md5# IPv6 local connections:host all all:: 1ax 128

After making the changes, save and exit. Then install the related dependencies and initialize the environment.

$pip install-r requirements.txt / / installation-related dependencies $python setup.py develop / / initialize the environment $pecan populate config.py// to create the tables needed for paddles in postgresql

Configure the data migration tool

$cp alembic.ini.in alembic.ini$ vi alembic.ini sqlalchemy.url = postgresql://postgres:password@localhost/paddles$alembic stamp head// triggers the migration tool to take effect

Deploy paddles services through supervisord

# cat / etc/supervisord.d/ paddles.ini [program: paddles] user=paddlesenvironment=HOME= "/ home/paddles", USER= "paddles" directory=/home/paddles/paddlescommand=/home/paddles/paddles/virtualenv/bin/gunicorn_pecan-c gunicorn_config.py config.pyautostart=trueautorestart=trueredirect_stderr=truestdout_logfile = / home/paddles/paddles.out.logstderr_logfile = / home/paddles/paddles.err.log installation and configuration pulpito

Create pulpito users and switch to pulpito users for deployment

# useradd-m pulpito-g root-G root#su-pulpito$git clone https://github.com/ceph/pulpito.git$cd pulpito$virtualenv. / virtualenv

Modify the configuration file. There is an example of the configuration file in paddles. You only need to make a copy and modify it.

$cp config.py.in prod.py$vi prod.py

The main modifications are as follows:

. Paddles_address = 'http://192.168.122.34:8080' # actual paddles service address.' Debug': False

After making the changes, save and exit. Then install the related dependencies.

$source. / virtualenv/bin/activate$pip install-r requirements.txt / / installation dependent

Deploy pulpito services through supervisord

# cat / etc/supervisord.d/pulpito.ini [program:pulpito] user=pulpito directory=/home/pulpito/pulpito command=/home/pulpito/pulpito/virtualenv/bin/python run.py environment=HOME= "/ home/pulpito", USER= "pulpito" autostart=true autorestart=true redirect_stderr=true stdout_logfile = / home/pulpito/pulpito.out.log stderr_logfile = / home/pulpito/pulpito.err.log launch supervisorsudo supervisord-c / etc/supervisord.confsudo supervisorctl reloadsudo supervisorctl start all// launch sudo supervisorctl status// to check status You can see that the process of paddles and pulpito started the detection service.

In the browser or terminal, you can access http://{ip}:8080/ and http://{ip}:8081/, and see the following interface:

Deploy shaman

There are two ways to deploy shaman, one is manual deployment, the other is through ansible, here manual deployment is used.

Installation dependent on yum install epel-release gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64 erlang installation of RabbitMQwget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm rpm-- import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc yum install rabbitmq-server-3.6.1- 1.noarch.rpmsystemctl start rabbitmq-server # launch rabbitmq-serversystemctl enable rabbitmq-server # set up rabbitmq-server Boot self-boot deployment shaman

Create a shaman user, clone the shaman project, and then create the sandboxie environment.

Useradd-m shaman-g root-G root / / New user shamansu-shaman / / switch to shaman user git clone https://github.com/ceph/shaman.git / / Clone the project cd shamanvirtualenv. / virtualenv/ / create the sandboxie environment of python source. / virtualenv/bin/activate / / enter the sandboxie environment

Install some software dependencies that are not available in requirements.txt

Pip install-- upgrade setuptools pip install-- upgrade pippip install "cherrypy > = 3.8.0

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report