def __init__(self, vm_spec):
    """Initialize a CloudStack virtual machine.

    Args:
      vm_spec: virtual_machine.BaseVirtualMachineSpec object of the vm.
    """
    super(CloudStackVirtualMachine, self).__init__(vm_spec)
    self.network = cloudstack_network.CloudStackNetwork.GetNetwork(self)

    self.cs = util.CsClient(FLAGS.CS_API_URL,
                            FLAGS.CS_API_KEY,
                            FLAGS.CS_API_SECRET)

    self.project_id = None
    if FLAGS.project:
        project = self.cs.get_project(FLAGS.project)
        assert project, "Project not found"
        self.project_id = project['id']

    zone = self.cs.get_zone(self.zone)
    assert zone, "Zone not found"

    self.zone_id = zone['id']
    self.user_name = self.DEFAULT_USER_NAME
    self.image = self.image or self.DEFAULT_IMAGE
    self.disk_counter = 0
    def __init__(self, spec):

        super(CloudStackNetwork, self).__init__(spec)

        self.cs = util.CsClient(FLAGS.CS_API_URL, FLAGS.CS_API_KEY,
                                FLAGS.CS_API_SECRET)

        self.project_id = None
        self.network_id = None
Пример #3
0
    def __init__(self, disk_spec, name, zone_id, project_id=None):
        super(CloudStackDisk, self).__init__(disk_spec)

        self.cs = util.CsClient(FLAGS.CS_API_URL, FLAGS.CS_API_KEY,
                                FLAGS.CS_API_SECRET)

        self.attached_vm_name = None
        self.attached_vm_id = None
        self.name = name

        self.zone_id = zone_id
        self.project_id = project_id

        self.disk_offering_id = self._GetBestOfferingId(self.disk_size)
        assert self.disk_offering_id, "Unable get disk offering of given size"

        if disk_spec.disk_type:
            logging.warn("Cloudstack does not support disk types")