3d9b1e43a6
Every day Rally step by step closer to the point where Rally is going to be generic framework and it would be possible to split Rally & Rally OpenStack Plugins One of the blockers for doing this is certification & samples directories and their contents. Current apporach creates a lot of confusion: - Rally Users are running samples against production - Rally samples are actually not that usefull, because creating from them tasks takes a lot of time - Rally Users don't know what certification task is and how to use it - Samples are hard to ship/find in packaged way (when rally is installed) - Samples are going to be impossible to ship after the split - We have to keep hunderds of yaml/json files in actual state in our repo (extra work for developers) Proposed approach is to: - Create mechansim CLI command that generates samples using plugin names - Rename certification -> tasks - Put in tasks directory pre created and tested tasks for different use cases: key performance metrics, functional testing, load testing of key functionality, ha Testing - Remove samples as they are not needed anymore Change-Id: I4c45224c3af637d17dab0edea038c69a2bae8b1a
39 lines
2.1 KiB
Docker
39 lines
2.1 KiB
Docker
FROM ubuntu:16.04
|
|
|
|
RUN apt-get update && apt-get install --yes sudo python python-pip vim git-core && \
|
|
pip install --upgrade pip && \
|
|
useradd -u 65500 -m rally && \
|
|
usermod -aG sudo rally && \
|
|
echo "rally ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/00-rally-user
|
|
|
|
COPY . /home/rally/source
|
|
WORKDIR /home/rally/source
|
|
|
|
RUN pip install .
|
|
RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/motd' \
|
|
>> /etc/bash.bashrc; echo '\
|
|
╔═════════════════════════════════════════════════════════════════════════════╗\n\
|
|
║ Welcome to Rally Docker container! ║\n\
|
|
║ Rally pre created tasks, samples and docs are located at ~/source/ ║\n\
|
|
║ Rally configuration and DB are in ~/.rally/ ║\n\
|
|
║ Rally at readthedocs - http://rally.readthedocs.org ║\n\
|
|
║ How to contribute - http://rally.readthedocs.org/en/latest/contribute.html ║\n\
|
|
║ If you have any questions, you can reach the Rally team by: ║\n\
|
|
║ * e-mail - openstack-dev@lists.openstack.org with tag [Rally] in subject ║\n\
|
|
║ * irc - "#openstack-rally" channel at freenode.net ║\n\
|
|
╚═════════════════════════════════════════════════════════════════════════════╝\n' > /etc/motd
|
|
|
|
USER rally
|
|
ENV HOME /home/rally
|
|
WORKDIR /home/rally
|
|
RUN mkdir .rally && \
|
|
cp ./source/etc/rally/rally.conf.sample .rally/rally.conf && \
|
|
sed -i "s|#connection *=.*|connection = \"sqlite:////home/rally/.rally/rally.db\"|" .rally/rally.conf && \
|
|
rally db recreate
|
|
|
|
# Docker volumes have specific behavior that allows this construction to work.
|
|
# Data generated during the image creation is copied to volume only when it's
|
|
# attached for the first time (volume initialization)
|
|
VOLUME ["/home/rally"]
|
|
ENTRYPOINT ["rally"]
|