[ 
https://issues.apache.org/jira/browse/QPIDIT-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16263073#comment-16263073
 ] 

Jiri Daněk commented on QPIDIT-75:
----------------------------------

My current Fedora Dockerfile is

{noformat}
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

# Downloads, compiles, and installs qpid-interop-test and all
# its dependencies. Brokers are not installed. Based on Fedora.

# Build with `docker build -t qpid-interop-test -f Dockerfile .`

# Run with `docker run -it qpid-interop-test bash`

# Assuming the `bridge` networking on Docker (which is the default),
# you can use `ip route a`to figure out your host's IP from inside
# the container and use it to run tests against a broker on your host machine.

FROM library/fedora:27
MAINTAINER Jiri Danek <jda...@redhat.com>

RUN dnf install -y \
    cyrus-sasl-devel \
    cmake \
    gcc \
    gcc-c++ \
    git \
    go \
    jsoncpp-devel \
    libuuid-devel \
    maven \
    mono-devel \
    nodejs \
    openssl-devel \
    perl-XML-XPath \
    python \
    python-devel \
    swig \
    unzip && dnf clean all

#a. Get and build Qpid Proton
#----------------------------
WORKDIR /
RUN git clone https://git-wip-us.apache.org/repos/asf/qpid-proton.git
WORKDIR /qpid-proton

#Build and install C++ components:
RUN mkdir build
WORKDIR /qpid-proton/build
RUN cmake .. -DCMAKE_INSTALL_PREFIX=/usr
RUN make
RUN make install

# Build and install Java components:
WORKDIR /
RUN git clone https://git-wip-us.apache.org/repos/asf/qpid-proton-j.git
WORKDIR /qpid-proton-j
RUN mvn -DskipTests install

#b. Get and install Qpid Python
#------------------------------
WORKDIR /
RUN git clone https://git-wip-us.apache.org/repos/asf/qpid-python.git
WORKDIR /qpid-python
RUN python setup.py install

#c. Get and build Qpid JMS
#-------------------------
WORKDIR /
RUN git clone https://git-wip-us.apache.org/repos/asf/qpid-jms.git
WORKDIR /qpid-jms
RUN mvn -DskipTests install

#d. Get and install Rhea
#-----------------------
WORKDIR /
RUN git clone https://github.com/grs/rhea.git
WORKDIR rhea
RUN npm install debug
RUN npm link

#2. Build qpid-interop-test
#=======================================
#RUN git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
COPY . /qpid-interop-test
WORKDIR /qpid-interop-test
RUN mkdir build
WORKDIR /qpid-interop-test/build

RUN cmake .. -DCMAKE_INSTALL_PREFIX=../install -DRHEA_DIR=/rhea 
-DQPID_PROTON_DIR=/qpid-proton
RUN make
RUN make install

WORKDIR /qpid-interop-test

# do this before `source build/config.sh `
#[root@88af6272b518 build]# export PYTHONPATH=/usr/lib64/proton/bindings/python
{noformat}

Seems to work for the amqp_types_test, except the test run often freezes for 
me... haven't really investigated it.

> Install QPIDIT correctly in a Docker image
> ------------------------------------------
>
>                 Key: QPIDIT-75
>                 URL: https://issues.apache.org/jira/browse/QPIDIT-75
>             Project: Apache QPID Interoperability Test Suite
>          Issue Type: Test
>          Components: Installation
>            Reporter: Jiri Daněk
>            Assignee: Jiri Daněk
>            Priority: Minor
>         Attachments: Dockerfile
>
>
> I checked out QPID-IT and wanted to run it for myself. I decided to use 
> Fedora 25 in docker, because I wanted to have a reproducible setup.
> I created a Dockerfile which installs prerequisites and QPID-IT. When I run 
> tests, it always freezes after few tests.
> Is there anything wrong about the install?
> Steps to use the Dockerfile
> 1) place the Dockerfile in the top directory of qpid-interop-test
> 2) {{% docker build -t interop .}}
> 3) {{% docker run --rm -it interop bash -c "/artemis200i0/bin/artemis-service 
> start; sleep 10; export PYTHONPATH=/usr/lib64/proton/bindings/python/; export 
> QIT_INSTALL_PREFIX=/usr; src/python/qpid_interop_test/amqp_types_test.py 
> --exclude-shim RheaJs"}}
> {noformat}
> Starting artemis-service
> artemis-service is now running (14)
> WARNING: AMQP DotNetLite shims not installed
> Test Broker: apache-activemq-artemis v.2.0.0-SNAPSHOT on <platform not found>
> test_binary_ProtonCpp->ProtonCpp (__main__.BinaryTestCase) ... ok
> test_binary_ProtonCpp->ProtonPython (__main__.BinaryTestCase) ... ok
> test_binary_ProtonPython->ProtonCpp (__main__.BinaryTestCase) ... ok
> test_binary_ProtonPython->ProtonPython (__main__.BinaryTestCase) ... ok
> test_boolean_ProtonCpp->ProtonCpp (__main__.BooleanTestCase) ... 
> {noformat}
> And it stays stuck for quite long time. The output is the same every time I 
> run this. I did not wait for long enough to see if it gets unstuck, I admit.
> If I run this with the 1.5.3 broker, meaning in step 3) I do {{% docker run 
> --rm -it interop bash -c "/artemis153i0/bin/artemis-service start; sleep 10; 
> export PYTHONPATH=/usr/lib64/proton/bindings/python/; export 
> QIT_INSTALL_PREFIX=/usr; src/python/qpid_interop_test/amqp_types_test.py 
> --exclude-shim RheaJs"}} then the tests seem to succeed, so maybe it is just 
> incompatible with Artemis 2.0.0...



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to