class TestHaproxyDriverRemoteInterface(unittest.TestCase): def setUp(self): self.remote_interface = RemoteInterface(device_fake, frontend) self.remote_interface.ssh = Mock() file_channel = MagicMock(spec=file) self.remote_interface.ssh.exec_command.return_value = [file_channel, file_channel, file_channel] def test_add_ip(self): self.assertTrue(self.remote_interface.add_ip()) def test_del_ip(self): self.assertTrue(self.remote_interface.del_ip())
def delete_virtual_ip(self, virtualserver): logger.debug('[HAPROXY] delete VIP') if not bool(virtualserver['name']): logger.error('[HAPROXY] Virtualserver name is empty') return 'VIRTUALSERVER NAME ERROR' haproxy_virtualserver = HaproxyFronted() haproxy_virtualserver.name = virtualserver['name'] haproxy_virtualserver.bind_address = virtualserver['address'] config_file = HaproxyConfigFile('%s/%s' % (self.localpath, self.configfilename)) remote = RemoteConfig(self.device_ref, self.localpath, self.remotepath, self.configfilename) #Check ip for using in the another frontend if not config_file.find_string_in_the_block('frontend', haproxy_virtualserver.bind_address): logger.debug('[HAPROXY] ip %s does not using in the other ' 'frontend, delete it from remote interface' % haproxy_virtualserver.bind_address) remote_interface = RemoteInterface(self.device_ref, haproxy_virtualserver) remote_interface.del_ip() remote.get_config() config_file.delete_block(haproxy_virtualserver) remote.put_config()