Exemple #1
0
    def _dict_to_obj(cls, json_dict):

        links = None
        metadata = None
        server = None
        if 'links' in json_dict:
            links = Links._dict_to_obj(json_dict['links'])
        if 'metadata' in json_dict:
            metadata = Metadata._dict_to_obj(json_dict['metadata'])
        if 'server' in json_dict:
            # Prevents circular import issue import just in time
            from cloudcafe.compute.servers_api.models.servers import ServerMin
            server = ServerMin._dict_to_obj(json_dict['server'])

        image = Image(
            disk_config=json_dict.get('OS-DCF:diskConfig'),
            size=json_dict.get('OS-EXT-IMG-SIZE:size'),
            id=json_dict.get('id'), name=json_dict.get('name'),
            status=json_dict.get('status'),
            updated=json_dict.get('updated'),
            created=json_dict.get('created'),
            min_disk=json_dict.get('minDisk'),
            min_ram=json_dict.get('minRam'),
            progress=json_dict.get('progress'),
            links=links, metadata=metadata, server=server)
        return image
Exemple #2
0
    def _xml_ele_to_obj(cls, element):
        image_dict = element.attrib
        if 'minDisk' in image_dict:
            image_dict['minDisk'] = image_dict.get('minDisk') \
                and int(image_dict.get('minDisk'))
        if 'progress' in image_dict:
            image_dict['progress'] = image_dict.get('progress') \
                and int(image_dict.get('progress'))
        if 'minRam' in image_dict:
            image_dict['minRam'] = image_dict.get('minRam') \
                and int(image_dict.get('minRam'))

        links = None
        metadata = None
        server = None

        if element.find('link') is not None:
            links = Links._xml_ele_to_obj(element)
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element)
        if element.find('server') is not None:
            '''To prevent circular import issue import just in time'''
            from cloudcafe.compute.servers_api.models.servers import ServerMin
            server = ServerMin._xml_ele_to_obj(element)

        image = Image(image_dict.get('diskConfig'),
                      image_dict.get('id'), image_dict.get('name'),
                      image_dict.get('status'), image_dict.get('updated'),
                      image_dict.get('created'), image_dict.get('minDisk'),
                      image_dict.get('minRam'), image_dict.get('progress'),
                      links, metadata, server)

        return image
Exemple #3
0
 def _xml_ele_to_obj(cls, element):
     '''Helper method to turn ElementTree instance to Image instance.'''
     cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE)
     image_dict = element.attrib
     image_min = ImageMin(**image_dict)
     image_min.links = Links._xml_ele_to_obj(element)
     return image_min
Exemple #4
0
 def _xml_ele_to_obj(cls, element):
     flavor_dict = element.attrib
     links = Links._xml_ele_to_obj(element)
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'),
                            links=links)
     return flavor_min
Exemple #5
0
    def _dict_to_obj(cls, json_dict):

        links = None
        metadata = None
        server = None
        if 'links' in json_dict:
            links = Links._dict_to_obj(json_dict['links'])
        if 'metadata' in json_dict:
            metadata = Metadata._dict_to_obj(json_dict['metadata'])
        if 'server' in json_dict:
            # Prevents circular import issue import just in time
            from cloudcafe.compute.servers_api.models.servers import ServerMin
            server = ServerMin._dict_to_obj(json_dict['server'])

        image = Image(disk_config=json_dict.get('OS-DCF:diskConfig'),
                      size=json_dict.get('OS-EXT-IMG-SIZE:size'),
                      id=json_dict.get('id'),
                      name=json_dict.get('name'),
                      status=json_dict.get('status'),
                      updated=json_dict.get('updated'),
                      created=json_dict.get('created'),
                      min_disk=json_dict.get('minDisk'),
                      min_ram=json_dict.get('minRam'),
                      progress=json_dict.get('progress'),
                      links=links,
                      metadata=metadata,
                      server=server)
        return image
Exemple #6
0
    def _xml_ele_to_obj(cls, element):
        image_dict = element.attrib
        if 'minDisk' in image_dict:
            image_dict['minDisk'] = (image_dict.get('minDisk')
                                     and int(image_dict.get('minDisk')))
        if 'progress' in image_dict:
            image_dict['progress'] = (image_dict.get('progress')
                                      and int(image_dict.get('progress')))
        if 'minRam' in image_dict:
            image_dict['minRam'] = (image_dict.get('minRam')
                                    and int(image_dict.get('minRam')))

        links = None
        metadata = None
        server = None
        if element.find('link') is not None:
            links = Links._xml_ele_to_obj(element)
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element.find('metadata'))
        if element.find('server') is not None:
            # Prevents circular import issue import just in time
            from cloudcafe.compute.servers_api.models.servers import ServerMin
            server = ServerMin._xml_ele_to_obj(element)

        image = Image(
            disk_config=image_dict.get('diskConfig'),
            size=image_dict.get('size'), id=image_dict.get('id'),
            name=image_dict.get('name'), status=image_dict.get('status'),
            updated=image_dict.get('updated'),
            created=image_dict.get('created'),
            min_disk=image_dict.get('minDisk'),
            min_ram=image_dict.get('minRam'),
            progress=image_dict.get('progress'),
            links=links, metadata=metadata, server=server)
        return image
Exemple #7
0
    def _xml_ele_to_obj(cls, element):
        image_dict = element.attrib
        if 'minDisk' in image_dict:
            image_dict['minDisk'] = image_dict.get('minDisk') \
                and int(image_dict.get('minDisk'))
        if 'progress' in image_dict:
            image_dict['progress'] = image_dict.get('progress') \
                and int(image_dict.get('progress'))
        if 'minRam' in image_dict:
            image_dict['minRam'] = image_dict.get('minRam') \
                and int(image_dict.get('minRam'))

        links = None
        metadata = None
        server = None

        if element.find('link') is not None:
            links = Links._xml_ele_to_obj(element)
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element)
        if element.find('server') is not None:
            '''To prevent circular import issue import just in time'''
            from cloudcafe.compute.servers_api.models.servers import ServerMin
            server = ServerMin._xml_ele_to_obj(element)

        image = Image(image_dict.get('diskConfig'), image_dict.get('size'),
                      image_dict.get('id'), image_dict.get('name'),
                      image_dict.get('status'), image_dict.get('updated'),
                      image_dict.get('created'), image_dict.get('minDisk'),
                      image_dict.get('minRam'), image_dict.get('progress'),
                      links, metadata, server)

        return image
Exemple #8
0
 def _xml_ele_to_obj(cls, element):
     server_dict = element.attrib
     links = Links._xml_ele_to_obj(element)
     server = ServerMin(id=server_dict.get('id'),
                        name=server_dict.get('name'),
                        links=links)
     return server
Exemple #9
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Flavor instance."""
        flavor_dict = element.attrib
        if 'vcpus' in flavor_dict:
            flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and
                                    int(flavor_dict.get('vcpus')))
        if 'disk' in flavor_dict:
            flavor_dict['disk'] = (flavor_dict.get('disk') and
                                   int(flavor_dict.get('disk')))
        if 'rxtx_factor' in flavor_dict:
            flavor_dict['rxtx_factor'] = flavor_dict.get('rxtx_factor') \
                and float(flavor_dict.get('rxtx_factor'))
        if 'ram' in flavor_dict:
            flavor_dict['ram'] = flavor_dict.get('ram') \
                and int(flavor_dict.get('ram'))
        if 'swap' in flavor_dict:
            flavor_dict['swap'] = flavor_dict.get('swap') \
                and int(flavor_dict.get('swap'))

        links = Links._xml_ele_to_obj(element)
        flavor = Flavor(flavor_dict.get('id'), flavor_dict.get('name'),
                        flavor_dict.get('ram'), flavor_dict.get('disk'),
                        flavor_dict.get('vcpus'), flavor_dict.get('swap'),
                        flavor_dict.get('rxtx_factor'), links)
        return flavor
Exemple #10
0
 def _xml_ele_to_obj(cls, element):
     '''Helper method to turn ElementTree instance to Image instance.'''
     cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE)
     image_dict = element.attrib
     image_min = ImageMin(**image_dict)
     image_min.links = Links._xml_ele_to_obj(element)
     return image_min
Exemple #11
0
 def _xml_ele_to_obj(cls, element):
     """Helper method to turn ElementTree instance to Server instance."""
     flavor_dict = element.attrib
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'))
     flavor_min.links = Links._xml_ele_to_obj(element)
     return flavor_min
Exemple #12
0
 def _xml_ele_to_obj(cls, element):
     """Helper method to turn ElementTree instance to Server instance."""
     flavor_dict = element.attrib
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'))
     flavor_min.links = Links._xml_ele_to_obj(element)
     return flavor_min
Exemple #13
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Flavor instance."""
        flavor_dict = element.attrib
        if 'vcpus' in flavor_dict:
            flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and
                                    int(flavor_dict.get('vcpus')))
        if 'disk' in flavor_dict:
            flavor_dict['disk'] = (flavor_dict.get('disk') and
                                   int(flavor_dict.get('disk')))
        if 'rxtx_factor' in flavor_dict:
            flavor_dict['rxtx_factor'] = flavor_dict.get('rxtx_factor') \
                and float(flavor_dict.get('rxtx_factor'))
        if 'ram' in flavor_dict:
            flavor_dict['ram'] = flavor_dict.get('ram') \
                and int(flavor_dict.get('ram'))
        if 'swap' in flavor_dict:
            flavor_dict['swap'] = flavor_dict.get('swap') \
                and int(flavor_dict.get('swap'))

        links = Links._xml_ele_to_obj(element)
        flavor = Flavor(flavor_dict.get('id'), flavor_dict.get('name'),
                        flavor_dict.get('ram'), flavor_dict.get('disk'),
                        flavor_dict.get('vcpus'), flavor_dict.get('swap'),
                        flavor_dict.get('rxtx_factor'), links)
        return flavor
Exemple #14
0
 def _xml_ele_to_obj(cls, element):
     '''Helper method to turn ElementTree instance to Server instance.'''
     if element.find('server') is not None:
         element = element.find('server')
         server_dict = element.attrib
         servermin = ServerMin(**server_dict)
         servermin.links = Links._xml_ele_to_obj(element)
     return servermin
Exemple #15
0
 def _xml_ele_to_obj(cls, element):
     '''Helper method to turn ElementTree instance to Server instance.'''
     if element.find('server') is not None:
         element = element.find('server')
         server_dict = element.attrib
         servermin = ServerMin(**server_dict)
         servermin.links = Links._xml_ele_to_obj(element)
     return servermin
Exemple #16
0
 def _dict_to_obj(cls, json_dict):
     if 'links' in json_dict:
         links = Links(json_dict.get('links'))
     else:
         links = None
     image_min = ImageMin(id=json_dict.get('id'),
                          name=json_dict.get('name'),
                          links=links)
     return image_min
Exemple #17
0
 def _dict_to_obj(cls, flavor_dict):
     """Helper method to turn dictionary into Server instance."""
     flavor = Flavor(id=flavor_dict.get('id'),
                     name=flavor_dict.get('name'),
                     ram=flavor_dict.get('ram'),
                     disk=flavor_dict.get('disk'),
                     vcpus=flavor_dict.get('vcpus'))
     flavor.links = Links._dict_to_obj(flavor_dict['links'])
     return flavor
Exemple #18
0
 def _dict_to_obj(cls, flavor_dict):
     """Helper method to turn dictionary into Server instance."""
     flavor = Flavor(id=flavor_dict.get('id'),
                     name=flavor_dict.get('name'),
                     ram=flavor_dict.get('ram'),
                     disk=flavor_dict.get('disk'),
                     vcpus=flavor_dict.get('vcpus'))
     flavor.links = Links._dict_to_obj(flavor_dict['links'])
     return flavor
Exemple #19
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Server instance."""
        server = element.attrib

        addresses = None
        flavor = None
        image = None
        metadata = None
        links = Links._xml_ele_to_obj(element)

        if element.find("addresses") is not None:
            addresses = Addresses._xml_ele_to_obj(element.find("addresses"))
        if element.find("flavor") is not None:
            flavor = Flavor._xml_ele_to_obj(element.find("flavor"))
        if element.find("image") is not None:
            image = Image._xml_ele_to_obj(element.find("image"))
        if element.find("metadata") is not None:
            metadata = Metadata._xml_ele_to_obj(element.find("metadata"))

        if "progress" in server:
            progress = server.get("progress") and int(server.get("progress"))
        else:
            progress = None

        server = Server(
            id=server.get("id"),
            disk_config=server.get("diskConfig"),
            power_state=server.get("power_state"),
            progress=progress,
            task_state=server.get("task_state").lower(),
            vm_state=server.get("vm_state"),
            name=server.get("name"),
            tenant_id=server.get("tenant_id"),
            status=server.get("status"),
            updated=server.get("updated"),
            created=server.get("created"),
            host_id=server.get("hostId"),
            user_id=server.get("userId"),
            accessIPv4=server.get("accessIPv4"),
            config_drive=server.get("config_drive"),
            accessIPv6=server.get("accessIPv6"),
            addresses=addresses,
            flavor=flavor,
            image=image,
            links=links,
            metadata=metadata,
            admin_pass=server.get("adminPass"),
            key_name=server.get("key_name"),
            host=server.get("host"),
            instance_name=server.get("instance_name"),
            hypervisor_name=server.get("hypervisor_hostname"),
        )

        return server
Exemple #20
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Image instance."""
        cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE)
        image_dict = element.attrib

        if element.find('link') is not None:
            links = Links._xml_ele_to_obj(element)
        else:
            links = None
        image_min = ImageMin(id=image_dict.get('id'),
                             name=image_dict.get('name'), links=links)
        return image_min
Exemple #21
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Server instance."""
        server = element.attrib

        addresses = None
        flavor = None
        image = None
        metadata = None
        links = Links._xml_ele_to_obj(element)

        if element.find('addresses') is not None:
            addresses = Addresses._xml_ele_to_obj(element.find('addresses'))
        if element.find('flavor') is not None:
            flavor = Flavor._xml_ele_to_obj(element.find('flavor'))
        if element.find('image'):
            image = Image._xml_ele_to_obj(element.find('image'))
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element.find('metadata'))

        if 'progress' in server:
            progress = (server.get('progress') and int(server.get('progress')))
        else:
            progress = None

        server = Server(id=server.get('id'),
                        disk_config=server.get('diskConfig'),
                        power_state=server.get('power_state'),
                        progress=progress,
                        task_state=server.get('task_state').lower(),
                        vm_state=server.get('vm_state'),
                        name=server.get('name'),
                        tenant_id=server.get('tenant_id'),
                        status=server.get('status'),
                        updated=server.get('updated'),
                        created=server.get('created'),
                        host_id=server.get('hostId'),
                        user_id=server.get('userId'),
                        accessIPv4=server.get('accessIPv4'),
                        config_drive=server.get('config_drive'),
                        accessIPv6=server.get('accessIPv6'),
                        addresses=addresses,
                        flavor=flavor,
                        image=image,
                        links=links,
                        metadata=metadata,
                        admin_pass=server.get('adminPass'),
                        key_name=server.get('key_name'),
                        host=server.get('host'),
                        instance_name=server.get('instance_name'),
                        hypervisor_name=server.get('hypervisor_hostname'))

        return server
Exemple #22
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Image instance."""
        cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE)
        image_dict = element.attrib

        if element.find('link') is not None:
            links = Links._xml_ele_to_obj(element)
        else:
            links = None
        image_min = ImageMin(id=image_dict.get('id'),
                             name=image_dict.get('name'),
                             links=links)
        return image_min
Exemple #23
0
    def _dict_to_obj(cls, server_dict):
        """Helper method to turn dictionary into Server instance."""

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None
        fault = None

        if 'links' in server_dict:
            links = Links._dict_to_obj(server_dict['links'])
        if 'addresses' in server_dict:
            addresses = Addresses._dict_to_obj(server_dict['addresses'])
        if 'flavor' in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict['flavor'])
        if 'image' in server_dict and server_dict.get('image'):
            image = ImageMin._dict_to_obj(server_dict['image'])
        if 'metadata' in server_dict:
            metadata = Metadata._dict_to_obj(server_dict['metadata'])
        if 'fault' in server_dict:
            fault = Fault._dict_to_obj(server_dict['fault'])

        server = Server(
            id=server_dict.get('id') or server_dict.get('uuid'),
            disk_config=server_dict.get('OS-DCF:diskConfig'),
            power_state=server_dict.get('OS-EXT-STS:power_state'),
            progress=server_dict.get('progress', 0),
            task_state=server_dict.get('OS-EXT-STS:task_state'),
            vm_state=server_dict.get('OS-EXT-STS:vm_state'),
            name=server_dict.get('name'),
            config_drive=server_dict.get('config_drive'),
            tenant_id=server_dict.get('tenant_id'),
            status=server_dict.get('status'),
            updated=server_dict.get('updated'),
            created=server_dict.get('created'),
            host_id=server_dict.get('hostId'),
            user_id=server_dict.get('user_id'),
            accessIPv4=server_dict.get('accessIPv4'),
            accessIPv6=server_dict.get('accessIPv6'), addresses=addresses,
            flavor=flavor, image=image, links=links, metadata=metadata,
            admin_pass=server_dict.get('adminPass'),
            key_name=server_dict.get('key_name'),
            host=server_dict.get('OS-EXT-SRV-ATTR:host'),
            instance_name=server_dict.get('OS-EXT-SRV-ATTR:instance_name'),
            hypervisor_name=server_dict.get(
                'OS-EXT-SRV-ATTR:hypervisor_hostname'),
            security_groups=server_dict.get('security_groups'),
            fault=fault)

        return server
Exemple #24
0
 def _dict_to_obj(cls, json_dict):
     image = Image(json_dict.get('OS-DCF:diskConfig'), json_dict.get('id'),
                   json_dict.get('name'), json_dict.get('status'),
                   json_dict.get('updated'), json_dict.get('created'),
                   json_dict.get('minDisk'), json_dict.get('minRam'),
                   json_dict.get('progress'))
     if 'links' in json_dict:
         image.links = Links._dict_to_obj(json_dict['links'])
     if 'metadata' in json_dict:
         image.metadata = Metadata._dict_to_obj(json_dict['metadata'])
     if 'server' in json_dict:
         from cloudcafe.compute.servers_api.models.servers import ServerMin
         image.server = ServerMin._dict_to_obj(json_dict['server'])
     return image
Exemple #25
0
 def _dict_to_obj(cls, json_dict):
     image = Image(json_dict.get('OS-DCF:diskConfig'), json_dict.get('id'),
                   json_dict.get('name'), json_dict.get('status'),
                   json_dict.get('updated'), json_dict.get('created'),
                   json_dict.get('minDisk'), json_dict.get('minRam'),
                   json_dict.get('progress'))
     if 'links' in json_dict:
         image.links = Links._dict_to_obj(json_dict['links'])
     if 'metadata' in json_dict:
         image.metadata = Metadata._dict_to_obj(json_dict['metadata'])
     if 'server' in json_dict:
         from cloudcafe.compute.servers_api.models.servers import ServerMin
         image.server = ServerMin._dict_to_obj(json_dict['server'])
     return image
Exemple #26
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Server instance."""
        server_dict = element.attrib

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        links = Links._xml_ele_to_obj(element)
        if element.find("addresses") is not None:
            addresses = Addresses._xml_ele_to_obj(element.find("addresses"))
        if element.find("flavor") is not None:
            flavor = Flavor._xml_ele_to_obj(element.find("flavor"))
        if element.find("image") is not None:
            image = Image._xml_ele_to_obj(element.find("image"))
        if element.find("metadata") is not None:
            metadata = Metadata._xml_ele_to_obj(element)

        if "progress" in server_dict:
            progress = server_dict.get("progress") and int(server_dict.get("progress"))
        if "tenantId" in server_dict:
            tenant_id = server_dict.get("tenantId")
        if "userId" in server_dict:
            user_id = server_dict.get("userId")

        server = Server(
            server_dict["id"],
            server_dict["diskConfig"],
            server_dict["power_state"],
            progress,
            server_dict["task_state"],
            server_dict["vm_state"],
            server_dict["name"],
            tenant_id,
            server_dict["status"],
            server_dict["updated"],
            server_dict["created"],
            server_dict["hostId"],
            user_id,
            server_dict["accessIPv4"],
            server_dict["accessIPv6"],
            addresses,
            flavor,
            image,
            links,
            metadata,
        )
        return server
Exemple #27
0
    def _dict_to_obj(cls, flavor_dict):
        spec = 'OS-FLV-WITH-EXT-SPECS:extra_specs'
        extra_specs = (FlavorExtraSpecs._dict_to_obj(flavor_dict.get(spec))
                       if flavor_dict.get(spec) else None)

        flavor = Flavor(
            id=flavor_dict.get('id'), name=flavor_dict.get('name'),
            ram=flavor_dict.get('ram'), disk=flavor_dict.get('disk'),
            vcpus=flavor_dict.get('vcpus'), swap=flavor_dict.get('swap'),
            rxtx_factor=flavor_dict.get('rxtx_factor'),
            ephemeral_disk=flavor_dict.get('OS-FLV-EXT-DATA:ephemeral'),
            links=Links._dict_to_obj(flavor_dict['links']),
            extra_specs=extra_specs)
        return flavor
Exemple #28
0
    def _dict_to_obj(cls, server_dict):
        """Helper method to turn dictionary into Server instance."""

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        if "links" in server_dict:
            links = Links._dict_to_obj(server_dict["links"])
        if "addresses" in server_dict:
            addresses = Addresses._dict_to_obj(server_dict["addresses"])
        if "flavor" in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict["flavor"])
        if "image" in server_dict:
            image = ImageMin._dict_to_obj(server_dict["image"])
        if "metadata" in server_dict:
            metadata = Metadata._dict_to_obj(server_dict["metadata"])

        server = Server(
            id=server_dict.get("id") or server_dict.get("uuid"),
            disk_config=server_dict.get("OS-DCF:diskConfig"),
            power_state=server_dict.get("OS-EXT-STS:power_state"),
            progress=server_dict.get("progress", 0),
            task_state=server_dict.get("OS-EXT-STS:task_state"),
            vm_state=server_dict.get("OS-EXT-STS:vm_state"),
            name=server_dict.get("name"),
            config_drive=server_dict.get("config_drive"),
            tenant_id=server_dict.get("tenant_id"),
            status=server_dict.get("status"),
            updated=server_dict.get("updated"),
            created=server_dict.get("created"),
            host_id=server_dict.get("hostId"),
            user_id=server_dict.get("user_id"),
            accessIPv4=server_dict.get("accessIPv4"),
            accessIPv6=server_dict.get("accessIPv6"),
            addresses=addresses,
            flavor=flavor,
            image=image,
            links=links,
            metadata=metadata,
            admin_pass=server_dict.get("adminPass"),
            key_name=server_dict.get("key_name"),
            host=server_dict.get("OS-EXT-SRV-ATTR:host"),
            instance_name=server_dict.get("OS-EXT-SRV-ATTR:instance_name"),
            hypervisor_name=server_dict.get("OS-EXT-SRV-ATTR:hypervisor_hostname"),
        )

        return server
Exemple #29
0
    def _dict_to_obj(cls, server_dict):
        """Helper method to turn dictionary into Server instance."""

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        if 'links' in server_dict:
            links = Links._dict_to_obj(server_dict['links'])
        if 'addresses' in server_dict:
            addresses = Addresses._dict_to_obj(server_dict['addresses'])
        if 'flavor' in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict['flavor'])
        if 'image' in server_dict and server_dict.get('image'):
            image = ImageMin._dict_to_obj(server_dict['image'])
        if 'metadata' in server_dict:
            metadata = Metadata._dict_to_obj(server_dict['metadata'])

        server = Server(
            id=server_dict.get('id') or server_dict.get('uuid'),
            disk_config=server_dict.get('OS-DCF:diskConfig'),
            power_state=server_dict.get('OS-EXT-STS:power_state'),
            progress=server_dict.get('progress', 0),
            task_state=server_dict.get('OS-EXT-STS:task_state'),
            vm_state=server_dict.get('OS-EXT-STS:vm_state'),
            name=server_dict.get('name'),
            config_drive=server_dict.get('config_drive'),
            tenant_id=server_dict.get('tenant_id'),
            status=server_dict.get('status'),
            updated=server_dict.get('updated'),
            created=server_dict.get('created'),
            host_id=server_dict.get('hostId'),
            user_id=server_dict.get('user_id'),
            accessIPv4=server_dict.get('accessIPv4'),
            accessIPv6=server_dict.get('accessIPv6'),
            addresses=addresses,
            flavor=flavor,
            image=image,
            links=links,
            metadata=metadata,
            admin_pass=server_dict.get('adminPass'),
            key_name=server_dict.get('key_name'),
            host=server_dict.get('OS-EXT-SRV-ATTR:host'),
            instance_name=server_dict.get('OS-EXT-SRV-ATTR:instance_name'),
            hypervisor_name=server_dict.get(
                'OS-EXT-SRV-ATTR:hypervisor_hostname'))

        return server
Exemple #30
0
    def _dict_to_obj(cls, server_dict):
        """Helper method to turn dictionary into Server instance."""

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        if "links" in server_dict:
            links = Links._dict_to_obj(server_dict["links"])
        if "addresses" in server_dict:
            addresses = Addresses._dict_to_obj(server_dict["addresses"])
        if "flavor" in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict["flavor"])
        if "image" in server_dict:
            image = ImageMin._dict_to_obj(server_dict["image"])
        if "metadata" in server_dict:
            metadata = Metadata._dict_to_obj(server_dict["metadata"])

        server = Server(
            server_dict["id"],
            server_dict.get("OS-DCF:diskConfig"),
            server_dict.get("OS-EXT-STS:power_state"),
            server_dict.get("progress", 0),
            server_dict.get("OS-EXT-STS:task_state"),
            server_dict.get("OS-EXT-STS:vm_state"),
            server_dict.get("name"),
            server_dict.get("tenant_id"),
            server_dict.get("status"),
            server_dict.get("updated"),
            server_dict.get("created"),
            server_dict.get("hostId"),
            server_dict.get("user_id"),
            server_dict.get("accessIPv4"),
            server_dict.get("accessIPv6"),
            addresses,
            flavor,
            image,
            links,
            metadata,
            server_dict.get("adminPass"),
        )

        for each in server_dict:
            if each.startswith("{"):
                newkey = re.split("}", each)[1]
                setattr(server, newkey, server_dict[each])
        return server
Exemple #31
0
    def _xml_ele_to_obj(cls, element):
        """Helper method to turn ElementTree instance to Server instance."""
        server = element.attrib

        addresses = None
        flavor = None
        image = None
        metadata = None
        fault = None
        links = Links._xml_ele_to_obj(element)

        if element.find('addresses') is not None:
            addresses = Addresses._xml_ele_to_obj(element.find('addresses'))
        if element.find('flavor') is not None:
            flavor = Flavor._xml_ele_to_obj(element.find('flavor'))
        if element.find('image'):
            image = Image._xml_ele_to_obj(element.find('image'))
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element.find('metadata'))
        if element.find('fault') is not None:
            fault = Fault._xml_ele_to_obj(element.find('fault'))

        if 'progress' in server:
            progress = (server.get('progress')
                        and int(server.get('progress')))
        else:
            progress = None

        server = Server(
            id=server.get('id'), disk_config=server.get('diskConfig'),
            power_state=server.get('power_state'), progress=progress,
            task_state=server.get('task_state').lower(),
            vm_state=server.get('vm_state'), name=server.get('name'),
            tenant_id=server.get('tenant_id'), status=server.get('status'),
            updated=server.get('updated'), created=server.get('created'),
            host_id=server.get('hostId'), user_id=server.get('userId'),
            accessIPv4=server.get('accessIPv4'),
            config_drive=server.get('config_drive'),
            accessIPv6=server.get('accessIPv6'), addresses=addresses,
            flavor=flavor, image=image, links=links, metadata=metadata,
            admin_pass=server.get('adminPass'),
            key_name=server.get('key_name'), host=server.get('host'),
            instance_name=server.get('instance_name'),
            hypervisor_name=server.get('hypervisor_hostname'),
            security_groups=server.get('security_groups'),
            fault=fault)

        return server
Exemple #32
0
    def _dict_to_obj(cls, server_dict):
        '''Helper method to turn dictionary into Server instance.'''
        servermin = ServerMin(**server_dict)
        if hasattr(servermin, 'links'):
            servermin.links = Links._dict_to_obj(servermin.links)
        '''
        Parse for those keys which have the namespace prefixed,
        strip the namespace out
        and take only the actual values such as diskConfig,
        power_state and assign to server obj
        '''
        for each in server_dict:
            if each.startswith("{"):
                newkey = re.split("}", each)[1]
                setattr(servermin, newkey, server_dict[each])

        return servermin
Exemple #33
0
    def _dict_to_obj(cls, server_dict):
        '''Helper method to turn dictionary into Server instance.'''
        servermin = ServerMin(**server_dict)
        if hasattr(servermin, 'links'):
            servermin.links = Links._dict_to_obj(servermin.links)
        '''
        Parse for those keys which have the namespace prefixed,
        strip the namespace out
        and take only the actual values such as diskConfig,
        power_state and assign to server obj
        '''
        for each in server_dict:
            if each.startswith("{"):
                newkey = re.split("}", each)[1]
                setattr(servermin, newkey, server_dict[each])

        return servermin
Exemple #34
0
    def _dict_to_obj(cls, server_dict):
        '''Helper method to turn dictionary into Server instance.'''

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        if 'links' in server_dict:
            links = Links._dict_to_obj(server_dict['links'])
        if 'addresses' in server_dict:
            addresses = Addresses._dict_to_obj(server_dict['addresses'])
        if 'flavor' in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict['flavor'])
        if 'image' in server_dict:
            image = ImageMin._dict_to_obj(server_dict['image'])
        if 'metadata' in server_dict:
            metadata = Metadata._dict_to_obj(server_dict['metadata'])

        server = Server(
            id=server_dict.get('id') or server_dict.get('uuid'),
            disk_config=server_dict.get('OS-DCF:diskConfig'),
            power_state=server_dict.get('OS-EXT-STS:power_state'),
            progress=server_dict.get('progress', 0),
            task_state=server_dict.get('OS-EXT-STS:task_state'),
            vm_state=server_dict.get('OS-EXT-STS:vm_state'),
            name=server_dict.get('name'),
            tenant_id=server_dict.get('tenant_id'),
            status=server_dict.get('status'),
            updated=server_dict.get('updated'),
            created=server_dict.get('created'),
            host_id=server_dict.get('hostId'),
            user_id=server_dict.get('user_id'),
            accessIPv4=server_dict.get('accessIPv4'),
            accessIPv6=server_dict.get('accessIPv6'), addresses=addresses,
            flavor=flavor, image=image, links=links, metadata=metadata,
            admin_pass=server_dict.get('adminPass'),
            key_name=server_dict.get('key_name'))

        return server
Exemple #35
0
    def _xml_ele_to_obj(cls, element):
        flavor_dict = element.attrib

        # XML data types differ from JSON, so we normalize here
        if 'vcpus' in flavor_dict:
            flavor_dict['vcpus'] = (flavor_dict.get('vcpus')
                                    and int(flavor_dict.get('vcpus')))
        if 'disk' in flavor_dict:
            flavor_dict['disk'] = (flavor_dict.get('disk')
                                   and int(flavor_dict.get('disk')))
        if 'rxtx_factor' in flavor_dict:
            flavor_dict['rxtx_factor'] = \
                (flavor_dict.get('rxtx_factor') and
                 float(flavor_dict.get('rxtx_factor')))
        if 'ram' in flavor_dict:
            flavor_dict['ram'] = (flavor_dict.get('ram')
                                  and int(flavor_dict.get('ram')))
        if 'swap' in flavor_dict:
            flavor_dict['swap'] = (flavor_dict.get('swap')
                                   and int(flavor_dict.get('swap')))
        if 'ephemeral' in flavor_dict:
            flavor_dict['ephemeral'] = (flavor_dict.get('ephemeral')
                                        and int(flavor_dict.get('ephemeral')))

        links = Links._xml_ele_to_obj(element)
        specs = element.find('extra_specs')
        extra_specs = (FlavorExtraSpecs._xml_ele_to_obj(specs)
                       if specs is not None else None)
        flavor = Flavor(id=flavor_dict.get('id'),
                        name=flavor_dict.get('name'),
                        ram=flavor_dict.get('ram'),
                        disk=flavor_dict.get('disk'),
                        vcpus=flavor_dict.get('vcpus'),
                        swap=flavor_dict.get('swap'),
                        rxtx_factor=flavor_dict.get('rxtx_factor'),
                        links=links,
                        ephemeral_disk=flavor_dict.get('ephemeral'),
                        extra_specs=extra_specs)
        return flavor
Exemple #36
0
    def _xml_ele_to_obj(cls, element):
        '''Helper method to turn ElementTree instance to Server instance.'''
        server_dict = element.attrib

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        links = Links._xml_ele_to_obj(element)
        if element.find('addresses') is not None:
            addresses = Addresses._xml_ele_to_obj(element.find('addresses'))
        if element.find('flavor') is not None:
            flavor = Flavor._xml_ele_to_obj(element.find('flavor'))
        if element.find('image') is not None:
            image = Image._xml_ele_to_obj(element.find('image'))
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element)

        if 'progress' in server_dict:
            progress = server_dict.get('progress') \
                and int(server_dict.get('progress'))
        if 'tenantId' in server_dict:
            tenant_id = server_dict.get('tenantId')
        if 'userId' in server_dict:
            user_id = server_dict.get('userId')

        server = Server(server_dict['id'], server_dict['diskConfig'],
                        server_dict['power_state'], progress,
                        server_dict['task_state'],
                        server_dict['vm_state'],
                        server_dict['name'], tenant_id,
                        server_dict['status'], server_dict['updated'],
                        server_dict['created'], server_dict['hostId'],
                        user_id, server_dict['accessIPv4'],
                        server_dict['accessIPv6'], addresses, flavor,
                        image, links, metadata)
        return server
Exemple #37
0
    def _xml_ele_to_obj(cls, element):
        '''Helper method to turn ElementTree instance to Server instance.'''
        server = element.attrib

        addresses = None
        flavor = None
        image = None
        metadata = None
        links = Links._xml_ele_to_obj(element)

        if element.find('addresses') is not None:
            addresses = Addresses._xml_ele_to_obj(element.find('addresses'))
        if element.find('flavor') is not None:
            flavor = Flavor._xml_ele_to_obj(element.find('flavor'))
        if element.find('image') is not None:
            image = Image._xml_ele_to_obj(element.find('image'))
        if element.find('metadata') is not None:
            metadata = Metadata._xml_ele_to_obj(element)

        if 'progress' in server:
            progress = server.get('progress') \
                and int(server.get('progress'))
        else:
            progress = None

        server = Server(
            id=server.get('id'), disk_config=server.get('diskConfig'),
            power_state=server.get('power_state'), progress=progress,
            task_state=server.get('task_state'),
            vm_state=server.get('vm_state'), name=server.get('name'),
            tenant_id=server.get('tenant_id'), status=server.get('status'),
            updated=server.get('updated'), created=server.get('created'),
            host_id=server.get('hostId'), user_id=server.get('user_id'),
            accessIPv4=server.get('accessIPv4'),
            accessIPv6=server.get('accessIPv6'), addresses=addresses,
            flavor=flavor, image=image, links=links, metadata=metadata,
            admin_pass=server.get('adminPass'))

        return server
Exemple #38
0
    def _dict_to_obj(cls, server_dict):
        '''Helper method to turn dictionary into Server instance.'''

        addresses = None
        flavor = None
        image = None
        links = None
        metadata = None

        if 'links' in server_dict:
            links = Links._dict_to_obj(server_dict['links'])
        if 'addresses' in server_dict:
            addresses = Addresses._dict_to_obj(server_dict['addresses'])
        if 'flavor' in server_dict:
            flavor = FlavorMin._dict_to_obj(server_dict['flavor'])
        if 'image' in server_dict:
            image = ImageMin._dict_to_obj(server_dict['image'])
        if 'metadata' in server_dict:
            metadata = Metadata._dict_to_obj(server_dict['metadata'])

        server = Server(
            server_dict['id'], server_dict.get('OS-DCF:diskConfig'),
            server_dict.get('OS-EXT-STS:power_state'),
            server_dict.get('progress', 0),
            server_dict.get('OS-EXT-STS:task_state'),
            server_dict.get('OS-EXT-STS:vm_state'),
            server_dict.get('name'), server_dict.get('tenant_id'),
            server_dict.get('status'), server_dict.get('updated'),
            server_dict.get('created'), server_dict.get('hostId'),
            server_dict.get('user_id'), server_dict.get('accessIPv4'),
            server_dict.get('accessIPv6'), addresses, flavor,
            image, links, metadata, server_dict.get('adminPass'))

        for each in server_dict:
            if each.startswith("{"):
                newkey = re.split("}", each)[1]
                setattr(server, newkey, server_dict[each])
        return server
Exemple #39
0
    def _xml_ele_to_obj(cls, element):
        flavor_dict = element.attrib

        # XML data types differ from JSON, so we normalize here
        if 'vcpus' in flavor_dict:
            flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and
                                    int(flavor_dict.get('vcpus')))
        if 'disk' in flavor_dict:
            flavor_dict['disk'] = (flavor_dict.get('disk') and
                                   int(flavor_dict.get('disk')))
        if 'rxtx_factor' in flavor_dict:
            flavor_dict['rxtx_factor'] = \
                (flavor_dict.get('rxtx_factor') and
                 float(flavor_dict.get('rxtx_factor')))
        if 'ram' in flavor_dict:
            flavor_dict['ram'] = (flavor_dict.get('ram')
                                  and int(flavor_dict.get('ram')))
        if 'swap' in flavor_dict:
            flavor_dict['swap'] = (flavor_dict.get('swap')
                                   and int(flavor_dict.get('swap')))
        if 'ephemeral' in flavor_dict:
            flavor_dict['ephemeral'] = (flavor_dict.get('ephemeral') and
                                        int(flavor_dict.get('ephemeral')))

        links = Links._xml_ele_to_obj(element)
        specs = element.find('extra_specs')
        extra_specs = (FlavorExtraSpecs._xml_ele_to_obj(specs)
                       if specs is not None else None)
        flavor = Flavor(
            id=flavor_dict.get('id'), name=flavor_dict.get('name'),
            ram=flavor_dict.get('ram'), disk=flavor_dict.get('disk'),
            vcpus=flavor_dict.get('vcpus'), swap=flavor_dict.get('swap'),
            rxtx_factor=flavor_dict.get('rxtx_factor'), links=links,
            ephemeral_disk=flavor_dict.get('ephemeral'),
            extra_specs=extra_specs)
        return flavor
Exemple #40
0
 def _dict_to_obj(cls, server_dict):
     links = Links._dict_to_obj(server_dict['links'])
     server = ServerMin(id=server_dict.get('id'),
                        name=server_dict.get('name'), links=links)
     return server
Exemple #41
0
 def _xml_ele_to_obj(cls, element):
     server_dict = element.attrib
     links = Links._xml_ele_to_obj(element)
     server = ServerMin(id=server_dict.get('id'),
                        name=server_dict.get('name'), links=links)
     return server
Exemple #42
0
 def _dict_to_obj(cls, server_dict):
     links = Links._dict_to_obj(server_dict["links"])
     server = ServerMin(id=server_dict.get("id"), name=server_dict.get("name"), links=links)
     return server
Exemple #43
0
 def _dict_to_obj(cls, flavor_dict):
     """Helper method to turn dictionary into Server instance."""
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'))
     flavor_min.links = Links._dict_to_obj(flavor_dict['links'])
     return flavor_min
Exemple #44
0
 def _dict_to_obj(cls, flavor_dict):
     """Helper method to turn dictionary into Server instance."""
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'))
     flavor_min.links = Links._dict_to_obj(flavor_dict['links'])
     return flavor_min
Exemple #45
0
 def _dict_to_obj(cls, flavor_dict):
     links = Links._dict_to_obj(flavor_dict['links'])
     flavor_min = FlavorMin(id=flavor_dict.get('id'),
                            name=flavor_dict.get('name'),
                            links=links)
     return flavor_min
Exemple #46
0
 def _dict_to_obj(cls, json_dict):
     image_min = ImageMin(**json_dict)
     if 'links' in json_dict:
         image_min.links = Links(image_min.links)
     return image_min