Initial commmit
docker/build/compass is for building compass docker image, which should be triggered automatically by CI(or other periodic jobs). under docker/build/scripts there is a sample start that can be included in Dockerfile(uncomment CMD["/root/sample_start"] when testing this image build. Change-Id: I05dbbde67bd82803971cf3f90a8dbea6d57b0776
This commit is contained in:
parent
294d29998a
commit
51ac20929b
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
||||
Compass Install
|
||||
===============
|
||||
|
||||
How to use examples/compass?
|
||||
---------------------------------------------
|
||||
1. Make sure you have docker installed.
|
||||
2. Make sure you have working cobbler and chef servers, where all adapter related code has been updated to the latest.
|
||||
3. Go to your chef server's web UI and create a client with admin privileges, name it as docker-controller.
|
||||
4. You will have ONE CHANCE to copy the private key, copy it and paste it to replace `conf/chef-client.pem`
|
||||
5. Go to `examples/compass/conf` directory
|
||||
6. Edit chef-icehouse.conf, change '10.145.89.140' to your chef server's IP.
|
||||
7. Edit cobbler.conf and change the IP to your cobbler server's IP.
|
||||
8. Edit compass.setting
|
||||
- COMPASS\_SUPPORTED\_PROXY: this is not supported in containerized compass, use the default value
|
||||
- COMPASS\_SUPPORTED\_DEFAULT_NOPROXY: default value
|
||||
- COMPASS\_SUPPORTED\_NTP\_SERVER: I am planning to move ntpd to cobbler container, so for now just point this value to any working compass server.
|
||||
- COMPASS\_DNS\_SERVERS: cobbler server takes care of dns, use cobbler server IP
|
||||
- COMPASS\_SUPPROTED\_DOMAINS: default
|
||||
- COMPASS\_SUPPORTED\_DEFAULT_GATEWAY: default
|
||||
- COMPASS\_SUPPORTED\_LOCAL\_REPO: use `http://$your\_host\_for\_docker:8080`
|
||||
9. Go to `examples/compass` and run `docker build -t {image_name} .`
|
||||
10. Once build finishes, run `docker run -d -p 8080:80 -i -t {image_name}`
|
||||
11. celery log will be displayed on terminal, once the start script finishes running, open your web browser and go to `http://$your\_host\_for\_docker:8080`
|
137
docker/build/compass/Dockerfile
Normal file
137
docker/build/compass/Dockerfile
Normal file
@ -0,0 +1,137 @@
|
||||
FROM centos:centos7
|
||||
|
||||
ADD conf/setup.conf /root/setup.conf
|
||||
RUN chmod +x /root/setup.conf
|
||||
## install yum repos and then packages
|
||||
RUN source /root/setup.conf && \
|
||||
rpm -Uvh $EPEL7 >& /dev/null && \
|
||||
sed -i 's/^mirrorlist=https/mirrorlist=http/g' /etc/yum.repos.d/epel.repo && \
|
||||
rpm -Uvh $ATOMIC >& /dev/null && \
|
||||
sed -i 's/^mirrorlist=https/mirrorlist=http/g' /etc/yum.repos.d/atomic.repo
|
||||
RUN yum clean all >& /dev/null && \
|
||||
yum update -y --skip-broken >&/dev/null && \
|
||||
yum install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget rabbitmq-server mod_wsgi httpd squid yum-utils gcc net-snmp-utils net-snmp net-snmp-python openssl openssl098e ca-certificates redis mariadb mariadb-server mariadb-devel python-virtualenv python-setuptools MySQL-python
|
||||
|
||||
# set up pip and install python virtual environment
|
||||
RUN easy_install --upgrade pip
|
||||
RUN pip install virtualenvwrapper
|
||||
|
||||
# get compass-core code
|
||||
WORKDIR /root
|
||||
RUN source /root/setup.conf && \
|
||||
git clone $COMPASS_CORE
|
||||
WORKDIR /root/compass-core
|
||||
RUN mkdir /root/backup
|
||||
|
||||
# update rsyslog conf
|
||||
RUN cp -rn /etc/rsyslog.conf /root/backup
|
||||
RUN rm -rf /etc/rsyslog.conf
|
||||
RUN cp -rf misc/rsyslog/rsyslog.conf /etc/rsyslog.conf
|
||||
RUN chmod 644 /etc/rsyslog.conf
|
||||
|
||||
# update logrotate.d
|
||||
RUN cp -rn /etc/logrotate.d /root/backup
|
||||
RUN rm -rf /etc/logrotate.d/*
|
||||
RUN cp -rf misc/logrotate.d/* /etc/logrotate.d/
|
||||
RUN chmod 644 /etc/logrotate.d/*
|
||||
|
||||
# grant permission to httpd and mysqld log dirs
|
||||
RUN mkdir /var/log/mysql
|
||||
RUN chmod 777 /var/log/httpd
|
||||
RUN chmod 777 /var/log/mysql
|
||||
|
||||
# clone compass web
|
||||
WORKDIR /root
|
||||
RUN source /root/setup.conf && \
|
||||
git clone $COMPASS_WEB
|
||||
|
||||
# setup python requirements
|
||||
# remove 'mysql-python' from requirements as centos 7 supports the yum package
|
||||
WORKDIR /root/compass-core
|
||||
RUN sed -i 's/MySQL-python/#MySQL-python/g' requirements.txt
|
||||
RUN source `which virtualenvwrapper.sh` && \
|
||||
mkvirtualenv --system-site-packages compass-core && \
|
||||
workon compass-core && \
|
||||
pip install -U -r requirements.txt
|
||||
|
||||
# download local repo
|
||||
WORKDIR /tmp
|
||||
RUN source /root/setup.conf && \
|
||||
wget $LOCAL_REPO
|
||||
|
||||
# snmp
|
||||
# instead of moving mibs to /usr/local/share/snmp/mibs, centos7 puts mibs file at /usr/share/snmp/mibs/
|
||||
|
||||
WORKDIR /root/compass-core
|
||||
RUN yes|cp -rf mibs/* /usr/share/snmp/mibs/
|
||||
RUN cp -rf misc/snmp/snmp.conf /etc/snmp/snmp.conf
|
||||
RUN chmod 644 /etc/snmp/snmp.conf
|
||||
RUN mkdir -p /var/lib/net-snmp/mib_indexes
|
||||
RUN chmod 755 /var/lib/net-snmp/mib_indexes
|
||||
|
||||
# install compass-core
|
||||
WORKDIR /root/compass-core
|
||||
RUN mkdir -p /etc/compass
|
||||
RUN mkdir -p /opt/compass/bin
|
||||
RUN mkdir -p /var/log/compass
|
||||
RUN mkdir -p /var/log/chef
|
||||
RUN mkdir -p /var/www/compass
|
||||
|
||||
RUN cp -rf misc/apache/ods-server.conf /etc/httpd/conf.d/ods-server.conf
|
||||
RUN cp -rf conf/* /etc/compass/
|
||||
RUN cp -rf bin/*.py /opt/compass/bin/
|
||||
RUN cp -rf bin/*.sh /opt/compass/bin/
|
||||
RUN cp -rf bin/compassd /usr/bin/
|
||||
RUN cp -rf bin/switch_virtualenv.py.template /opt/compass/bin/switch_virtualenv.py
|
||||
RUN ln -s -f /opt/compass/bin/compass_check.py /usr/bin/compass
|
||||
RUN ln -s -f /opt/compass/bin/compass_wsgi.py /var/www/compass/compass.wsgi
|
||||
RUN cp -rf bin/chef/* /opt/compass/bin/
|
||||
RUN cp -rf bin/cobbler/* /opt/compass/bin/
|
||||
RUN cp -rf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so
|
||||
|
||||
# setup compass-core and related confs
|
||||
RUN mkdir -p /opt/compass/db && \
|
||||
chmod -R 777 /opt/compass/db
|
||||
RUN chmod -R 777 /var/log/compass
|
||||
RUN chmod -R 777 /var/log/chef
|
||||
RUN echo "export C_FORCE_ROOT=1" > /etc/profile.d/celery_env.sh
|
||||
RUN chmod +x /etc/profile.d/celery_env.sh
|
||||
WORKDIR /root/compass-core
|
||||
RUN source `which virtualenvwrapper.sh` && \
|
||||
workon compass-core && \
|
||||
python setup.py install
|
||||
|
||||
# compass web
|
||||
WORKDIR /root/compass-web
|
||||
RUN yum -y install tar
|
||||
RUN mkdir -p /var/www/compass_web
|
||||
RUN cp -rf v2 /var/www/compass_web/
|
||||
WORKDIR /tmp
|
||||
RUN tar -xzvf local_repo.tar.gz
|
||||
RUN mv -f local_repo/* /var/www/compass_web/v2/
|
||||
|
||||
# enable start-up script
|
||||
ADD scripts/sample_start /root/sample_start
|
||||
RUN chmod +x /root/sample_start
|
||||
|
||||
# start: perform some post-installation tasks
|
||||
# modify compass refresh to make it work in containers
|
||||
ADD scripts/refresh.sh /opt/compass/bin/refresh.sh
|
||||
RUN chmod +x /opt/compass/bin/refresh.sh
|
||||
|
||||
# set python home for virtualenv
|
||||
RUN sed -i "s|\$PythonHome|\/root\/\.virtualenvs\/compass-core|g" /opt/compass/bin/switch_virtualenv.py
|
||||
|
||||
# add apache to root group
|
||||
RUN usermod -a -G `groups root|awk '{print$3}'` apache
|
||||
|
||||
# configure mysql
|
||||
RUN /usr/bin/mysql_install_db && \
|
||||
chown -R mysql:mysql /var/lib/mysql
|
||||
|
||||
# CMD ["/root/sample_start"]
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 22
|
||||
EXPOSE 123
|
||||
EXPOSE 3306
|
5
docker/build/compass/conf/setup.conf
Normal file
5
docker/build/compass/conf/setup.conf
Normal file
@ -0,0 +1,5 @@
|
||||
LOCAL_REPO="https://s3-us-west-1.amazonaws.com/compass-local-repo/local_repo.tar.gz"
|
||||
EPEL7="http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm"
|
||||
ATOMIC="http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/atomic-release-1.0-19.el7.art.noarch.rpm"
|
||||
COMPASS_CORE="https://git.openstack.org/stackforge/compass-core.git"
|
||||
COMPASS_WEB="https://git.openstack.org/stackforge/compass-web.git"
|
9
docker/build/compass/scripts/refresh.sh
Normal file
9
docker/build/compass/scripts/refresh.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#/bin/bash
|
||||
set -e
|
||||
/opt/compass/bin/manage_db.py createdb
|
||||
# /opt/compass/bin/clean_installers.py
|
||||
# /opt/compass/bin/clean_installation_logs.py
|
||||
/usr/sbin/apachectl -D NO_DETACH -D FOREGROUND
|
||||
/usr/bin/redis-server &
|
||||
CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper C_FORCE_ROOT=1 /opt/compass/bin/celery worker &> /tmp/celery-worker.log &
|
||||
/opt/compass/bin/progress_update.py &> /tmp/progress_update.log
|
56
docker/build/compass/scripts/sample_start
Normal file
56
docker/build/compass/scripts/sample_start
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# set python home
|
||||
# sed -i "s|\$PythonHome|\/root\/\.virtualenvs\/compass-core|g" /opt/compass/bin/switch_virtualenv.py
|
||||
|
||||
# add apache to root user group
|
||||
# usermod -a -G `groups root|awk '{print$3}'` apache
|
||||
|
||||
# activate virtualenv
|
||||
source `which virtualenvwrapper.sh`
|
||||
workon compass-core
|
||||
|
||||
## mysql
|
||||
# install db
|
||||
# grant permission to mysql data dir
|
||||
# /usr/bin/mysql_install_db
|
||||
# chown mysql:mysql /var/lib/mysql
|
||||
# chown mysql:mysql /var/lib/mysql/*
|
||||
# chown mysql:mysql /var/lib/mysql/mysql/*
|
||||
# chown mysql:mysql /var/lib/mysql/performance_schema/*
|
||||
|
||||
# start mysqld service, push it to bg
|
||||
/usr/bin/mysqld_safe > /dev/null 2>&1 &
|
||||
|
||||
RET=1
|
||||
while [[ RET -ne 0 ]]; do
|
||||
echo "waiting for mariadb to startup"
|
||||
sleep 5
|
||||
mysql -uroot -e "status" > /dev/null 2>&1
|
||||
RET=$?
|
||||
done
|
||||
|
||||
echo "mariadb started"
|
||||
|
||||
# set mysql with default username and password
|
||||
mysqladmin -h127.0.0.1 --port=3306 -u root password root
|
||||
|
||||
# create db 'compass'
|
||||
mysql -h127.0.0.1 --port=3306 -uroot -proot -e "create database compass"
|
||||
|
||||
## virtualenv
|
||||
# create virtualenv
|
||||
# source `which virtualenvwrapper.sh`
|
||||
# mkvirtualenv --system-site-packages compass-core
|
||||
|
||||
# install compass requirements
|
||||
|
||||
# start compass services
|
||||
/opt/compass/bin/manage_db.py createdb
|
||||
/usr/sbin/apachectl -k start
|
||||
/usr/sbin/rabbitmq-server &
|
||||
/usr/bin/redis-server &
|
||||
ln -s /root/.virtualenvs/compass-core/bin/celery /opt/compass/bin/celery
|
||||
CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper C_FORCE_ROOT=1 /opt/compass/bin/celery worker &> /tmp/celery-worker.log &
|
||||
/opt/compass/bin/progress_update.py &> /tmp/progress_update.log &
|
||||
tail -f /dev/null
|
13
examples/Dockerfile
Normal file
13
examples/Dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
FROM compassindocker/compass:test
|
||||
|
||||
ADD scripts/start /root/start
|
||||
ADD conf/compass.setting /etc/compass/setting
|
||||
ADD conf/cobbler.conf /etc/compass/os_installer/cobbler.conf
|
||||
ADD conf/chef-icehouse.conf /etc/compass/package_installer/chef-icehouse.conf
|
||||
ADD conf/chef-client.pem /etc/chef-client.pem
|
||||
|
||||
RUN chmod +x /root/start
|
||||
|
||||
CMD ["/root/start"]
|
||||
EXPOSE 80
|
||||
EXPOSE 123
|
28
examples/conf/chef-client.pem
Normal file
28
examples/conf/chef-client.pem
Normal file
@ -0,0 +1,28 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpAIBAAKCAQEA16JNckh4jk4B/yuw42OkHTix7cFWr7DLvpUOFHecmw6IcfP2
|
||||
mLvY2FI+RFFtM91/hWy648TtNzK5/iUJeTNLjGAuthzGeTfGS9SR8rSfVjDd6zHt
|
||||
gbHBTPPCeAydy9TfJpOhXWy8DHNiGjQKQd/RM8Sgzbp0JW1yMqSg+o64MgR8VFLL
|
||||
VMG6kA1VFzLs+/3W14vaHZqF0y8N0ZQeAXnsx51zNQL2rlEpF3PMMAhgyJIZ+UZk
|
||||
vDPu+i6wcabrq7yfmYg5B9OzAHkccAacCLjMz/2KCxHysuxkiElZ5g6qpHAlBQCw
|
||||
yt/GY6+UYBWtKd7UrHCN9+k5a4hXom1VbSYmGQIDAQABAoIBAQDQtT7QhmRpGAfG
|
||||
ursS27ZUsjNFNAR7OFt7szlVhhAF5CMcaE0dt3NCrReneEiCErkCoyKgolIXQvnS
|
||||
inaI4KUW0WFk0qUnXlyHuM8qYrh17AZfRovjI/E8UhK/rzZruzXhWLKugjfgtS0W
|
||||
v5fN+pu5x278sKMKNsx5R+6nlMujW/ztk6zFh4XQPH4WjbpEwNbGWtwktUu1ogTu
|
||||
AKLUZUvjNej+qBo/rxaTvKnUw9YW7KRNmD97CJwiyATEMW3uCs/K+S1gMIW/pkOt
|
||||
Nl3cokF94FwPxcSuJZMc6ZuGJrdjuUiwExO5Q9x5pxskbwYfK6Sq/cLy9ssqV8aL
|
||||
Mam7xkKBAoGBAPR2Q+br5TXZHYv3y4FCKo6tcALloIdHAoVLrfSXeKe81b70j/Za
|
||||
hGE9Wm5F0hbMK70l+NgDJnSbUUKmwDeU4eJbhrW68xuu8XP1jblwWLZ/RrqX4w8F
|
||||
WqNbN4LokEu285xTZc2/MGyI4E7IB0LzCh7YvNyD8Mw5hoQeZqne76yNAoGBAOHP
|
||||
uHOgu2lFokW8hvYg1tG1WqDAxNEThz+F6K1AhCh/rrKFqsns5baAr0A0nBOzfF52
|
||||
hnuQwjivoQ4LxapwDyYmbs0qmPSgOnKUAKuAlGYgiPzoqqAu7rPU6IsmbIa6Jex0
|
||||
JgbNNlFflvogQ7Ws1MJkVflBXtCRmIEC+dUeX0q9AoGBAM1H1oM+Sc6rEDWuEnTr
|
||||
lAMVvz6fhuqyBXrbbys6WvY4CyF8CrvrjMh/FcYN2XqNXplKHql+E7fNiTI4Bqdl
|
||||
3T0QcJGAeI8hm94tMCKtJcGyJTmhO+ksLM2KVpYWJr191xnJqm5YgxhQ5FMjg32D
|
||||
y1bV19ow7W8BS2T8hmdVLtwtAoGAdf/9THcW2EkqJjUBdcbtWwLhDBYQA42n5HsO
|
||||
ftKy/RLT8LhG6mQgGkGe0vdrBCSL/jUDy7h2tfaZO+TM82bBk9cLma0D5vl/8XYD
|
||||
75sucTvZOgg/eZts446DwotetPy7ape7c1xzYQyJscWAfISHXdnez3TonicnQWuT
|
||||
sFnBxCUCgYAmFe++2rfIDyTn/gYcZcTQeF9Ei9jAo8fGXuS/mqBNBwRLuctqoWsX
|
||||
Qw4XZ+sMZQ2nQED9mC5skEpSKdetXZ0eMLd/JfnJhyqSlGqEbauD01mEdV/POYxG
|
||||
oxpSg7bPw05mpaIzUCXw1mQpq7bZ/dQRArNs0wJwFi7sL1Pkf+/AHg==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
11
examples/conf/chef-icehouse.conf
Normal file
11
examples/conf/chef-icehouse.conf
Normal file
@ -0,0 +1,11 @@
|
||||
NAME = 'chef_installer'
|
||||
INSTANCE_NAME = 'chef_installer'
|
||||
SETTINGS = {
|
||||
'chef_url': 'https://10.145.89.140',
|
||||
'chef_server_ip': '10.145.89.140',
|
||||
'chef_server_dns': 'compass',
|
||||
'key_dir': '/etc/chef-client.pem',
|
||||
'client_name': 'docker-controller',
|
||||
'databags': []
|
||||
}
|
||||
|
9
examples/conf/cobbler.conf
Normal file
9
examples/conf/cobbler.conf
Normal file
@ -0,0 +1,9 @@
|
||||
NAME = 'cobbler'
|
||||
INSTANCE_NAME = 'cobbler'
|
||||
SETTINGS = {
|
||||
'cobbler_url': 'http://10.145.89.140/cobbler_api',
|
||||
'credentials': {
|
||||
'username': 'cobbler',
|
||||
'password': 'cobbler'
|
||||
}
|
||||
}
|
33
examples/conf/compass.setting
Normal file
33
examples/conf/compass.setting
Normal file
@ -0,0 +1,33 @@
|
||||
CONFIG_DIR = '/etc/compass'
|
||||
DATABASE_TYPE = 'mysql'
|
||||
DATABASE_USER = 'root'
|
||||
DATABASE_PASSWORD = 'root'
|
||||
DATABASE_SERVER = '127.0.0.1:3306'
|
||||
DATABASE_NAME = 'compass'
|
||||
SQLALCHEMY_DATABASE_URI = '%s://%s:%s@%s/%s' % (DATABASE_TYPE, DATABASE_USER, DATABASE_PASSWORD, DATABASE_SERVER, DATABASE_NAME)
|
||||
SQLALCHEMY_DATABASE_POOL_TYPE = 'instant'
|
||||
INSTALLATION_LOGDIR = {
|
||||
'CobblerInstaller': '/var/log/cobbler/anamon',
|
||||
'ChefInstaller': '/var/log/chef'
|
||||
}
|
||||
DEFAULT_LOGLEVEL = 'info'
|
||||
DEFAULT_LOGDIR = '/var/log/compass'
|
||||
DEFAULT_LOGINTERVAL = 6
|
||||
DEFAULT_LOGINTERVAL_UNIT = 'h'
|
||||
DEFAULT_LOGFORMAT = '%(asctime)s - %(filename)s - %(lineno)d - %(levelname)s - %(message)s'
|
||||
WEB_LOGFILE = 'compass.log'
|
||||
CELERY_LOGFILE = 'celery.log'
|
||||
CELERYCONFIG_DIR = '/etc/compass'
|
||||
CELERYCONFIG_FILE = 'celeryconfig'
|
||||
PROGRESS_UPDATE_INTERVAL=30
|
||||
POLLSWITCH_INTERVAL=60
|
||||
SWITCHES = [
|
||||
]
|
||||
TMPL_DIR = '/etc/compass/templates'
|
||||
COMPASS_SUPPORTED_PROXY = 'http://10.145.89.140:3128'
|
||||
COMPASS_SUPPORTED_DEFAULT_NOPROXY = ['127.0.0.1','10.145.89.140','comapss']
|
||||
COMPASS_SUPPORTED_NTP_SERVER = '10.145.89.140'
|
||||
COMPASS_SUPPORTED_DNS_SERVERS = ['10.145.89.140']
|
||||
COMPASS_SUPPORTED_DOMAINS = ['ods.com']
|
||||
COMPASS_SUPPORTED_DEFAULT_GATEWAY = '10.145.88.1'
|
||||
COMPASS_SUPPORTED_LOCAL_REPO = 'http://10.145.89.140'
|
36
examples/scripts/start
Normal file
36
examples/scripts/start
Normal file
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# activate virtualenv
|
||||
source `which virtualenvwrapper.sh`
|
||||
workon compass-core
|
||||
|
||||
# start mysqld service, push it to bg
|
||||
/usr/bin/mysqld_safe > /dev/null 2>&1 &
|
||||
|
||||
RET=1
|
||||
while [[ RET -ne 0 ]]; do
|
||||
echo "waiting for mariadb to startup"
|
||||
sleep 5
|
||||
mysql -uroot -e "status" > /dev/null 2>&1
|
||||
RET=$?
|
||||
done
|
||||
|
||||
echo "mariadb started"
|
||||
|
||||
# set mysql with default username and password
|
||||
mysqladmin -h127.0.0.1 --port=3306 -u root password root
|
||||
|
||||
# create db 'compass'
|
||||
mysql -h127.0.0.1 --port=3306 -uroot -proot -e "create database compass"
|
||||
|
||||
# start compass services
|
||||
/opt/compass/bin/manage_db.py createdb
|
||||
/usr/sbin/apachectl -k start
|
||||
/usr/sbin/rabbitmq-server &
|
||||
/usr/bin/redis-server &
|
||||
/usr/sbin/ntpd &
|
||||
ln -s /root/.virtualenvs/compass-core/bin/celery /opt/compass/bin/celery
|
||||
CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper C_FORCE_ROOT=1 /opt/compass/bin/celery worker &> /tmp/celery-worker.log &
|
||||
/opt/compass/bin/progress_update.py &> /tmp/progress_update.log &
|
||||
touch /var/log/compass/celery.log
|
||||
tail -f /var/log/compass/celery.log
|
Loading…
x
Reference in New Issue
Block a user