Beispiel #1
0
	def STORAGE_VOLUMES( server, request ):
		'''List all volumes in a pool.'''
		if not isinstance( request.uri, basestring ):
			raise CommandError( 'STORAGE_VOLUMES' , _( 'uri != string: %(uri)s' ), uri = request.uri )
		logger.debug('STORAGE_VOLUMES %s]' % request.uri )
		try:
			node_stat = node.node_query(request.uri)
			volumes = storage.get_storage_volumes(node_stat, request.pool, request.type)
			res = protocol.Response_DUMP()
			res.data = volumes
			return res
		except node.NodeError, e:
			raise CommandError( 'STORAGE_VOLUMES', e )
Beispiel #2
0
	def STORAGE_POOLS(server, request):
		"""List all pools."""
		if not isinstance(request.uri, basestring):
			raise CommandError('STORAGE_POOLS', _('uri != string: %(uri)s'), uri=request.uri)
		logger.debug('STORAGE_POOLS %s' % (request.uri,))
		try:
			node_stat = node.node_query(request.uri)
			pools = storage.storage_pools(node_stat)
			res = protocol.Response_DUMP()
			res.data = pools
			return res
		except node.NodeError, e:
			raise CommandError('STORAGE_POOLS', e)
Beispiel #3
0
 def STORAGE_POOLS(server, request):
     """List all pools."""
     if not isinstance(request.uri, basestring):
         raise CommandError('STORAGE_POOLS',
                            _('uri != string: %(uri)s'),
                            uri=request.uri)
     logger.debug('STORAGE_POOLS %s' % (request.uri, ))
     try:
         node_stat = node.node_query(request.uri)
         pools = storage.storage_pools(node_stat)
         res = protocol.Response_DUMP()
         res.data = pools
         return res
     except node.NodeError as e:
         raise CommandError('STORAGE_POOLS', e)
Beispiel #4
0
	def STORAGE_VOLUMES_DESTROY( server, request ):
		'''destroy all given volumes in a pool.'''
		if not isinstance( request.uri, basestring ):
			raise CommandError( 'STORAGE_VOLUMES_DESTROY' , _( 'uri != string: %(uri)s' ), uri = request.uri )
		for vol in request.volumes:
			if not isinstance( vol, basestring ):
				raise CommandError( 'STORAGE_VOLUMES_DESTROY', _('volumes[] != string: %(volume)s'), volume = vol )
		logger.debug('STORAGE_VOLUMES_DESTROY %s]' % request.uri )
		try:
			n = node.node_query( request.uri )
			storage.destroy_storage_volumes( n.conn, request.volumes, ignore_error = True )
			res = protocol.Response_OK()
			return res
		except node.NodeError, e:
			raise CommandError( 'STORAGE_VOLUMES_DESTROY', e )
Beispiel #5
0
 def STORAGE_VOLUMES(server, request):
     '''List all volumes in a pool.'''
     if not isinstance(request.uri, basestring):
         raise CommandError('STORAGE_VOLUMES',
                            _('uri != string: %(uri)s'),
                            uri=request.uri)
     logger.debug('STORAGE_VOLUMES %s]' % request.uri)
     try:
         node_stat = node.node_query(request.uri)
         volumes = storage.get_storage_volumes(node_stat, request.pool,
                                               request.type)
         res = protocol.Response_DUMP()
         res.data = volumes
         return res
     except node.NodeError, e:
         raise CommandError('STORAGE_VOLUMES', e)
Beispiel #6
0
	def NODE_QUERY(server, request):
		"""Get domain and storage-pool information from node."""
		if not isinstance(request.uri, basestring):
			raise CommandError('NODE_QUERY', _('uri != string: %(uri)s'), uri=request.uri)
		logger.debug('NODE_QUERY %s' % (request.uri,))

		try:
			local_data = node.node_query(request.uri)
			if local_data is None:
				raise CommandError('NODE_QUERY', _('unknown node %(uri)s'), uri=request.uri)

			pkg_data = copy.copy(local_data.pd)
			pkg_data.domains = [d.pd for d in local_data.domains.values()]

			res = protocol.Response_DUMP()
			res.data = pkg_data
			return res
		except node.NodeError, e:
			raise CommandError('NODE_QUERY', e)
Beispiel #7
0
 def STORAGE_VOLUMES_DESTROY(server, request):
     '''destroy all given volumes in a pool.'''
     if not isinstance(request.uri, basestring):
         raise CommandError('STORAGE_VOLUMES_DESTROY',
                            _('uri != string: %(uri)s'),
                            uri=request.uri)
     for vol in request.volumes:
         if not isinstance(vol, basestring):
             raise CommandError('STORAGE_VOLUMES_DESTROY',
                                _('volumes[] != string: %(volume)s'),
                                volume=vol)
     logger.debug('STORAGE_VOLUMES_DESTROY %s]' % request.uri)
     try:
         n = node.node_query(request.uri)
         storage.destroy_storage_volumes(n.conn,
                                         request.volumes,
                                         ignore_error=True)
         res = protocol.Response_OK()
         return res
     except node.NodeError as e:
         raise CommandError('STORAGE_VOLUMES_DESTROY', e)
Beispiel #8
0
    def NODE_QUERY(server, request):
        """Get domain and storage-pool information from node."""
        if not isinstance(request.uri, basestring):
            raise CommandError('NODE_QUERY',
                               _('uri != string: %(uri)s'),
                               uri=request.uri)
        logger.debug('NODE_QUERY %s' % (request.uri, ))

        try:
            local_data = node.node_query(request.uri)
            if local_data is None:
                raise CommandError('NODE_QUERY',
                                   _('unknown node %(uri)s'),
                                   uri=request.uri)

            pkg_data = copy.copy(local_data.pd)
            pkg_data.domains = [d.pd for d in local_data.domains.values()]

            res = protocol.Response_DUMP()
            res.data = pkg_data
            return res
        except node.NodeError as e:
            raise CommandError('NODE_QUERY', e)