Opened 9 months ago

Closed 6 months ago

#5484 closed enhancement (complete)

Doc update: new Cassandra parameters

Reported by: tomek Owned by: tomek
Priority: medium Milestone: Kea1.4
Component: documentation Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

With the github35 soon to be merged, we will need to update the text about Cassandra configuration. In particular, there are many new parameters that are not documented.

Also, there are config examples in doc/examples/kea{4,6}/cassandra.json. It would be useful to put the new parameters there, perhaps with a bit of explanation what they do. Many users don't read the docs, but instead prefer to tweak examples.

Subtickets

Change History (9)

comment:1 Changed 8 months ago by tomek

Since host reservations uses a different schema compared to MySQL and Postgres, it would also be good to include queries for some common operations, like getting a host, insert new host, etc.

This could have a form similar to what we have for mysql: HostReservationsHowTo

comment:2 Changed 8 months ago by fdupont

Two points:

  • the connect-timeout has a different unit (s vs ms) for SQLs CQL.
  • these parameters are unknown by the server syntax (i.e. we have to update flex and bison files for dhcp4 and dhcp6)

comment:3 Changed 8 months ago by tomek

  • Owner set to tomek
  • Status changed from new to assigned

comment:4 Changed 7 months ago by tomek

  • Owner changed from tomek to Unassigned

This ticket became a bit more than just configuration update. The new parameters weren't handled by the parsers, so I update grammar and lexers for v4 and v6 in addition to tweaking the docs.

I reorganized the database documentation a bit, but it's probably not a good time to do any major rewriting there.

Proposed ChangeLog?:

13XX.	[doc]		tomek
	Cassandra documentation updated: New parameters documented,
	build instructions modified slightly.
	(Trac #5484, git tbd)

Ready for review.

comment:5 Changed 7 months ago by tomek

  • Status changed from assigned to reviewing

comment:6 Changed 7 months ago by fdupont

  • Owner changed from Unassigned to fdupont

comment:7 Changed 7 months ago by fdupont

  • Owner changed from fdupont to tomek

I have a major concern with conflicts between this ticket and #5477. IMHO a rebase is required. BTW I don't ask for extra work because anyway the issue will have to be addressed at merge time or before... A final note: I reopened #5477 because the doc was not updated: I think this should be fixed before rebasing so for instance the reconnect parameters won't be described twice with possibly incompatible texts...

A minor point: the tcp-keepalive value (1s) in examples is insane. Something like 1200 (20mn) is more common.

I believe the policy is to duplicate text between DHCPv4 guide and DHCPv6 guide even there are the same?

I note there is a dependency of #5488 on this ticket (note a real problem even a high priority ticket should never depend on lower priority tickets).

Missing ';' in yy files (I am adding them so please pull). I took the occasion to update the copyright years.

IMHO DbAccessParser::parse should check range of all integer parameters, not only connect-timeout and port. Perhaps we should create a 1.4-final ticket to address this point (or add it to #5562 making it more generic).

XXXOpenTest::OpenDatabase tests use the same VALID_TIMEOUT string when the units are not the same. Do we really expect that a 10ms connect timeout will always work with CQL?

Note as there is in fact no new code I don't need to see this ticket again. So please pull, address comments (eventually in future work) and merge.

comment:8 Changed 7 months ago by fdupont

Thomas just wrote that the reconnect doc is in #5556.

comment:9 Changed 6 months ago by tomek

  • Resolution set to complete
  • Status changed from reviewing to closed

Thanks for the review. Addressed all the comments (except one, explanation below) here:

  • keepalive values in config examples are now set to 1200s
  • I kept the separate text. We now have 4 sections (v4 lease, v4 hosts, v6 lease, v6 hosts) and in 1.5 we'll likely get more (subnets and pools). So I decided to do separate section for Cassandra and simply reference to it.
  • We can tweak the description of cql-config as part of #5488 (or related github71) work
  • Thanks for fixing missing ;
  • Updated DbAccessParser::parse to check ranges for new parameters (and updated older checks slightly)
  • OpenDatabase? tests now use VALID_TIMEOUT + string("000")
Note: See TracTickets for help on using tickets.