The Instance menu offers a database mode, this node only #10
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/confconsole!10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/instance-database-mode"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The console half of handbook decision 0013, and the console part of
keel-mariadb#9.
What the screens are
Each configures the machine it runs on. Primary asks for the addresses this
node answers on, the origins it allows to replicate from it and the file
holding the replication credential; it creates no replica anywhere. Replica
asks for the primary's literal IPv6 address, the port, the addresses and the
same credential file.
The screens hold no decision of their own.
dbscreencollects the fields,writes them into
/etc/keel/instance.yamland hands it tokeel; what a rolemeans, and every refusal, is keel's (keel#30). So the console and the headless
run are one code path, which is the rule of brief section 6.
The three things they must say, and do
something the operator does, on the replica, from this menu.
decides that: keel refuses, the screen repeats keel's own refusal and
asks, and only a Yes adds
--destroy-local-database. No other screenoffers it.
one dataset. The promotion question says so before it asks.
What the operator typed is staged beside the description and given to
keel spec validatebefore it replaces it, so a value that would not load cannotreplace one that does. The engine is never asked of the operator: it comes
from the description, or from
keel inspectwhen the description has none.Needs keel#30 for
--destroy-local-databaseand keel#31 forkeel database promote. Without them the screens show keel's usage errorrather than doing something else, which is the same one code path rule.
Test plan
tests/test_database_mode.py: 63 tests. What each role builds, staging andcommitting and discarding, the refusal read out of what apply printed, the
order stage / validate / commit / apply and every way each step can fail,
the four screens loaded the way confconsole loads them, and the one
question whose Yes loses data.
tests/test_instance_menu.py: the menu holds the four spec entries and thefour screens, each submenu describes itself, and the modes come in the
order decision 0013 settled.
package now
ifutil,keelbanner,keelcli,dbscreen,plugins.d/Instance.