Merge "Update Docker image"

This commit is contained in:
Zuul 2020-03-24 23:37:56 +00:00 committed by Gerrit Code Review
commit 6302212b42
5 changed files with 26 additions and 145 deletions

View File

@ -6,7 +6,7 @@
- rally-tox-py36 - rally-tox-py36
- rally-tox-py37 - rally-tox-py37
- rally-dsvm-tox-functional - rally-dsvm-tox-functional
#- rally-docker-check - rally-docker-check
- rally-task-basic-with-existing-users: - rally-task-basic-with-existing-users:
# use_existing_users key did not trigger proper ansible tasks # use_existing_users key did not trigger proper ansible tasks
voting: false voting: false
@ -65,7 +65,7 @@
- rally-tox-py36 - rally-tox-py36
- rally-tox-py37 - rally-tox-py37
- rally-dsvm-tox-functional - rally-dsvm-tox-functional
#- rally-docker-check - rally-docker-check
- rally-task-simple-job - rally-task-simple-job
- rally-task-cinder - rally-task-cinder
#- rally-task-heat #- rally-task-heat

View File

@ -16,6 +16,17 @@ Changelog
.. Release notes for existing releases are MUTABLE! If there is something that .. Release notes for existing releases are MUTABLE! If there is something that
was missed or can be improved, feel free to change it! was missed or can be improved, feel free to change it!
[unreleased]
------------
Changed
~~~~~~~
* `docker image <https://hub.docker.com/r/xrally/xrally-openstack>`_ is
switched to use `docker image <https://hub.docker.com/r/xrally/xrally>`_ as
a base user that brings use python 3.6 and ubuntu bionic.
[1.7.0] - 2020-12-25 [1.7.0] - 2020-12-25
-------------------- --------------------

View File

@ -1,36 +1,14 @@
FROM ubuntu:16.04 FROM xrally/xrally:3.0.0
RUN sed -i s/^deb-src.*// /etc/apt/sources.list # "rally" user (which is selected by-default) is owner of "/rally" directory,
# so there is no need to call chown or switch the user
COPY . /rally/xrally_opentstack
WORKDIR /rally/xrally_opentstack
RUN apt-get update && apt-get install --yes sudo python python-pip vim git-core && \ # to install package system-wide, we need to temporary switch to root user
pip install --upgrade pip && \ USER root
useradd -u 65500 -m rally && \ # disabling cache since we do not expect to install other packages
usermod -aG sudo rally && \ RUN pip3 install -U setuptools --no-cache-dir && pip3 install . --no-cache-dir
echo "rally ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/00-rally-user
COPY . /home/rally/source
COPY etc/motd /etc/motd
WORKDIR /home/rally/source
# ensure that we have all system packages installed
RUN pip install bindep && apt-get install --yes $(bindep -b | tr '\n' ' ')
RUN pip install . --constraint upper-constraints.txt && \
pip install pymysql && \
pip install psycopg2 && \
mkdir /etc/rally && \
echo "[database]" > /etc/rally/rally.conf && \
echo "connection=sqlite:////home/rally/data/rally.db" >> /etc/rally/rally.conf
RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc
# Cleanup pip
RUN rm -rf /root/.cache/
# switch back to rally user for avoid permission conflicts
USER rally USER rally
ENV HOME /home/rally
RUN mkdir -p /home/rally/data && 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/data"]
ENTRYPOINT ["rally"]

View File

@ -1,108 +0,0 @@
#!/bin/bash
# Standalone _filedir() alternative.
# This exempts from dependence of bash completion routines
function _rally_filedir()
{
test "${1}" \
&& COMPREPLY=( \
$(compgen -f -- "${cur}" | grep -E "${1}") \
$(compgen -o plusdirs -- "${cur}") ) \
|| COMPREPLY=( \
$(compgen -o plusdirs -f -- "${cur}") \
$(compgen -d -- "${cur}") )
}
_rally()
{
declare -A SUBCOMMANDS
declare -A OPTS
OPTS["db_create"]=""
OPTS["db_ensure"]=""
OPTS["db_recreate"]=""
OPTS["db_revision"]=""
OPTS["db_show"]="--creds"
OPTS["db_upgrade"]=""
OPTS["deployment_check"]="--deployment"
OPTS["deployment_config"]="--deployment"
OPTS["deployment_create"]="--name --fromenv --filename --no-use"
OPTS["deployment_destroy"]="--deployment"
OPTS["deployment_list"]=""
OPTS["deployment_recreate"]="--filename --deployment"
OPTS["deployment_show"]="--deployment"
OPTS["deployment_use"]="--deployment"
OPTS["env_check"]="--env --json --detailed"
OPTS["env_create"]="--name --description --extras --spec --json --no-use"
OPTS["env_delete"]="--env --force"
OPTS["env_destroy"]="--env --skip-cleanup --json --detailed"
OPTS["env_info"]="--env --json"
OPTS["env_list"]="--json"
OPTS["env_show"]="--env --json"
OPTS["env_use"]="--env --json"
OPTS["plugin_list"]="--name --platform --plugin-base"
OPTS["plugin_show"]="--name --platform"
OPTS["task_abort"]="--uuid --soft"
OPTS["task_delete"]="--force --uuid"
OPTS["task_detailed"]="--uuid --iterations-data"
OPTS["task_export"]="--uuid --type --to"
OPTS["task_import"]="--file --deployment --tag"
OPTS["task_list"]="--deployment --all-deployments --status --tag --uuids-only"
OPTS["task_report"]="--out --open --html --html-static --json --uuid"
OPTS["task_results"]="--uuid"
OPTS["task_sla-check"]="--uuid --json"
OPTS["task_sla_check"]="--uuid --json"
OPTS["task_start"]="--deployment --task --task-args --task-args-file --tag --no-use --abort-on-sla-failure"
OPTS["task_status"]="--uuid"
OPTS["task_trends"]="--out --open --tasks"
OPTS["task_use"]="--uuid"
OPTS["task_validate"]="--deployment --task --task-args --task-args-file"
OPTS["verify_add-verifier-ext"]="--id --source --version --extra-settings"
OPTS["verify_configure-verifier"]="--id --deployment-id --reconfigure --extend --override --show"
OPTS["verify_create-verifier"]="--name --type --platform --source --version --system-wide --extra-settings --no-use"
OPTS["verify_delete"]="--uuid"
OPTS["verify_delete-verifier"]="--id --deployment-id --force"
OPTS["verify_delete-verifier-ext"]="--id --name"
OPTS["verify_import"]="--id --deployment-id --file --run-args --no-use"
OPTS["verify_list"]="--id --deployment-id --tag --status"
OPTS["verify_list-plugins"]="--platform"
OPTS["verify_list-verifier-exts"]="--id"
OPTS["verify_list-verifier-tests"]="--id --pattern"
OPTS["verify_list-verifiers"]="--status"
OPTS["verify_report"]="--uuid --type --to --open"
OPTS["verify_rerun"]="--uuid --deployment-id --failed --tag --concurrency --detailed --no-use"
OPTS["verify_show"]="--uuid --sort-by --detailed"
OPTS["verify_show-verifier"]="--id"
OPTS["verify_start"]="--id --deployment-id --tag --pattern --concurrency --load-list --skip-list --xfail-list --detailed --no-use"
OPTS["verify_update-verifier"]="--id --update-venv --version --system-wide --no-system-wide"
OPTS["verify_use"]="--uuid"
OPTS["verify_use-verifier"]="--id"
for OPT in ${!OPTS[*]} ; do
CMD=${OPT%%_*}
CMDSUB=${OPT#*_}
SUBCOMMANDS[${CMD}]+="${CMDSUB} "
done
COMMANDS="${!SUBCOMMANDS[*]}"
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
if [[ $cur =~ ^(\.|\~|\/) ]] || [[ $prev =~ ^--out(|put-file)$ ]] ; then
_rally_filedir
elif [[ $prev =~ ^--(task|filename)$ ]] ; then
_rally_filedir "\.json|\.yaml|\.yml"
elif [ $COMP_CWORD == "1" ] ; then
COMPREPLY=($(compgen -W "$COMMANDS" -- ${cur}))
elif [ $COMP_CWORD == "2" ] ; then
COMPREPLY=($(compgen -W "${SUBCOMMANDS[${prev}]}" -- ${cur}))
else
COMMAND="${COMP_WORDS[1]}_${COMP_WORDS[2]}"
COMPREPLY=($(compgen -W "${OPTS[$COMMAND]}" -- ${cur}))
fi
return 0
}
complete -o filenames -F _rally rally

View File

@ -41,12 +41,12 @@
- name: Create an Environment - name: Create an Environment
become: True become: True
become_user: root become_user: root
command: docker run -v rally_volume:/home/rally/data xrally/xrally-openstack env create --name "special_env_name" command: docker run -v rally_volume:/home/rally/.rally xrally/xrally-openstack env create --name "special_env_name"
- name: List all available environments - name: List all available environments
become: True become: True
become_user: root become_user: root
command: docker run -v rally_volume:/home/rally/data xrally/xrally-openstack env list command: docker run -v rally_volume:/home/rally/.rally xrally/xrally-openstack env list
register: env_list register: env_list
# Check availability of that environment (check that volume stores Rally database) # Check availability of that environment (check that volume stores Rally database)
@ -58,4 +58,4 @@
become: True become: True
become_user: root become_user: root
# this plugin was added with rally-openstack 1.1.0 # this plugin was added with rally-openstack 1.1.0
command: docker run -v rally_volume:/home/rally/data xrally/xrally-openstack plugin show GnocchiMetric.list_metric command: docker run -v rally_volume:/home/rally/.rally xrally/xrally-openstack plugin show GnocchiMetric.list_metric