In NetworkServices Tescases, the TGs (traffic generators) run the traffic in
a separate process. In order to synchronize the traffic injection and the
runner interval loops, an RPC server is needed to publish/subscribe events.
RabbitMQ is a well supported MQ in Linux (used in OpenStack or collectd)
and supported by Python implemented projects like oslo.messaging [1].
RabbitMQ default configuration:
- Port: 5672
- User/password: yardstick/yardstick
[1]https://github.com/openstack/oslo.messaging
JIRA: YARDSTICK-1068
Change-Id: I15db294ee430fb38e574a59b9ce1bf0f8b651a67
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
-EXPOSE 5000
+# nginx=5000, rabbitmq=5672
+EXPOSE 5000 5672
ADD http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img ${IMAGE_DIR}
ADD http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img ${IMAGE_DIR}
RUN pip install appdirs==1.4.0 pyopenssl==17.5.0 python-openstackclient==3.11.0 python-heatclient==1.11.0
@@ -43,8 +44,8 @@ RUN echo "daemon off;" >> /etc/nginx/nginx.conf
-
- EXPOSE 5000
+# nginx=5000, rabbitmq=5672
+EXPOSE 5000 5672
-ADD http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img ${IMAGE_DIR}
-ADD http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img ${IMAGE_DIR}
libxss-dev \
sudo \
iputils-ping
+ rabbitmq-server
if [[ "${DOCKER_ARCH}" != "aarch64" ]]; then
apt-get install -y libc6:arm64
git config --global http.sslVerify false
+# Configure and restart RabbitMQ
+rabbitmqctl add_user yardstick yardstick
+rabbitmqctl set_permissions yardstick ".*" ".*" ".*"
+rabbitmqctl reset
# install yardstick + dependencies
easy_install -U pip==9.0.1