def get_list_servers(self):
        """[summary]

        Returns:
            [dict] -- [description]
        """

        keys = self.get_list_server_keys()
        list_bdds = []
        list_bams = []
        list_vmhosts = []
        for key in keys:
            if key.split('|')[0] == ServerType.BDDS:
                bdds = Bdds()
                bdds.set_from_memcache(
                    key, self.client.get(key).decode())
                list_bdds.append(bdds)
            elif key.split('|')[0] == ServerType.BAM:
                bam = Bam()
                bam.set_from_memcache(
                    key, self.client.get(key).decode())
                list_bams.append(bam)
            elif key.split('|')[0] == ServerType.VM_HOST:
                vm_host = VMHost()
                vm_host.set_from_memcache(
                    key, self.client.get(key).decode())
                list_vmhosts.append(vm_host)
        return list_bdds, list_bams, list_vmhosts
Example #2
0
 def test_set_from_memcache_vmhost(self):
     """
     :param:
     :return:
     """
     name = "VMHost"
     ipv4_address = "192.1.1.1"
     id = ipv4_address  # pylint:disable=invalid-name
     key = "key|bam_ip|bam_id"
     value = "name|127.0.0.1|udf"
     vmhost = VMHost(id, name, ipv4_address)
     vmhost.set_from_memcache(key, value)
Example #3
0
 def test_get_memcache_value_vmhost(self):
     """
     :param:
     :return:
     """
     name = "VMHost"
     ipv4_address = "192.1.1.1"
     id = ipv4_address  # pylint:disable=invalid-name
     vmhost = VMHost(id, name, ipv4_address)
     actual = vmhost.get_memcache_value()
     expected = "{}|{}|{}".format(id, name, ipv4_address)
     self.assertEqual(expected, actual)
Example #4
0
 def test__str___vmhost(self):
     name = "VMHost"
     ipv4_address = "192.1.1.1"
     id = ipv4_address  # pylint:disable=invalid-name
     vmhost = VMHost(id, name, ipv4_address)
     expected = "{}|{}|{}".format(id, name, ipv4_address)
     self.assertEqual(expected, str(vmhost))
    def set_server(self, server, server_type, bam_ip=None, list_udf_names=[]):
        """[Set server to memcache]
        Arguments:
            server {[dict]} -- [server include:
                - bdds: id, name, type, properties
                - bam: id, name, ipv4_address]
            server_type {string} -- [BDDS or BAM] 
            bam_ip {string} -- [bam ipv4] (default: None)
            udf {dict} -- [description] (default: [])
        """
        logging.debug(
            "MemcachedNFV-Set_server-Server infor: {}-ServerType: {}-Bam_ip: {} "
            .format(str(server), server_type, bam_ip))

        try:
            if server_type == ServerType.BDDS:
                bdds = Bdds(bam_ip=bam_ip)
                bdds.set_from_bam_data(server, list_udf_names)
                key = bdds.get_memcache_key()
                value = bdds.get_memcache_value()
            elif server_type == ServerType.BAM:
                bam = Bam(name=server['name'],
                          ipv4_address=server['ipv4_address'])
                key = bam.get_memcache_key()
                value = bam.get_memcache_value()
            else:
                vm_host = VMHost(name=server['name'],
                                 ipv4_address=server['ipv4_address'])
                key = vm_host.get_memcache_key()
                value = vm_host.get_memcache_value()

            # Update to list server key
            self.update_list_server_key(server_type, key)
            self.client.set(key, value)
            logging.info("Added {} to memcache".format(key))
        except Exception as exception:
            logging.error("MemcachedNFV-Set_server-{}".format(exception))
            logging.error(traceback.format_exc())
            self.client.close()