mysqloperator/controller/innodbcluster/cluster_api.py (25 lines): - line 145: "imagePullPolicy": "IfNotPresent", # TODO: should be self.sidecar_image_pull_policy - line 391: # TODO other storage types .... - line 433: storage = None # TODO type - line 500: # TODO [compat8.3.0] remove this when compatibility pre 8.3.0 isn't needed anymore - line 624: # TODO: Storage must be mounted - line 867: # TODO [compat8.3.0] remove this when compatibility pre 8.3.0 isn't needed anymore - line 943: # TODO: merge this with KeyringSpecBase - line 1064: # TODO [compat8.3.0] remove this when compatibility pre 8.3.0 isn't needed anymore - line 1098: if "podSpec" in spec: # TODO - replace with something more specific - line 1243: # TODO resource allocation for server, router and sidecar - line 1244: # TODO recommendation is that sidecar has 500MB RAM if MEB is used - line 1310: if "podSpec" in spec_specific: # TODO - replace with something more specific - line 1366: # TODO keep a list of base_server_id in the operator to keep things globally unique? - line 1403: # TODO see if we can move some of these to a schema in the CRD - line 1420: # TODO validate against downgrades, invalid version jumps - line 1429: # TODO ensure that if version is set, then image and routerImage are not - line 1430: # TODO should we support upgrading router only? - line 2180: def get_cluster_status(self, field=None): # TODO -> dict, remove field - line 2221: # TODO remove field - line 2268: # TODO strategic merge patch not working here?? - line 2291: # TODO store the current server/router version + timestamp - line 2304: # TODO store the current server/router version + timestamp - line 2308: # TODO store last known majority and use it for diagnostics when there are - line 2314: # XXX TODO fixme - line 2599: # TODO remove field mysqloperator/controller/innodbcluster/cluster_controller.py (25 lines): - line 88: # TODO: Should we declare it a replica or wait it to be diagnosed as replica, if initDB.cluster_set succeeds? - line 124: # TODO use diagnose? - line 231: # TODO store version - line 232: # TODO store last known quorum - line 330: # TODO: what to do if this fails? - line 406: # TODO - verify this will be retried from elsewhere - line 413: # TODO: May not be in a ClusterSet (old Cluster?) - line 416: # TODO: is there really a valid case where - line 446: # TODO Rejoin OFFLINE members - line 479: # TODO check case where a member pod was deleted and then rejoins with the same address but different uuid - line 497: # TODO check if we should throw a tmp error or do nothing - line 502: # TODO check if we can repair broken instances - line 517: # TODO - always use clone when dataset is big - line 532: # TODO : # add_replica_instance doesn't support cert base auth, thus certSubject works only for group-member-s - WL15056 - line 581: # TODO: pod_dba_session may be invalid on caller side if the - line 634: # TODO improve this check - line 708: # TODO check statuses where router has to be put down - line 721: # TODO maybe delete unreachable pods if enabled? - line 739: # TODO delete unconnectable pods after timeout, if enabled - line 753: # TODO delete unconnectable pods after timeout, if enabled - line 761: # TODO check if recoverable case - line 767: # TODO check if recoverable case and if NOT, then throw a permanent error - line 773: # TODO delete unconnectable pods after timeout, if enabled - line 873: # TODO maybe not needed? need to make sure that shrinking cluster will be reported as ONLINE - line 913: # TODO change status as needed - especially on version error, but make sure we recover mysqloperator/controller/innodbcluster/operator_cluster.py (16 lines): - line 29: # TODO check whether we should store versions in status to make upgrade easier - line 166: # TODO: If we set the status here it will be emptied for unknown reasons later - line 432: # TODO: this should be moved to controller or elsewhere - line 433: # TODO: try more pods, if one fails and more are avaialble - line 434: # TODO: if this is PRIMARY we got to do something ... maybe force a failover? - line 435: # TODO: this shouldn't block decomission (catch and log/ignore errors) - line 436: # TODO: remove admin/backup/metrics/router/... accounts as far as they are replicated to primary - line 475: # TODO: maybe the only reason might be if this were the - line 489: # TODO add a busy state and prevent changes while on it - line 568: # TODO - identify what cluster statuses should allow this change - line 758: # TODO ensure that the pod is owned by us - line 768: # TODO add extra diagnostics about why the pod is not ready yet, for - line 804: # TODO ensure that the pod is owned by us - line 851: # TODO review this - line 870: # TODO ensure that the pod is owned by us - line 1101: # TODO: move this to a proper structure mysqloperator/controller/innodbcluster/cluster_objects.py (10 lines): - line 22: # TODO replace app field with component (mysqld,router) and tier (mysql) - line 95: # TODO: should we share the suffix with router&backup and stor in IC? - line 304: # TODO - check if we need to add a finalizer to the sts and svc (and if so, what's the condition to remove them) - line 305: # TODO - check if we need to make readinessProbe take into account innodb recovery times - line 307: # TODO - create ServiceAccount ({cluster.name}-sidecar-sa) for the mysql pods and bind it to the mysql-sidecar role - line 407: # TODO re-add "--log-file=", - line 894: # TODO: This should use the CB mechanism like other CMs above - line 1108: # TODO shell escape! Probably it's better to have the pod read this itself - line 1223: # TODO [compat8.3.0] remove this when compatibility pre 8.3.0 isn't needed anymore - line 1300: #TODO: This won't delete old CMs but only replace old ones, if are still in use, with new content mysqloperator/sidecar_main.py (5 lines): - line 24: # # TODO move some stuff to initdatadir? - line 168: # TODO monitor clone from a thread and dump progress - line 528: # TODO: This will fail after restarting server due to cloning - wonder why - line 644: # TODO post event to the Pod and the Cluster object if this is the seed - line 971: # TODO post event to the Pod and the Cluster object if this is the seed mysqloperator/controller/diagnose.py (4 lines): - line 117: # TODO: we want to check from individual Pod's/Server's perspective - line 123: # TODO check for invalid metadata errors - line 311: # TODO disable queryMembers - line 487: # TODO last known quorum tracking mysqloperator/controller/group_monitor.py (4 lines): - line 51: # TODO run a ping every X seconds - line 140: # TODO hack to force unexpected async notice to be read, xsession should read packets itself - line 180: # TODO change this to a per cluster kopf.daemon? - line 221: # TODO replace poll_sessions() with something to get the session fd mysqloperator/controller/shellutils.py (4 lines): - line 120: # TODO - do we want it this way? need it for debug now - line 236: # TODO - Do we ereally need this!? - line 245: # TODO see if we can use cs.describe() - line 246: # TODO consider being in a partition etc (https://corparch-core-srv.slack.com/archives/CK025KBV1/p1712577673711939) mysqloperator/controller/innodbcluster/initdb.py (4 lines): - line 54: # TODO copy other installed plugins(?) - line 72: # TODO check why are we still getting access denied here, the container should have all accounts ready by now - line 302: # TODO: Needs to be refactored so both places use one function - line 331: # TODO the create_admin_account function is passed as callback, quite a hack, need to decide where that has to live, probably the caller ins sidecar_main should establish the right session and preapre the user and then call this function ... or move it all to sidecar_main? mysqloperator/backup_main.py (2 lines): - line 115: # TODO get backup size and other stats from the dump cmd itself - line 249: # TODO - if we are in a cronjob we may want to check mysqloperator/controller/errors.py (2 lines): - line 8: # Shell Error Codes (TODO move to mysqlsh.ErrorCode) - line 16: # TODO review this error see if should go in dba_errors.h mysqloperator/controller/storage_api.py (2 lines): - line 20: # TODO volume instead of persistentVolumeClaim? - line 61: # TODO: raw_data could easily break things - single whitespace and it's not the same mysqloperator/init_main.py (2 lines): - line 204: # TODO post event to the Pod and the Cluster object if this is the seed - line 207: # TODO support for restoring from clone snapshot or MEB goes in here mysqloperator/controller/utils.py (1 line): - line 76: assert not key, "not implemented" # TODO support key helm/mysql-operator/templates/cluster_role_binding_operator.yaml (1 line): - line 10: # TODO The following entry is for dev purposes only and must be deleted mysqloperator/controller/backup/operator_backup.py (1 line): - line 40: # TODO create a job to delete the data when the job is deleted mysqloperator/controller/backup/backup_api.py (1 line): - line 143: # TODO MEB! deploy/deploy-operator.yaml (1 line): - line 134: # TODO The following entry is for dev purposes only mysqloperator/controller/innodbcluster/router_objects.py (1 line): - line 83: # TODO: should we share the suffix with router&backup and stor in IC?