Beispiel #1
0
def handle_unknown_flavor(flavor_name):
    flavor = openstack.get_nova_flavor(name=flavor_name)
    service = Service.create_vm(
        {'en': 'Public Flavor %s' % flavor_name, 'ru': 'Публичный Флавор %s' % flavor_name},
        flavor_info={'flavor_id': flavor_name, 'vcpus': flavor.vcpus, 'ram': flavor.ram, 'disk': flavor.disk,
                     'network': 0},
        mutable=False
    )
    flavor_id = service.service_id

    return flavor_id
Beispiel #2
0
    def new_vm(self, flavor_id, vcpus, ram, disk, localized_name, network=None, description=None):
        """
        Add new flavor service.

        Parameters must be sent as json object.

        :param LocalizedName localized_name: Dict with name localization. en is mandatory key
                ``{"en": "Name", "ru": "\u0418\u043c\u044f"}``
        :param LocalizedName description: Dict with localized description. (Not mandatory)
        :param flavor_id: Flavor name
        :param vcpus: Number of flavor's vcpus
        :param ram: flavor's RAM amount
        :param disk: flavor's disk size
        :param network: flavor's network

        **Example**::

            {"service_info":
                {
                    "mutable": true,
                    "localized_name": {
                        "ru": "\u0424\u043b\u0430\u0432\u043e\u0440 TestFlavor",
                        "en": "Flavor TestFlavor"
                    },
                    "deleted": null,
                    "measure": {
                        "localized_name": {
                            "ru": "\u0447\u0430\u0441",
                            "en": "hour"
                        },
                        "measure_type": "time",
                        "measure_id": "hour"
                    },
                    "category": {
                        "localized_name": {
                            "ru": "\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b",
                            "en": "Virtual server"
                        },
                        "category_id": "vm"
                    },
                    "service_id": 1,
                    "description": {}
                }
            }

        """
        flavor_info = dict(flavor_id=flavor_id, vcpus=vcpus, ram=ram, disk=disk, network=network)
        mutable = True
        if self.check_flavor_existence(flavor_info):
            mutable = False
        flavor = Service.create_vm(localized_name, description, flavor_info, mutable)
        return {"service_info": display(flavor)}
Beispiel #3
0
def handle_unknown_flavor(flavor_name):
    flavor = openstack.get_nova_flavor(name=flavor_name)
    service = Service.create_vm(
        {
            'en': 'Public Flavor %s' % flavor_name,
            'ru': 'Публичный Флавор %s' % flavor_name
        },
        flavor_info={
            'flavor_id': flavor_name,
            'vcpus': flavor.vcpus,
            'ram': flavor.ram,
            'disk': flavor.disk,
            'network': 0
        },
        mutable=False)
    flavor_id = service.service_id

    return flavor_id
Beispiel #4
0
 def create_flavor(self, params=None):
     service = Service.create_vm(**params)
     service.mark_immutable()
     return service
Beispiel #5
0
    def new_vm(self,
               flavor_id,
               vcpus,
               ram,
               disk,
               localized_name,
               network=None,
               description=None):
        """
        Add new flavor service.

        Parameters must be sent as json object.

        :param LocalizedName localized_name: Dict with name localization. en is mandatory key
                ``{"en": "Name", "ru": "\u0418\u043c\u044f"}``
        :param LocalizedName description: Dict with localized description. (Not mandatory)
        :param flavor_id: Flavor name
        :param vcpus: Number of flavor's vcpus
        :param ram: flavor's RAM amount
        :param disk: flavor's disk size
        :param network: flavor's network

        **Example**::

            {"service_info":
                {
                    "mutable": true,
                    "localized_name": {
                        "ru": "\u0424\u043b\u0430\u0432\u043e\u0440 TestFlavor",
                        "en": "Flavor TestFlavor"
                    },
                    "deleted": null,
                    "measure": {
                        "localized_name": {
                            "ru": "\u0447\u0430\u0441",
                            "en": "hour"
                        },
                        "measure_type": "time",
                        "measure_id": "hour"
                    },
                    "category": {
                        "localized_name": {
                            "ru": "\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b",
                            "en": "Virtual server"
                        },
                        "category_id": "vm"
                    },
                    "service_id": 1,
                    "description": {}
                }
            }

        """
        flavor_info = dict(flavor_id=flavor_id,
                           vcpus=vcpus,
                           ram=ram,
                           disk=disk,
                           network=network)
        mutable = True
        if self.check_flavor_existence(flavor_info):
            mutable = False
        flavor = Service.create_vm(localized_name, description, flavor_info,
                                   mutable)
        return {"service_info": display(flavor)}