def create_reservation(self, values): """Create reservation.""" reservation_values = { 'lease_id': values['lease_id'], 'resource_id': values['resource_id'], 'resource_type': values['resource_type'], 'status': 'pending' } db_api.reservation_create(reservation_values)
def create_reservation(self, values): """Create reservation.""" pool = rp.ReservationPool() pool_name = str(uuid.uuid4()) pool_instance = pool.create(name=pool_name) reservation_values = { 'id': pool_name, 'lease_id': values['lease_id'], 'resource_id': pool_instance.id, 'resource_type': values['resource_type'], 'status': 'pending', } reservation = db_api.reservation_create(reservation_values) count_range = str(values['min']) + '-' + str(values['max']) host_values = { 'reservation_id': reservation['id'], 'resource_properties': values['resource_properties'], 'hypervisor_properties': values['hypervisor_properties'], 'count_range': count_range, 'status': 'pending', } db_api.host_reservation_create(host_values) host_ids = self._matching_hosts( values['hypervisor_properties'], values['resource_properties'], count_range, values['start_date'], values['end_date'], ) if not host_ids: raise manager_ex.NotEnoughHostsAvailable() for host_id in host_ids: db_api.host_allocation_create({'compute_host_id': host_id, 'reservation_id': reservation['id']})
def create_reservation(self, values): """Create reservation.""" pool = rp.ReservationPool() pool_name = str(uuid.uuid4()) pool_instance = pool.create(name=pool_name) reservation_values = { 'id': pool_name, 'lease_id': values['lease_id'], 'resource_id': pool_instance.id, 'resource_type': values['resource_type'], 'status': 'pending', } reservation = db_api.reservation_create(reservation_values) min_host = values['min'] max_host = values['max'] if not min_host: raise manager_ex.MissingParameter(param="min") if not max_host: raise manager_ex.MissingParameter(param="max") try: min_host = int(str(min_host)) except ValueError: raise manager_ex.MalformedParameter(param="min") try: max_host = int(str(max_host)) except ValueError: raise manager_ex.MalformedParameter(param="max") count_range = str(values['min']) + '-' + str(values['max']) host_values = { 'reservation_id': reservation['id'], 'resource_properties': values['resource_properties'], 'hypervisor_properties': values['hypervisor_properties'], 'count_range': count_range, 'status': 'pending', } db_api.host_reservation_create(host_values) host_ids = self._matching_hosts( values['hypervisor_properties'], values['resource_properties'], count_range, values['start_date'], values['end_date'], ) if not host_ids: pool.delete(pool_name) raise manager_ex.NotEnoughHostsAvailable() for host_id in host_ids: db_api.host_allocation_create({'compute_host_id': host_id, 'reservation_id': reservation['id']})
def create_reservation(self, values): """Create reservation.""" pool = rp.ReservationPool() pool_name = str(uuid.uuid4()) pool_instance = pool.create(name=pool_name) reservation_values = { 'id': pool_name, 'lease_id': values['lease_id'], 'resource_id': pool_instance.id, 'resource_type': values['resource_type'], 'status': 'pending', } reservation = db_api.reservation_create(reservation_values) count_range = str(values['min']) + '-' + str(values['max']) host_values = { 'reservation_id': reservation['id'], 'resource_properties': values['resource_properties'], 'hypervisor_properties': values['hypervisor_properties'], 'count_range': count_range, 'status': 'pending', } db_api.host_reservation_create(host_values) host_ids = self._matching_hosts( values['hypervisor_properties'], values['resource_properties'], count_range, values['start_date'], values['end_date'], ) if not host_ids: raise manager_ex.NotEnoughHostsAvailable() for host_id in host_ids: db_api.host_allocation_create({ 'compute_host_id': host_id, 'reservation_id': reservation['id'] })