Kaynağa Gözat

Add OpenStack Neutron dependency/field

Enis Afgan 10 yıl önce
ebeveyn
işleme
d1f0cc00e3
2 değiştirilmiş dosya ile 11 ekleme ve 1 silme
  1. 10 0
      cloudbridge/cloud/providers/openstack/impl.py
  2. 1 1
      setup.py

+ 10 - 0
cloudbridge/cloud/providers/openstack/impl.py

@@ -9,6 +9,7 @@ from cinderclient import client as cinder_client
 from keystoneclient import client as keystone_client
 from keystoneclient import session
 from keystoneclient.auth.identity import Password
+from neutronclient.v2_0 import client as neutron_client
 from novaclient import client as nova_client
 from swiftclient import client as swift_client
 
@@ -40,6 +41,7 @@ class OpenStackCloudProvider(BaseCloudProvider):
         self.keystone = self._connect_keystone()
         self.cinder = self._connect_cinder()
         self.swift = self._connect_swift()
+        self.neutron = self._connect_neutron()
 
         self._compute = OpenStackComputeService(self)
         self._security = OpenStackSecurityService(self)
@@ -124,3 +126,11 @@ class OpenStackCloudProvider(BaseCloudProvider):
             authurl=self.auth_url, auth_version='2', user=self.username,
             key=self.password, tenant_name=self.tenant_name,
             os_options=os_options)
+
+    def _connect_neutron(self):
+        """
+        Get an OpenStack Neutron (networking) client object for the given cloud.
+        """
+        return neutron_client.Client(
+            username=self.username, password=self.password,
+            tenant_name=self.tenant_name, auth_url=self.auth_url)

+ 1 - 1
setup.py

@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
 base_reqs = ['bunch>=1.00', 'six>=1.9.0', 'retrying', 'enum34']
 openstack_reqs = ['python-keystoneclient',
                   'python-novaclient', 'python-cinderclient',
-                  'python-swiftclient']
+                  'python-swiftclient', 'python-neutronclient']
 aws_reqs = ['boto']
 full_reqs = base_reqs + aws_reqs + openstack_reqs
 dev_reqs = ['tox'] + full_reqs