def mess_up_mysql(self): """Ruin MySQL's ability to restart.""" self.fix_mysql() # kill files server = create_server_connection(self.instance_id) cmd = "sudo cp /dev/null /var/lib/mysql/ib_logfile%d" for index in range(2): server.execute(cmd % index)
def mess_up_mysql(self): """Ruin MySQL's ability to restart.""" server = create_server_connection(self.instance_id) cmd = "sudo cp /dev/null /var/lib/mysql/ib_logfile%d" instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): server.execute(cmd % index)
def check_slave_is_running(): server = create_server_connection(slave_instance.id) cmd = ("mysqladmin extended-status " "| awk '/Slave_running/{print $4}'") stdout, stderr = server.execute(cmd) expected = "ON" if running else "OFF" return stdout.rstrip() == expected
def mess_up_mysql(self): """Ruin MySQL's ability to restart.""" server = create_server_connection(self.instance_id) cmd = "sudo cp /dev/null /var/lib/mysql/data/ib_logfile%d" instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): server.execute(cmd % index)
def disable_master(self): if CONFIG.fake_mode: raise SkipTest("eject_replica_source not supported in fake mode") cmd = "sudo service trove-guestagent stop" server = create_server_connection(self._third_slave.id) stdout, stderr = server.execute(cmd) assert_equal(stdout, "1\n")
def test_slave_is_not_read_only(self): if CONFIG.fake_mode: raise SkipTest("Test not_read_only not supported in fake mode") cmd = "mysql -BNq -e \\\'select @@read_only\\\'" server = create_server_connection(slave_instance.id) stdout, stderr = server.execute(cmd) assert_equal(stdout, "0\n")
def check_not_read_only(): cmd = "mysql -BNq -e \\\'select @@read_only\\\'" server = create_server_connection(slave_instance.id) stdout, stderr = server.execute(cmd) if (stdout.rstrip() != "0"): return False else: return True
def find_mysql_proc_on_instance(self): server = create_server_connection(self.instance_id) cmd = "ps aux | grep /usr/sbin/mysqld " "| awk '{print $2}'" stdout, stderr = server.execute(cmd) try: return int(stdout) except ValueError: return None
def find_mysql_proc_on_instance(self): server = create_server_connection(self.instance_id) cmd = "ps acux | grep mysqld " \ "| grep -v mysqld_safe | awk '{print $2}'" stdout, _ = server.execute(cmd) try: return int(stdout) except ValueError: return None
def find_mysql_proc_on_instance(self): server = create_server_connection(self.instance_id) cmd = "ps acux | grep mysqld " \ "| grep -v mysqld_safe | awk '{print $2}'" stdout, stderr = server.execute(cmd) try: return int(stdout) except ValueError: return None
def _get_user_count(server_info): cmd = ('mysql -BNq -e \\\'select count\\(*\\) from mysql.user' ' where user like \\\"slave_%\\\"\\\'') server = create_server_connection(server_info.id) try: stdout = server.execute(cmd) return int(stdout) except Exception as e: fail("Failed to execute command: %s, error: %s" % (cmd, str(e)))
def fix_mysql(self): """Fix MySQL's ability to restart.""" if not FAKE_MODE: server = create_server_connection(self.instance_id) cmd = "sudo rm /var/lib/mysql/data/ib_logfile%d" # We want to stop mysql so that upstart does not keep trying to # respawn it and block the guest agent from accessing the logs. instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): server.execute(cmd % index)
def fix_mysql(self): """Fix MySQL's ability to restart.""" if not FAKE_MODE: server = create_server_connection(self.instance_id) cmd = "sudo rm /var/lib/mysql/ib_logfile%d" # We want to stop mysql so that upstart does not keep trying to # respawn it and block the guest agent from accessing the logs. instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): server.execute(cmd % index)
def test_slave_is_read_only(self): cmd = "mysql -BNq -e \\\'select @@read_only\\\'" server = create_server_connection(slave_instance.id) try: stdout = server.execute(cmd) stdout = int(stdout.rstrip()) except Exception as e: fail("Failed to execute command %s, error: %s" % (cmd, str(e))) assert_equal(stdout, 1)
def check_not_read_only(): cmd = "mysql -BNq -e \\\'select @@read_only\\\'" server = create_server_connection(slave_instance.id) try: stdout = server.execute(cmd) stdout = int(stdout) except Exception: return False return stdout == 0
def _get_user_count(server_info): cmd = ( 'docker exec -e MYSQL_PWD=$(sudo cat /var/lib/mysql/conf.d/root.cnf | ' 'grep password | awk "{print \$3}") database mysql -uroot -N -e ' '"select count(*) from mysql.user where user like \\"slave_%\\""') server = create_server_connection(server_info.id) try: stdout = server.execute(cmd) return int(stdout.rstrip()) except Exception as e: fail("Failed to execute command: %s, error: %s" % (cmd, str(e)))
def prepare_test(self): """Connect to swift, clean up containers.""" self.server = create_server_connection(instance_info.id) user = test_config.users.find_user( Requirements(is_admin=False, services=["swift"])) self.swift_client = swiftclient.client.Connection( authurl=test_config.nova_client['auth_url'], user=user.auth_user, key=user.auth_key, tenant_name=user.tenant, auth_version='2') self.cleanup_swift()
def check_slave_is_running(): server = create_server_connection(slave_instance.id) cmd = ("mysqladmin extended-status " "| awk '/Slave_running/{print $4}'") try: stdout = server.execute(cmd) stdout = stdout.rstrip() except Exception as e: fail("Failed to execute command %s, error: %s" % (cmd, str(e))) expected = b"ON" if running else b"OFF" return stdout == expected
def mess_up_mysql(self): """Ruin MySQL's ability to restart.""" server = create_server_connection(self.instance_id, self.instance_mgmt_address) cmd_template = "sudo cp /dev/null /var/lib/mysql/data/ib_logfile%d" instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): cmd = cmd_template % index try: server.execute(cmd) except Exception as e: asserts.fail("Failed to execute command %s, error: %s" % (cmd, str(e)))
def check_not_read_only(): cmd = ('docker exec -e MYSQL_PWD=$(sudo cat ' '/var/lib/mysql/conf.d/root.cnf | grep password | ' 'awk "{print \$3}") database mysql -uroot -NBq -e ' '"select @@read_only"') server = create_server_connection(slave_instance.id) try: stdout = server.execute(cmd) stdout = int(stdout) except Exception: return False return stdout == 0
def disable_master(self): if CONFIG.fake_mode: raise SkipTest("eject_replica_source not supported in fake mode") cmd = "sudo service trove-guestagent stop" server = create_server_connection(self._third_slave.id) try: stdout = server.execute(cmd) stdout = int(stdout.rstrip()) except Exception as e: fail("Failed to execute command %s, error: %s" % (cmd, str(e))) assert_equal(stdout, 1)
def find_mysql_proc_on_instance(self): server = create_server_connection( self.instance_id, ip_address=self.instance_mgmt_address) cmd = "sudo ps acux | grep mysqld " \ "| grep -v mysqld_safe | awk '{print $2}'" try: stdout = server.execute(cmd) return int(stdout) except ValueError: return None except Exception as e: asserts.fail("Failed to execute command: %s, error: %s" % (cmd, str(e)))
def test_slave_is_read_only(self): """test_slave_is_read_only""" cmd = ('docker exec -e MYSQL_PWD=$(sudo cat ' '/var/lib/mysql/conf.d/root.cnf | grep password | ' 'awk "{print \$3}") database mysql -uroot -NBq -e ' '"select @@read_only"') server = create_server_connection(slave_instance.id) try: stdout = server.execute(cmd) stdout = int(stdout.rstrip()) except Exception as e: fail("Failed to execute command %s, error: %s" % (cmd, str(e))) assert_equal(stdout, 1)
def check_slave_is_running(): server = create_server_connection(slave_instance.id) cmd = ('docker exec -e MYSQL_PWD=$(sudo cat ' '/var/lib/mysql/conf.d/root.cnf | grep password ' '| awk "{print \$3}") database mysql -uroot -N -e ' '"SELECT SERVICE_STATE FROM ' 'performance_schema.replication_connection_status"') try: stdout = server.execute(cmd) stdout = stdout.rstrip() except Exception as e: fail("Failed to execute command %s, error: %s" % (cmd, str(e))) expected = b"ON" if running else b"" return stdout == expected
def fix_mysql(self): """Fix MySQL's ability to restart.""" if not FAKE_MODE: server = create_server_connection(self.instance_id, self.instance_mgmt_address) cmd_template = "sudo rm /var/lib/mysql/data/ib_logfile%d" # We want to stop mysql so that upstart does not keep trying to # respawn it and block the guest agent from accessing the logs. instance_info.dbaas_admin.management.stop(self.instance_id) for index in range(2): cmd = cmd_template % index try: server.execute(cmd) except Exception as e: asserts.fail("Failed to execute command %s, error: %s" % (cmd, str(e)))
def find_mysql_proc_on_instance(self): server = create_server_connection( self.instance_id, ip_address=self.instance_mgmt_address) container_exist_cmd = 'sudo docker ps -q' pid_cmd = "sudo docker inspect database -f '{{.State.Pid}}'" try: server.execute(container_exist_cmd) except Exception as err: asserts.fail("Failed to execute command: %s, error: %s" % (container_exist_cmd, str(err))) try: stdout = server.execute(pid_cmd) return int(stdout) except ValueError: return None except Exception as err: asserts.fail("Failed to execute command: %s, error: %s" % (pid_cmd, str(err)))
def test_slave_is_read_only(self): cmd = "mysql -BNq -e \\\'select @@read_only\\\'" server = create_server_connection(slave_instance.id) stdout, stderr = server.execute(cmd) assert_equal(stdout, "1\n")
def _get_user_count(server_info): cmd = ('mysql -BNq -e \\\'select count\\(*\\) from mysql.user' ' where user like \\\"slave_%\\\"\\\'') server = create_server_connection(server_info.id) stdout, stderr = server.execute(cmd) return int(stdout.rstrip())
def slave_is_running(): server = create_server_connection(slave_instance.id) cmd = ("mysqladmin extended-status " "| awk '/Slave_running/{print $4}'") stdout, stderr = server.execute(cmd) return stdout == "ON\n"