Support and require DDS 3.0

This commit is contained in:
Dennis Klein 2019-12-13 11:55:24 +01:00 committed by Dennis Klein
parent f31be6d7a1
commit 50be386191
11 changed files with 26 additions and 54 deletions

View File

@ -85,21 +85,15 @@ if(BUILD_NANOMSG_TRANSPORT)
) )
endif() endif()
if(BUILD_SDK)
set(required_dds_version 2.5.100)
else()
set(required_dds_version 2.4)
endif()
if(BUILD_SDK_COMMANDS) if(BUILD_SDK_COMMANDS)
find_package2(PRIVATE Flatbuffers REQUIRED) find_package2(PRIVATE Flatbuffers REQUIRED)
endif() endif()
if(BUILD_DDS_PLUGIN OR BUILD_SDK) if(BUILD_DDS_PLUGIN OR BUILD_SDK)
find_package2(PRIVATE DDS REQUIRED find_package2(PRIVATE DDS REQUIRED
VERSION ${required_dds_version} VERSION 3.0
) )
set(DDS_Boost_COMPONENTS system log log_setup) set(DDS_Boost_COMPONENTS system log log_setup regex filesystem thread)
set(DDS_Boost_VERSION 1.67) set(DDS_Boost_VERSION 1.67)
endif() endif()

View File

@ -28,12 +28,6 @@ target_link_libraries(fairmq-ex-dds-sink PRIVATE ExampleDDSLib)
add_custom_target(ExampleDDS DEPENDS fairmq-ex-dds-sampler fairmq-ex-dds-processor fairmq-ex-dds-sink) add_custom_target(ExampleDDS DEPENDS fairmq-ex-dds-sampler fairmq-ex-dds-processor fairmq-ex-dds-sink)
if(DDS_VERSION VERSION_LESS 2.5.25)
set(WAIT_COMMAND "dds-info --wait-for-idle-agents")
else()
set(WAIT_COMMAND "dds-info --idle-count --wait")
endif()
set(BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_BINARY_DIR}/fairmq/plugins/DDS) set(BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_BINARY_DIR}/fairmq/plugins/DDS)
set(DATA_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(DATA_DIR ${CMAKE_CURRENT_BINARY_DIR})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ex-dds-topology.xml ${CMAKE_CURRENT_BINARY_DIR}/ex-dds-topology.xml @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ex-dds-topology.xml ${CMAKE_CURRENT_BINARY_DIR}/ex-dds-topology.xml @ONLY)
@ -47,7 +41,6 @@ if(DDS_FOUND)
add_test(NAME Example.DDS.localhost COMMAND ${CMAKE_CURRENT_BINARY_DIR}/fairmq-start-ex-dds.sh localhost) add_test(NAME Example.DDS.localhost COMMAND ${CMAKE_CURRENT_BINARY_DIR}/fairmq-start-ex-dds.sh localhost)
set_tests_properties(Example.DDS.localhost PROPERTIES set_tests_properties(Example.DDS.localhost PROPERTIES
TIMEOUT 15 TIMEOUT 15
RUN_SERIAL true
PASS_REGULAR_EXPRESSION "Example successful" PASS_REGULAR_EXPRESSION "Example successful"
) )
endif() endif()

View File

@ -36,20 +36,18 @@ if [[ "$plugin" == "ssh" ]]; then
else else
dds-submit -r ${plugin} --slots ${requiredNofSlots} dds-submit -r ${plugin} --slots ${requiredNofSlots}
fi fi
echo "...waiting for ${requiredNofSlots} slots..." echo "...waiting for ${requiredNofSlots} idle slots..."
@WAIT_COMMAND@ ${requiredNofSlots} dds-info --idle-count --wait ${requiredNofSlots}
topologyFile=@DATA_DIR@/ex-dds-topology.xml topologyFile=@DATA_DIR@/ex-dds-topology.xml
echo "TOPOLOGY FILE: ${topologyFile}" echo "TOPOLOGY FILE: ${topologyFile}"
# TODO Uncomment once DDS 2.6 is released echo "TOPOLOGY NAME: $(dds-topology --disable-validation --topology-name ${topologyFile})"
# echo "TOPOLOGY NAME: $(dds-topology --disable-validation --topology-name ${topologyFile})"
# TODO Uncomment once DDS 2.6 is released dds-info --active-topology
# dds-info --active-topology
dds-topology --activate ${topologyFile} dds-topology --activate ${topologyFile}
# dds-info --active-topology dds-info --active-topology
# dds-info --wait-for-executing-agents ${requiredNofSlots} echo "...waiting for ${requiredNofSlots} executing slots..."
sleep 1 dds-info --executing-count --wait ${requiredNofSlots}
echo "------------------------" echo "------------------------"
echo "...waiting for Topology to finish..." echo "...waiting for Topology to finish..."
@ -69,14 +67,13 @@ fairmq-dds-command-ui -c s -w "RUNNING->READY" -n ${requiredNofSlots}
fairmq-dds-command-ui -c t -w "DEVICE READY" -n ${requiredNofSlots} fairmq-dds-command-ui -c t -w "DEVICE READY" -n ${requiredNofSlots}
fairmq-dds-command-ui -c d -w "IDLE" -n ${requiredNofSlots} fairmq-dds-command-ui -c d -w "IDLE" -n ${requiredNofSlots}
fairmq-dds-command-ui -c q -w "EXITING" -n ${requiredNofSlots} fairmq-dds-command-ui -c q -w "EXITING" -n ${requiredNofSlots}
echo "...waiting for ${requiredNofSlots} slots..." echo "...waiting for ${requiredNofSlots} idle slots..."
@WAIT_COMMAND@ ${requiredNofSlots} dds-info --idle-count --wait ${requiredNofSlots}
echo "------------------------" echo "------------------------"
# TODO Uncomment once DDS 2.6 is released dds-info --active-topology
# dds-info --active-topology
dds-topology --stop dds-topology --stop
# dds-info --active-topology dds-info --active-topology
dds-agent-cmd getlog -a dds-agent-cmd getlog -a
logDir="${wrkDir}/logs" logDir="${wrkDir}/logs"

View File

@ -13,8 +13,7 @@
#include <fairmq/StateQueue.h> #include <fairmq/StateQueue.h>
#include <fairmq/Version.h> #include <fairmq/Version.h>
#include <DDS/dds_env_prop.h> #include <dds/dds.h>
#include <DDS/dds_intercom.h>
#include <boost/asio/executor.hpp> #include <boost/asio/executor.hpp>
#include <boost/asio/executor_work_guard.hpp> #include <boost/asio/executor_work_guard.hpp>

View File

@ -9,7 +9,7 @@
#include <fairmq/sdk/commands/Commands.h> #include <fairmq/sdk/commands/Commands.h>
#include <fairmq/States.h> #include <fairmq/States.h>
#include <DDS/dds_intercom.h> #include <dds/dds.h>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>

View File

@ -8,15 +8,11 @@
#include "DDSEnvironment.h" #include "DDSEnvironment.h"
#include <cstdlib>
#include <dds/dds.h>
#include <fairlogger/Logger.h>
#include <fairmq/Tools.h> #include <fairmq/Tools.h>
#include <fairmq/sdk/DDSInfo.h> #include <fairmq/sdk/DDSInfo.h>
#include <fairlogger/Logger.h>
#include <DDS/Tools.h>
#include <DDS/dds_intercom.h>
#include <cstdlib>
#include <sstream> #include <sstream>
#include <utility> #include <utility>

View File

@ -8,11 +8,11 @@
#include "DDSSession.h" #include "DDSSession.h"
#include <DDS/Tools.h>
#include <boost/process.hpp> #include <boost/process.hpp>
#include <boost/uuid/uuid_io.hpp> #include <boost/uuid/uuid_io.hpp>
#include <cassert> #include <cassert>
#include <cstdlib> #include <cstdlib>
#include <dds/dds.h>
#include <fairlogger/Logger.h> #include <fairlogger/Logger.h>
#include <fairmq/Tools.h> #include <fairmq/Tools.h>
#include <fairmq/sdk/DDSAgent.h> #include <fairmq/sdk/DDSAgent.h>

View File

@ -9,18 +9,14 @@
#include "DDSTopology.h" #include "DDSTopology.h"
#include <boost/range/iterator_range.hpp> #include <boost/range/iterator_range.hpp>
#include <dds/dds.h>
#include <fairmq/sdk/DDSEnvironment.h>
#include <fairmq/Tools.h>
#include <fairlogger/Logger.h> #include <fairlogger/Logger.h>
#include <fairmq/Tools.h>
#include <DDS/Topology.h> #include <fairmq/sdk/DDSEnvironment.h>
#include <memory>
#include <sstream> #include <sstream>
#include <stdexcept> #include <stdexcept>
#include <utility> #include <utility>
#include <memory>
namespace fair { namespace fair {
namespace mq { namespace mq {

View File

@ -8,8 +8,7 @@
#include "Topology.h" #include "Topology.h"
#include <DDS/Tools.h> #include <dds/dds.h>
#include <DDS/Topology.h>
namespace fair { namespace fair {
namespace mq { namespace mq {

View File

@ -8,8 +8,7 @@
#include "Fixtures.h" #include "Fixtures.h"
#include <DDS/Topology.h> #include <dds/dds.h>
#include <DDS/Tools.h>
namespace { namespace {

View File

@ -9,8 +9,7 @@
#include "Fixtures.h" #include "Fixtures.h"
#include <asio.hpp> #include <asio.hpp>
#include <DDS/Topology.h> #include <dds/dds.h>
#include <DDS/Tools.h>
#include <fairmq/sdk/Topology.h> #include <fairmq/sdk/Topology.h>
#include <fairmq/Tools.h> #include <fairmq/Tools.h>