Пример #1
0
    def __init__(self):
        Platform.__init__(self)
        self.compute_svc_mgr = GoogleServiceManager(
                self, 'compute', 'v1beta14', COMPUTE_RW_SCOPE, STORAGE_FULL_SCOPE)

        self.storage_svs_mgr = GoogleServiceManager(
                self, 'storage', 'v1beta1', STORAGE_FULL_SCOPE)
Пример #2
0
	def set_access_data(self, access_data):
		Platform.set_access_data(self, access_data)
		os.environ['CLOUD_SERVERS_USERNAME'] = self.get_access_data("username").encode("ascii")
		os.environ['CLOUD_SERVERS_API_KEY'] = self.get_access_data("api_key").encode("ascii")
		if 'auth_host' in self._access_data:
			globals()['auth_url'] = 'https://%s/v1.0' % self._access_data['auth_host']
			CloudServersClient.AUTH_URL = auth_url
Пример #3
0
 def __init__(self):
     Platform.__init__(self)
     self.compute_svc_mgr = GoogleServiceManager(
         self, 'compute', self.compute_api_version,
         *(COMPUTE_RW_SCOPE + STORAGE_FULL_SCOPE))
     self.storage_svs_mgr = GoogleServiceManager(self, 'storage', 'v1beta2',
                                                 *STORAGE_FULL_SCOPE)
Пример #4
0
    def __init__(self):
        Platform.__init__(self)
        self.compute_svc_mgr = GoogleServiceManager(self, 'compute',
                                                    'v1beta14',
                                                    COMPUTE_RW_SCOPE,
                                                    STORAGE_FULL_SCOPE)

        self.storage_svs_mgr = GoogleServiceManager(self, 'storage', 'v1beta1',
                                                    STORAGE_FULL_SCOPE)
Пример #5
0
 def set_access_data(self, access_data):
     Platform.set_access_data(self, access_data)
     os.environ['CLOUD_SERVERS_USERNAME'] = self.get_access_data(
         "username").encode("ascii")
     os.environ['CLOUD_SERVERS_API_KEY'] = self.get_access_data(
         "api_key").encode("ascii")
     if 'auth_host' in self._access_data:
         globals(
         )['auth_url'] = 'https://%s/v1.0' % self._access_data['auth_host']
         CloudServersClient.AUTH_URL = auth_url
Пример #6
0
	def __init__(self):
		Platform.__init__(self)
		
		# Find the virtual router.
		eth0leases = util.firstmatched(lambda x: os.path.exists(x), 
									['/var/lib/dhcp/dhclient.eth0.leases',
									'/var/lib/dhcp3/dhclient.eth0.leases',
									'/var/lib/dhclient/dhclient-eth0.leases'],
									'/var/lib/dhclient/dhclient-eth0.leases') 
		if not os.path.exists(eth0leases):
			raise PlatformError("Can't find virtual router. file %s not exists" % eth0leases)
		
		router = None
		for line in open(eth0leases):
			if 'dhcp-server-identifier' in line:
				router = filter(None, line.split(';')[0].split(' '))[2]
		LOG.debug('Meta-data server: %s', router)
		self._router = router
	
		self._metadata = {}
Пример #7
0
    def __init__(self):
        Platform.__init__(self)

        # Find the virtual router.
        eth0leases = util.firstmatched(lambda x: os.path.exists(x),
                                                                ['/var/lib/dhcp/dhclient.eth0.leases',
                                                                '/var/lib/dhcp3/dhclient.eth0.leases',
                                                                '/var/lib/dhclient/dhclient-eth0.leases'],
                                                                '/var/lib/dhclient/dhclient-eth0.leases')
        if not os.path.exists(eth0leases):
            raise PlatformError("Can't find virtual router. file %s not exists" % eth0leases)

        router = None
        for line in open(eth0leases):
            if 'dhcp-server-identifier' in line:
                router = filter(None, line.split(';')[0].split(' '))[2]
        LOG.debug('Meta-data server: %s', router)
        self._router = router

        self._metadata = {}
Пример #8
0
class CloudStackPlatform(Platform):
    name = 'cloudstack'

    features = [PlatformFeatures.SNAPSHOTS, PlatformFeatures.VOLUMES]
    _dhcp_leases_mtime = None
    _dhcp_leases_path = None
    _router_addr = None

    def __init__(self):
        Platform.__init__(self)
        self._metadata = {}
        self._conn_pool = LocalPool(_create_connection)
        self.refresh_virtual_router_addr()

    def refresh_virtual_router_addr(self):
        leases_pattern = '/var/lib/dhc*/dhclient*.lease*'
        if not self._dhcp_leases_path:
            LOG.debug('Lookuping DHCP leases file')
            try:
                self._dhcp_leases_path = glob.glob(leases_pattern)[0]
            except IndexError:
                raise PlatformError("Can't find virtual router. No file matching pattern: %s", leases_pattern)
        if os.stat(self._dhcp_leases_path).st_mtime == self._dhcp_leases_mtime:
            return

        LOG.debug('Lookuping meta-data server address')
        for line in open(self._dhcp_leases_path):
            if 'dhcp-server-identifier' in line:
                self._router_addr = filter(None, line.split(';')[0].split(' '))[2]
        LOG.debug('Meta-data server: %s', self._router_addr)
        self._dhcp_leases_mtime = os.stat(self._dhcp_leases_path).st_mtime

    def get_private_ip(self):
        return self.get_meta_data('local-ipv4')

    def get_public_ip(self):
        return self.get_meta_data('public-ipv4')

    def get_user_data(self, key=None):
        if self._userdata is None:
            try:
                self._userdata = self._parse_user_data(self.get_meta_data('user-data'))
            except PlatformError, e:
                if 'HTTP Error 404' in e:
                    self._userdata = {}
                else:
                    raise
        return Platform.get_user_data(self, key)
Пример #9
0
class CloudStackPlatform(Platform):
    name = 'cloudstack'

    features = [PlatformFeatures.SNAPSHOTS, PlatformFeatures.VOLUMES]

    def __init__(self):
        Platform.__init__(self)

        # Find the virtual router.
        eth0leases = util.firstmatched(lambda x: os.path.exists(x),
                                                                ['/var/lib/dhcp/dhclient.eth0.leases',
                                                                '/var/lib/dhcp3/dhclient.eth0.leases',
                                                                '/var/lib/dhclient/dhclient-eth0.leases'],
                                                                '/var/lib/dhclient/dhclient-eth0.leases')
        if not os.path.exists(eth0leases):
            raise PlatformError("Can't find virtual router. file %s not exists" % eth0leases)

        router = None
        for line in open(eth0leases):
            if 'dhcp-server-identifier' in line:
                router = filter(None, line.split(';')[0].split(' '))[2]
        LOG.debug('Meta-data server: %s', router)
        self._router = router

        self._metadata = {}


    def get_private_ip(self):
        return self.get_meta_data('local-ipv4')


    def get_public_ip(self):
        return self.get_meta_data('public-ipv4')


    def get_user_data(self, key=None):
        if self._userdata is None:
            try:
                self._userdata = self._parse_user_data(self.get_meta_data('user-data'))
            except PlatformError, e:
                if 'HTTP Error 404' in e:
                    self._userdata = {}
                else:
                    raise
        return Platform.get_user_data(self, key)
Пример #10
0
 def __init__(self):
     Platform.__init__(self)
     self._metadata = {}
     self._conn_pool = LocalPool(_create_connection)
     self.refresh_virtual_router_addr()
Пример #11
0
	def __init__(self):
		Platform.__init__(self)
		self._logger = logging.getLogger(__name__)
Пример #12
0
 def __init__(self):
     Platform.__init__(self)
     self._metadata = {}
     self._conn_pool = LocalPool(_create_connection)
     self.refresh_virtual_router_addr()
Пример #13
0
 def __init__(self):
     Platform.__init__(self)
     self.compute_svc_mgr = GoogleServiceManager(
             self, 'compute', self.compute_api_version, *(COMPUTE_RW_SCOPE + STORAGE_FULL_SCOPE))
     self.storage_svs_mgr = GoogleServiceManager(
             self, 'storage', 'v1beta1', *STORAGE_FULL_SCOPE)
Пример #14
0
 def __init__(self):
     Platform.__init__(self)
     self._logger = logging.getLogger(__name__)
     # Work over [Errno -3] Temporary failure in name resolution
     # http://bugs.centos.org/view.php?id=4814
     os.chmod('/etc/resolv.conf', 0755)
Пример #15
0
 def __init__(self):
     Platform.__init__(self)
     self._logger = logging.getLogger(__name__)
     # Work over [Errno -3] Temporary failure in name resolution
     # http://bugs.centos.org/view.php?id=4814
     os.chmod('/etc/resolv.conf', 0755)