Comments (12)
Also an "environment" tag should be there to distinguishing between release/live environments etc.
Even better would be the possibility to add "custom" user defined tags, with no meaning to patroni. Those tags should be persisted and easily inspectable via (future) patroni-cli for example.
from patroni.
@kmoppel you are now introducing the idea of tags for the whole cluster. Until now the tags suggested by Josh are tagging instances in the cluster.
from patroni.
The only global tag I'm proposing to add will be:
disabled: if this tag is set for the cluster, no auto-failover will take place. This tag is meant for disabling auto-failover during manual failover and similar expected downtime. It should always be set with a TTL.
from patroni.
I don't think I agree with the idea of an "environment" tag. In what way is that not simply part of the "scope"?
As for user-defined custom tags, nothing keeps patroni-cli from adding any tags it wants. I haven't conceived of any I need yet though.
from patroni.
@valgog yes, exactly for the whole cluster. @jberkus ok yes, the "environment" concept could be an user defined concept (tag) also - keeping mandatory parts from operational requirements only might be a good line to keep as patroni grows in features.
But custom tags in general would be very useful in my opinion - marking environments, applications using some cluster, criticality level, being part of a sharded cluster etc, will definitely help large setups.
from patroni.
@kmoppel Certianly you could easily add a self.custom_tags dictionary to init.py, and then an optional config setting called "custom_tags" which takes a list to the patroni config file. However, what good would this do you? Pretty much the only thing you could do with the custom tags is pass them along to create_replica scripts; there's no place else in patroni we would read them. So what's the point?
If you want custom tags just for the CLI, that's really a completely different feature.
from patroni.
Exactly, just for the CLI (or any reader), no point for the slaves or init scripts or any other operational stuff. Idea would be to just persist some values in etcd/zookeeper, so that for example our "database discovery service" could give users more hints about the nature and purpose of found database clusters. These tags could be changed/added at any moment, not on cluster creation, so maybe it deserves a separate issue indeed.
from patroni.
@kmoppel I welcome your contributions to patroni-cli, once I have the initial prototype up.
from patroni.
The nofailover tag, along with some general code to support tags in the DCS and the API, is implemented in #80
from patroni.
Great! Will test ...
from patroni.
It seems we still need to implement:
noloadbalance
Are there any negative (or positive) test results?
from patroni.
noloadbalance is implemented in #185
from patroni.
Related Issues (20)
- patroni error python after Migration patroni 2.1.1 and patroni-etcd 2.1.1 to patroni-3.2.1 and patroni-etcd-3.2.1 HOT 10
- load available_parameters/0_postgres.yml failed silently when package using zipapp
- Ability to use specific postgrespro parameters in patroni HOT 1
- Demotion of primary hangs when logical replication connection is established HOT 2
- Error on first switchover with message: Invalid auth token
- postgres glibc issue post migration from CentOS -> Rocky HOT 2
- Master Postgres Pod Was Out Of Memory - Postgres Was Inaccessible. HOT 1
- Patroni switchover standby cluster to primary cluster data is not replicate. HOT 2
- Updating the unix_socket_directories using patronictl edit-config does not reflect in patroni config file HOT 1
- patronictl failed to start when PATRONI_CONFIGURATION variable is set HOT 2
- synchronous_standby_names removed by Patroni in PostgreSQL synchronous replication mode HOT 1
- failsafe_mode don't work when k8s return 409 HOT 1
- cp in patroni 3.2.2 could not finish archiving the wal log. HOT 2
- FATAL: could not connect to the primary server: connection to server at "x.x.x.x", port 5432 failed: session is read-only HOT 3
- Failed to get list of machines from V3<Unknown error: '404 page not found', HOT 1
- patronictl does not work HOT 1
- Patroni synchronous replication not working HOT 2
- DOC TIP on pg_ctl and wal_keep_segments HOT 1
- Need Help in Setting up docker-compose-citus.yaml HOT 2
- RAFT - failed to update leader lock HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from patroni.