Add Dockerfile
Change-Id: I229c065dc01881a65fb0a4d1c2aa7409c4226fdd
This commit is contained in:
parent
8d17d7ca0a
commit
2a44446380
|
@ -0,0 +1,5 @@
|
|||
.git/*
|
||||
.tox/*
|
||||
doc/*
|
||||
**/*.pyc
|
||||
**/__pycache__
|
|
@ -0,0 +1,29 @@
|
|||
FROM python:2
|
||||
|
||||
RUN apt-get update -qq && \
|
||||
apt-get install -q -y \
|
||||
python-dev \
|
||||
libvirt-dev \
|
||||
# xvfb \
|
||||
# iceweasel \
|
||||
# libav-tools \
|
||||
&& \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
WORKDIR /opt/app
|
||||
|
||||
COPY . /opt/app/
|
||||
|
||||
ENV OSLO_PACKAGE_VERSION=1.8
|
||||
|
||||
RUN pip install -e . -r requirements.txt
|
||||
|
||||
ENV OS_USERNAME=admin
|
||||
ENV OS_PASSWORD=admin
|
||||
ENV VIRTUAL_DISPLAY=1
|
||||
ENV OS_FAULTS_CLOUD_DRIVER=fuel
|
||||
ENV OS_FAULTS_CLOUD_DRIVER_KEYFILE=/opt/app/cloud.key
|
||||
|
||||
ENTRYPOINT ["py.test", "-v", "--junit-xml=test_reports/report.xml"]
|
||||
CMD ["vapor"]
|
|
@ -17,7 +17,115 @@ It's strongly advised to use virtualenv and update pip, tox, virtualenv and setu
|
|||
|
||||
Run tests
|
||||
---------
|
||||
|
||||
.. code:: bash
|
||||
|
||||
>> tox
|
||||
|
||||
|
||||
Use Docker for run tests
|
||||
------------------------
|
||||
|
||||
Build image
|
||||
|
||||
.. code-block:: bash
|
||||
docker build -t vapor-image .
|
||||
|
||||
Fill env file
|
||||
|
||||
.. code-block:: bash
|
||||
cat << EOF > env_file
|
||||
OS_USERNAME=admin
|
||||
OS_PASSWORD=admin
|
||||
OS_TENANT_NAME=admin
|
||||
OS_AUTH_URL=http://10.109.1.7:5000/v3
|
||||
|
||||
# os-faults config
|
||||
OS_FAULTS_CLOUD_DRIVER=fuel
|
||||
OS_FAULTS_CLOUD_DRIVER_ADDRESS=10.109.0.2
|
||||
OS_FAULTS_CLOUD_DRIVER_KEYFILE=/opt/app/cloud.key
|
||||
OS_FAULTS_CLOUD_DRIVER_USERNAME=root
|
||||
|
||||
CONTRAIL_ROLES_DISTRIBUTION_YAML=/opt/app/roles_distribution.yaml
|
||||
EOF
|
||||
|
||||
Set path to files
|
||||
|
||||
.. code-block:: bash
|
||||
PRIVATE_KEY=/path/to/cloud/private/key
|
||||
ROLES_DISTRIBUTION=/path/to/contrail/roles/distribution.yaml
|
||||
|
||||
|
||||
Run tests
|
||||
|
||||
.. code-block:: bash
|
||||
docker run --net=host --rm -it \
|
||||
--env-file=env_file \
|
||||
-v $(pwd)/reports:/opt/app/test_reports \
|
||||
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
||||
-v ${PRIVATE_KEY}:/opt/app/cloud.key \
|
||||
-v ${ROLES_DISTRIBUTION}:/opt/app/roles_distribution.yaml \
|
||||
vapor-image
|
||||
|
||||
Results will be written to $(pwd)/reports folder
|
||||
|
||||
Run only some tests (look tests under vapor directory, filter by "smoke" in test/class/path, exit after first fail)
|
||||
|
||||
.. code-block:: bash
|
||||
docker run --net=host --rm -it \
|
||||
--env-file=env_file \
|
||||
-v $(pwd)/reports:/opt/app/test_reports \
|
||||
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
||||
-v ${PRIVATE_KEY}:/opt/app/cloud.key \
|
||||
-v ${ROLES_DISTRIBUTION}:/opt/app/roles_distribution.yaml \
|
||||
vapor-image vapor -k smoke -x
|
||||
|
||||
Use Docker for developing tests
|
||||
-------------------------------
|
||||
|
||||
Build image (only for dependencies)
|
||||
|
||||
.. code-block:: bash
|
||||
docker build -t vapor-image .
|
||||
|
||||
Go to tests directory
|
||||
|
||||
.. code-block:: bash
|
||||
cd /path/to/repository
|
||||
|
||||
|
||||
Copy private key and contrail roles files to current directory
|
||||
|
||||
.. code-block:: bash
|
||||
PRIVATE_KEY=cloud.key
|
||||
ROLES_DISTRIBUTION=roles.yaml
|
||||
cp /path/to/cloud/private/key $PRIVATE_KEY
|
||||
cp /path/to/contrail/roles/distribution.yaml $ROLES_DISTRIBUTION
|
||||
|
||||
|
||||
Fill env file
|
||||
|
||||
.. code-block:: bash
|
||||
cat << EOF > env_file
|
||||
OS_USERNAME=admin
|
||||
OS_PASSWORD=admin
|
||||
OS_TENANT_NAME=admin
|
||||
OS_AUTH_URL=http://10.109.1.7:5000/v3
|
||||
|
||||
# os-faults config
|
||||
OS_FAULTS_CLOUD_DRIVER=fuel
|
||||
OS_FAULTS_CLOUD_DRIVER_ADDRESS=10.109.0.2
|
||||
OS_FAULTS_CLOUD_DRIVER_KEYFILE=/opt/app/$PRIVATE_KEY
|
||||
OS_FAULTS_CLOUD_DRIVER_USERNAME=root
|
||||
|
||||
CONTRAIL_ROLES_DISTRIBUTION_YAML=/opt/app/$ROLES_DISTRIBUTION
|
||||
EOF
|
||||
|
||||
Make any changes in current directory and run tests with changes
|
||||
|
||||
.. code-block:: bash
|
||||
docker run --net=host --rm -it \
|
||||
--env-file=env_file \
|
||||
-v $(pwd):/opt/app/ \
|
||||
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
||||
vapor-image vapor -k test_smoke --pdb
|
||||
|
|
Loading…
Reference in New Issue