MongoDB
- Canonical
- Databases
Channel | Revision | Published | Runs on |
---|---|---|---|
6/stable | 199 | 04 Oct 2024 | |
6/candidate | 199 | 04 Oct 2024 | |
6/beta | 199 | 04 Oct 2024 | |
6/edge | 204 | 12 Nov 2024 | |
5/stable | 117 | 20 Apr 2023 | |
5/candidate | 117 | 20 Apr 2023 | |
5/edge | 139 | 21 Nov 2023 | |
5/edge | 109 | 06 Mar 2023 | |
3.6/stable | 100 | 28 Apr 2023 | |
3.6/candidate | 100 | 13 Apr 2023 | |
3.6/edge | 100 | 03 Feb 2023 |
juju deploy mongodb --channel 6/stable
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
charms.mongodb.v0.upgrade_helpers
-
- Last updated 03 Oct 2024
- Revision Library version 0.3
Substrate agnostic manager for handling MongoDB in-place upgrades.
Index
def unit_number(unit_: Unit)
Description
Get unit number. None
class StatusException
Description
Exception with ops status. None
Methods
StatusException. __init__( self , status: StatusBase )
class PrecheckFailed
Description
App is not ready to upgrade. None
Methods
PrecheckFailed. __init__( self , message: str )
class FailedToElectNewPrimaryError
Description
Raised when a new primary isn't elected after stepping down. None
class ClusterNotHealthyError
Description
Raised when the cluster is not healthy. None
class BalancerStillRunningError
Description
Raised when the balancer is still running after stopping it. None
class PeerRelationNotReady
Description
Upgrade peer relation not available (to this unit). None
class UnitState
Description
Unit upgrade state. None
class AbstractUpgrade
In-place upgrades abstract class (typing).
Description
Based off specification: DA058 - In-Place Upgrades - Kubernetes v2 (https://docs.google.com/document/d/1tLjknwHudjcHs42nzPVBNkHs98XxAOT2BXGGpP7NyEU/)
Methods
AbstractUpgrade. __init__( self , charm_: CharmBase )
AbstractUpgrade. unit_state( self )
Description
Unit upgrade state. None
AbstractUpgrade. unit_state( self , value: UnitState )
AbstractUpgrade. is_compatible( self )
Description
Whether upgrade is supported from previous versions. None
AbstractUpgrade. in_progress( self )
Description
Whether upgrade is in progress. None
AbstractUpgrade. get_unit_juju_status( self )
Description
Unit upgrade status. None
AbstractUpgrade. app_status( self )
Description
App upgrade status. None
AbstractUpgrade. versions_set( self )
Whether versions have been saved in app databag.
Description
Should only be False
during first charm install.
If a user upgrades from a charm that does not set versions, this charm will get stuck.
AbstractUpgrade. set_versions_in_app_databag( self )
Save current versions in app databag.
Description
Used after next upgrade to check compatibility (i.e. whether that upgrade should be allowed).
AbstractUpgrade. upgrade_resumed( self )
Description
Whether user has resumed upgrade with Juju action. None
AbstractUpgrade. reconcile_partition( self )
Description
If ready, allow next unit to upgrade. None
AbstractUpgrade. pre_upgrade_check( self )
Check if this app is ready to upgrade.
Description
Runs before any units are upgraded
Does not run during rollback
On machines, this runs before any units are upgraded (after juju refresh
)
On machines & Kubernetes, this also runs during pre-upgrade-check action
Can run on leader or non-leader unit
class GenericMongoDBUpgrade
Description
Substrate agnostif, abstract handler for upgrade events. None
Methods
GenericMongoDBUpgrade. __init__( self , charm: CharmBase )
GenericMongoDBUpgrade. move_primary_to_last_upgrade_unit( self )
Moves the primary to last unit that gets upgraded (the unit with the lowest id).
Description
Raises FailedToMovePrimaryError
GenericMongoDBUpgrade. wait_for_cluster_healthy( self )
Waits until the cluster is healthy after upgrading.
Description
After a unit restarts it can take some time for the cluster to settle.
Raises: ClusterNotHealthyError.
GenericMongoDBUpgrade. is_cluster_healthy( self )
Description
Returns True if all nodes in the cluster/replcia set are healthy. None
GenericMongoDBUpgrade. are_nodes_healthy( self )
Description
Returns true if all nodes in the MongoDB deployment are healthy. None
GenericMongoDBUpgrade. are_replicas_in_sharded_cluster_healthy( self , mongos_config: MongoConfiguration )
Description
Returns True if all replicas in the sharded cluster are healthy. None
GenericMongoDBUpgrade. are_shards_healthy( self , mongos_config: MongoConfiguration )
Description
Returns True if all shards in the cluster are healthy. None
GenericMongoDBUpgrade. get_all_replica_set_configs_in_cluster( self )
Description
Returns a list of all the mongodb_configurations for each application in the cluster. None
GenericMongoDBUpgrade. are_replica_set_nodes_healthy( self , mongodb_config: MongoConfiguration )
Description
Returns true if all nodes in the MongoDB replica set are healthy. None
GenericMongoDBUpgrade. is_cluster_able_to_read_write( self )
Description
Returns True if read and write is feasible for cluster. None
GenericMongoDBUpgrade. is_sharded_cluster_able_to_read_write( self )
Description
Returns True if possible to write all cluster shards and read from all replicas. None
GenericMongoDBUpgrade. get_mongodb_config_from_shard_entry( self , shard_entry: dict )
Description
Returns a replica set MongoConfiguration based on a shard entry from ListShards. None
GenericMongoDBUpgrade. get_cluster_mongos( self )
Description
Return a mongos configuration for the sharded cluster. None
GenericMongoDBUpgrade. is_replica_set_able_read_write( self )
Description
Returns True if is possible to write to primary and read from replicas. None
GenericMongoDBUpgrade. clear_db_collection( self , mongos_config: MongoConfiguration , db_name: str )
Description
Clears the temporary collection. None
GenericMongoDBUpgrade. clear_tmp_collection( self , mongodb_config: MongoConfiguration , collection_name: str )
Description
Clears the temporary collection. None
GenericMongoDBUpgrade. confirm_excepted_write_on_replica( self , host: str , db_name: str , collection: str , expected_write_value: str , secondary_config: MongoConfiguration )
Description
Returns True if the replica contains the expected write in the provided collection. None
GenericMongoDBUpgrade. get_random_write_and_collection( self )
Description
Returns a tuple for a random collection name and a unique write to add to it. None
GenericMongoDBUpgrade. add_write_to_sharded_cluster( self , mongos_config: MongoConfiguration , db_name , collection_name , write_value )
Description
Adds a the provided write to the provided database with the provided collection. None
GenericMongoDBUpgrade. add_write_to_replica_set( self , mongodb_config: MongoConfiguration , collection_name , write_value )
Description
Adds a the provided write to the admin database with the provided collection. None
GenericMongoDBUpgrade. is_write_on_secondaries( self , mongodb_config: MongoConfiguration , collection_name , expected_write_value , db_name: str )
Description
Returns true if the expected write. None
GenericMongoDBUpgrade. step_down_primary_and_wait_reelection( self )
Description
Steps down the current primary and waits for a new one to be elected. None
GenericMongoDBUpgrade. are_pre_upgrade_operations_config_server_successful( self )
Description
Runs pre-upgrade operations for config-server and returns True if successful. None
GenericMongoDBUpgrade. is_feature_compatibility_version( self , expected_feature_version )
Returns True if all nodes in the sharded cluster have the expected_feature_version.
Description
Note it is NOT sufficient to check only mongos or the individual shards. It is necessary to check each node according to MongoDB upgrade docs.
GenericMongoDBUpgrade. set_mongos_feature_compatibilty_version( self , feature_version )
Description
Sets the mongos feature compatibility version. None
GenericMongoDBUpgrade. turn_off_and_wait_for_balancer( self )
Description
Sends the stop command to the balancer and wait for it to stop running. None