docs: def get_mysql_password(self, username=None, password=None):
          """Retrieve, generate or store a mysql password for the provided
          username using peer relation cluster."""
          excludes = []
  
          # First check peer relation.
          try:
              for key in self.passwd_keys(username):
                  _password = leader_get(key)
                  if _password:
                      break
  
              # If root password available don't update peer relation from local
              if _password and not username:
                  excludes.append(self.root_passwd_file_template)
  
          except ValueError:
              # cluster relation is not yet started; use on-disk
              _password = None
  
          # If none available, generate new one
          if not _password:
              _password = self.get_mysql_password_on_disk(username, password)
  
          # Put on wire if required
          if self.migrate_passwd_to_leader_storage:
              self.migrate_passwords_to_leader_storage(excludes=excludes)
  
          return _password