2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[5494] Fixed Cassandra support for macOS

This commit is contained in:
Francis Dupont
2017-12-31 17:48:28 +01:00
parent 8afee7a1b6
commit cb0d735628
7 changed files with 35 additions and 12 deletions

View File

@@ -263,7 +263,24 @@ local all postgres trust
@subsection cqlUnitTestsPrerequisites Cassandra database @subsection cqlUnitTestsPrerequisites Cassandra database
@todo: Describe steps necessary to set up Cassandra database suitable for running @todo: Describe steps necessary to set up Cassandra database suitable
unittests. for running unittests.
It seems this was enough:
-# Launch cassandra if not running (-f for foreground)
@verbatim
% cassandra -f
@endverbatim
The tool is cqlsh:
-# Run the tool
@verbatim
% cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh> @endverbatim\n
*/ */

View File

@@ -128,7 +128,7 @@ cql_execute_script() {
cql_version() { cql_version() {
version=$(cql_execute "SELECT version, minor FROM schema_version" "$@") version=$(cql_execute "SELECT version, minor FROM schema_version" "$@")
error=$? error=$?
version=$(echo "$version" | grep -A 1 "+" | grep -v "+" | tr -d ' ' | cut -d "|" -f 1-2 --output-delimiter=".") version=$(echo "$version" | grep -A 1 "+" | grep -v "+" | tr -d ' ' | cut -d "|" -f 1-2 | tr "|" ".")
echo "$version" echo "$version"
return $error return $error
} }

View File

@@ -518,11 +518,11 @@ cql_dump() {
fi fi
# Parse and display header. # Parse and display header.
echo "$result" | head -n 2 | tail -n 1 | sed -e 's/\s*//g' | sed -e 's/|/,/g' > $dump_file echo "$result" | head -n 2 | tail -n 1 | sed -e 's/[[:space:]]*//g' | sed -e 's/|/,/g' > $dump_file
# Parse and display contents - done separately from header to allow sorting # Parse and display contents - done separately from header to allow sorting
# by address. # by address. awk script replaces head -n -2 which is not portable.
echo "$result" | tail -n +4 | head -n -2 | sed -e 's/\s*//g' | sed -e 's/|/,/g' | sort -r >> $dump_file echo "$result" | tail -n +4 | awk 'n>=2 { print a[n%2] } { a[n%2]=$0; n=n+1 }' | sed -e 's/[[:space:]]*//g' | sed -e 's/|/,/g' | sort -r >> $dump_file
echo lease$dump_type successfully dumped to $dump_file echo lease$dump_type successfully dumped to $dump_file
exit 0 exit 0

View File

@@ -318,7 +318,7 @@ public:
/// ///
/// @throw isc::dhcp::DbOperationError An operation on the open database has /// @throw isc::dhcp::DbOperationError An operation on the open database has
/// failed. /// failed.
virtual bool deleteLease(const isc::asiolink::IOAddress& addr); virtual bool deleteLease(const isc::asiolink::IOAddress& addr) override;
/// @brief Deletes all expired and reclaimed DHCPv4 leases. /// @brief Deletes all expired and reclaimed DHCPv4 leases.
/// ///
@@ -349,7 +349,7 @@ public:
/// ///
/// @param subnet_id identifier of the subnet /// @param subnet_id identifier of the subnet
/// @return number of leases removed. /// @return number of leases removed.
virtual size_t wipeLeases4(const SubnetID& subnet_id); virtual size_t wipeLeases4(const SubnetID& subnet_id) override;
/// @brief Removed specified IPv6 leases. /// @brief Removed specified IPv6 leases.
/// ///
@@ -360,7 +360,7 @@ public:
/// ///
/// @param subnet_id identifier of the subnet /// @param subnet_id identifier of the subnet
/// @return number of leases removed. /// @return number of leases removed.
virtual size_t wipeLeases6(const SubnetID& subnet_id); virtual size_t wipeLeases6(const SubnetID& subnet_id) override;
/// @brief Return backend type /// @brief Return backend type
/// ///

View File

@@ -20,6 +20,6 @@ EXTRA_DIST = system_messages
# Scripts for Cassandra support. Ultimately those scripts will have to be # Scripts for Cassandra support. Ultimately those scripts will have to be
# incorporated in DataStax cpp-driver source tree, but until that happens, # incorporated in DataStax cpp-driver source tree, but until that happens,
# let's keep them in Kea rpo # let's keep them in Kea rpo
EXTRA_DIST += cql_config cql_config_defines.sh EXTRA_DIST += cql_config cql_config_defines.sh.sample
endif endif

View File

@@ -1,8 +1,14 @@
#!/bin/bash #!/bin/bash
DIR=$(readlink -f $0 | xargs dirname)
if test `uname -s` = "Darwin"; then
DIR=$(stat -f %N $0 | xargs dirname)
else
DIR=$(readlink -f $0 | xargs dirname)
fi
if ! [ -f ${DIR}/cql_config_defines.sh ] || ! [ -x ${DIR}/cql_config_defines.sh ] if ! [ -f ${DIR}/cql_config_defines.sh ] || ! [ -x ${DIR}/cql_config_defines.sh ]
then then
echo "missing path configuration file for DataStax Cassandra (cql_config_defines.h)" echo "missing path configuration file for DataStax Cassandra (cql_config_defines.sh)"
exit 0 exit 0
fi fi
source ${DIR}/cql_config_defines.sh source ${DIR}/cql_config_defines.sh