def enable_root(self, root_password=None): """Enable the root user global access and/or reset the root password. """ user = models.MySQLRootUser(root_password) with self.local_sql_client(self.mysql_app.get_engine()) as client: print(client) try: cu = sql_query.CreateUser(user.name, host=user.host) t = text(str(cu)) client.execute(t, **cu.keyArgs) except exc.OperationalError as err: # Ignore, user is already created, just reset the password # TODO(rnirmal): More fine grained error checking later on LOG.debug(err) with self.local_sql_client(self.mysql_app.get_engine()) as client: print(client) uu = sql_query.UpdateUser(user.name, host=user.host, clear=user.password) t = text(str(uu)) client.execute(t) LOG.debug("CONF.root_grant: %s CONF.root_grant_option: %s." % (CONF.root_grant, CONF.root_grant_option)) g = sql_query.Grant(permissions=CONF.root_grant, user=user.name, host=user.host, grant_option=CONF.root_grant_option, clear=user.password) t = text(str(g)) client.execute(t) return user.serialize()
def _find_root_user(self, context, instance_id): user = guest_models.MySQLRootUser() return models.User.load(context, instance_id, user.name, user.host, root_user=True)