1. 13 Dec, 2018 1 commit
  2. 12 Dec, 2018 1 commit
  3. 06 Dec, 2018 1 commit
  4. 07 Nov, 2018 1 commit
  5. 18 Oct, 2018 2 commits
  6. 08 Oct, 2018 3 commits
  7. 18 Sep, 2018 4 commits
  8. 05 Sep, 2018 2 commits
  9. 24 Aug, 2018 1 commit
    • Thomas Markwalder's avatar
      [#15,!11] Schema upgrades for Kea 1.5, now update subnet ids in existing host reservations · 8d04ad0a
      Thomas Markwalder authored
      src/bin/admin/tests/pgsql_tests.sh.in
      src/bin/admin/tests/cql_tests.sh.in
      src/bin/admin/tests/mysql_tests.sh.in
          Added functions that verify subnet id values are updated
      
      src/share/database/scripts/cql/upgrade_2.0_to_3.0.sh.in
      src/share/database/scripts/mysql/upgrade_6.0_to_7.0.sh.in
      src/share/database/scripts/pgsql/upgrade_4.0_to_5.0.sh.in
          Added logic to update subnet id values in existing reservations
          and options
      8d04ad0a
  10. 08 Aug, 2018 1 commit
  11. 23 Jul, 2018 1 commit
  12. 07 Jul, 2018 1 commit
  13. 21 Jun, 2018 1 commit
  14. 11 May, 2018 1 commit
  15. 09 May, 2018 2 commits
    • Thomas Markwalder's avatar
      [5587] PostgreSQL support for shared lease stats implementation · b0bea19c
      Thomas Markwalder authored
      src/share/database/scripts/pgsql/dhcpdb_create.pgsql
          Adds lease<4/6>_stat tables and triggers
      src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
          Added drops for lease<4/6>_stat tables and triggers
      
      src/share/database/scripts/pgsql/upgrade_3.3_to_4.0.sh.in
          Adds lease<4/6>_stat tables and triggers
          Populates stat tables from existing lease table content
      src/bin/admin/tests/mysql_tests.sh.in
          mysql_lease6_stat_per_type() - fixed typo in test
      
      src/bin/admin/tests/pgsql_tests.sh.in
          run_statement() - new convenience fucntion for
          running statement with option expected outcome
      
          pgsql_upgrade_schema_to_version() - new function
          which converts the existing schema to a target version
      
          pgsql_lease4_stat_test() - tests v4 stat table and
          triggers in an new database
      
          pgsql_lease6_stat_test() - tests v6 stat table and
          triggers in an new database.
      
          pgsql_lease6_stat_per_type() - helper function which
          tests v6 stat table and triggers using a given address
          and lease type
      
          pgsql_lease_stat_upgrade_test() - tests data migration,
          stat table and trigger operations on an upgraded database
      
      src/lib/dhcpsrv/pgsql_lease_mgr.*
          Added new SQL statements for lease stats queries
      
          PgSqlLeaseStatsQuery
              Constructors - added variants to support where clause params
              start() - modified to support query variants based
              on where clause params
      
          PgSqlLeaseMgr
              Added start variants:
              - startSubnetLeaseStatsQuery4(const SubnetID& subnet_id)
              - startSubnetRangeLeaseStatsQuery4(const SubnetID& first_subnet_id,
                                               const SubnetID& last_subnet_id)
      
      src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
          New unit tests:
          - TEST_F(PgSqlLeaseMgrTest, leaseStatsQuery4)
          - TEST_F(PgSqlLeaseMgrTest, leaseStatsQuery6)
      b0bea19c
    • Thomas Markwalder's avatar
      [5586] Addressed further review comments · a070c327
      Thomas Markwalder authored
      src/bin/admin/tests/dhcpdb_create_5.1.mysql - deleted
      
      src/bin/admin/tests/mysql_tests.sh.in
          mysql_upgrade_schema_to_version()  - new function which
          upgrades an existing schema to a target version
      
          mysql_lease_stat_upgrade_test() - modified to start with
          1.0 schema and then use new function to upgrade to 4.0
      
      src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
          mysql_lease_mgr_unittest.cc
              Added condition compilation around INVALID_HOST scenario
              that causes db connectivity tests to fail
      a070c327
  16. 08 May, 2018 1 commit
    • Thomas Markwalder's avatar
      [5586] Added schema unit tests · ebd3358b
      Thomas Markwalder authored
      src/share/database/scripts/mysql/upgrade_5.2_to_6.0.sh.in
          Added SQL statements to populate lease4/6_stat tables
          from existing lease table content.
      
      src/bin/admin/tests/dhcpdb_create_5.1.mysql
          New file used for upgrade testing
      
      src/bin/admin/tests/mysql_tests.sh.in
          run_statement() - new convenience function for running SQL
          statements with an optional expected return value
      
          mysql_lease4_stat_test() - verifies lease4_stat
          table and trigger operations on a new database
      
          mysql_lease6_stat_test()
          mysql_lease6_stat_per_type() - new functions
          which lease6_stat table and trigger operations
          on a new database
      
          mysql_lease_stat_upgrade_test() - new function
          which verifies data migration from an earlier
          schema and trigger operation
      ebd3358b
  17. 22 Feb, 2018 1 commit
    • Thomas Markwalder's avatar
      [5522] Fixed subnet_id column types in MySQL and Postgres schemas · 993da9cb
      Thomas Markwalder authored
      new file:
          src/share/database/scripts/mysql/upgrade_5.1_to_5.2.sh.in
      renamed:
          src/share/database/scripts/mysql/upgrade_5.1_to_6.0.sh.in
          -> src/share/database/scripts/mysql/upgrade_5.2_to_6.0.sh.in
      
      new file:
          src/share/database/scripts/pgsql/upgrade_3.2_to_3.3.sh.in
      renamed:
          src/share/database/scripts/pgsql/upgrade_3.2_to_4.0.sh.in
          -> src/share/database/scripts/pgsql/upgrade_3.3_to_4.0.sh.in
      
      src/lib/dhcpsrv/pgsql_host_data_source.cc
          changed OID_INT4 to OID_INT8 for subnet_id inputs in
          TaggedStatements
      
      src/lib/dhcpsrv/tests/generic_host_data_source_unittest.h
      src/lib/dhcpsrv/tests/generic_host_data_source_unittest.cc
      src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc
      src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc
          Added new tests to verify maxium value for subnet_id works
      
      src/share/database/scripts/mysql/dhcpdb_create.mysql
          Added 5.1 to 5.2 changes
      
      src/share/database/scripts/pgsql/dhcpdb_create.pgsql
          Added 3.2 to 3.3 changes
      993da9cb
  18. 17 Dec, 2017 1 commit
  19. 15 Dec, 2017 1 commit
  20. 07 Nov, 2017 1 commit
  21. 18 Aug, 2017 1 commit
    • Andrei Pavel's avatar
      boost::any for cassandra and more: · 11cc65e3
      Andrei Pavel authored
      - replaced void* with boost::any for type safety (might be just a bit less efficient)
      - replaced a multi-index-container used for statement parameters ( with position index and name index ) and a vector of the same parameters with a compile-time type-based map
      - refactored lease manager to use exchanges
      - exchanges now support UDTs (user defined types) and collections to be used in Cassandra statements
      - replaced size-ambiguous types (e.g. int) with size-explicit types (e.g. int32_t) in Cassandra-related code
      - made exception messages and log messages more detailed and consistent in format
      11cc65e3
  22. 23 Jul, 2017 4 commits
  23. 24 Apr, 2017 1 commit
  24. 14 Apr, 2017 1 commit
  25. 12 Apr, 2017 1 commit
  26. 04 Apr, 2017 1 commit
  27. 02 Feb, 2017 1 commit
  28. 11 Jan, 2017 2 commits
    • Andrei Pavel's avatar
      Cassandra Host Data Source stress test · 6efa71b9
      Andrei Pavel authored
      It is part of the generic_host_data_source_unittest.cc, able to be
      implemented for other HDS as well. It executes INSERT statements and
      a certain SELECT statement which Cassandra struggles in performance
      with since it has to do two queries instead of a join. All statement
      executions are timed and repeated on an increasingly number of hosts.
      It is placed last and DISABLED_ as you don't want to run this during
      a usual make check.
      6efa71b9
    • Andrei Pavel's avatar
      Cassandra update · 8c71bbbc
      Andrei Pavel authored
      Replaced unrecommended backticks with $() in cql_version() in bash scripts.
      
      *_execute() and *_execute_script() functions from src/bin/admin/admin-utils.sh now pass the parameters to the underlying backend binary whenever they are given rather than when there are 2 or more.
      
      Corrected cql_version() return error in src/bin/admin/admin-utils.sh.
      
      Removed redundant "USE" from cql_init() in src/bin/admin/kea-admin.in.
      
      Inserted a newline in src/bin/admin/tests/Makefile.am to separate unrelated targets.
      
      Style changes in cql_*_test() functions in src/bin/admin/tests/cql_tests.sh.in.
      
      src/bin/admin/tests/dhcpdb_create_1.0.cql:
          "perfromance" typo
          Added comment headers
          Added index on expire since it is used in WHERE clauses (further performance testing may be required)
          Removed dhcp4_options and dhcp6_options table since they are not required for Cassandra
      
      Added DROP INDEX in src/share/database/scripts/cql/dhcpdb_drop.cql.
      
      Added sql_common.h
      Added cql_exchange.h and cql_exchange.cc which mediate communication with Cassandra.
      Added cql_lease_mgr.h and cql_lease_mgr.cc
      
      Parameterized reconnect-wait-time, connect-timeout, request-timeout, tcp-keepalive, tcp-nodelay for Cassandra in kea.conf. Changes are in src/lib/dhcpsrv/cql_connection.cc and src/lib/dhcpsrv/parsers/dbaccess_parser.cc.
      
      Reformated x != NULL into !x as specified in the Kea style guidelines
      
      src/lib/dhcpsrv/cql_connection.cc:
          Added range check for port
          Added CqlConnection:setConsistency
          Added CqlConnection::startTransaction  which is a noop
          Added CqlTransaction method implementations.
          Corrected ending brace of namespace declaration, it doesn't need semicolon.
      
      src/lib/dhcpsrv/cql_connection.h:
          Added explicit on CqlConnection constructor. Unlikely that this class will ever be derived, but it's good practice.
          Changed some comments.
          Added CqlTransaction class definition.
      
      src/lib/dhcpsrv/cql_lease_mgr.cc:
          Formatted the entire code.
          Changed data types to cass_ types.
      
      Added some log messages.
      
      Moved structs, enums and typedefs from src/lib/dhcpsrv/lease_mgr.h to src/lib/dhcpsrv/sql_common.h
      
      Added some missing tests in src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc
      8c71bbbc