def _get_cluster_network(self):
     vn_fq_name = vnc_kube_config.cluster_default_project_fq_name() +\
         [vnc_kube_config.cluster_default_network_name()]
     try:
         vn_obj = self._vnc_lib.virtual_network_read(fq_name=vn_fq_name)
     except NoIdError:
         return None
     return vn_obj
Beispiel #2
0
 def _provision_cluster(self):
     self._create_project('kube-system')
     proj_obj = self._create_project(\
         vnc_kube_config.cluster_default_project_name())
     cluster_network_vn_obj = self._create_cluster_network(\
         vnc_kube_config.cluster_default_network_name(), proj_obj)
     ip_fabric_fq_name = vnc_kube_config.cluster_ip_fabric_network_fq_name()
     try:
         ip_fabric_vn_obj = self.vnc_lib. \
             virtual_network_read(fq_name=ip_fabric_fq_name)
         self._create_attach_policy(proj_obj, ip_fabric_vn_obj, \
             cluster_network_vn_obj)
         self._create_attach_ip_fabric_security_group(ip_fabric_vn_obj)
     except NoIdError:
         # unit-test may not have ip-fabric-network
         pass
 def _get_network(self, ns_name):
     ns = self._get_namespace(ns_name)
     if ns.is_isolated():
         vn_fq_name = ns.get_network_fq_name()
     else:
         if self._default_vn_obj:
             return self._default_vn_obj
         proj_fq_name = vnc_kube_config.cluster_default_project_fq_name()
         vn_fq_name = proj_fq_name +\
             [vnc_kube_config.cluster_default_network_name()]
     try:
         vn_obj = self._vnc_lib.virtual_network_read(fq_name=vn_fq_name)
     except NoIdError:
         self._logger.error("%s - %s Not Found" %(self._name, vn_fq_name))
         return None
     if not ns.is_isolated():
         self._default_vn_obj = vn_obj
     return vn_obj
    def _get_network(self, pod_id, pod_namespace):
        """
        Get network corresponding to this namesapce.
        """
        vn_fq_name = None
        if self._is_pod_network_isolated(pod_namespace) == True:
            ns = self._get_namespace(pod_namespace)
            if ns:
                vn_fq_name = ns.get_network_fq_name()

        # If no network was found on the namesapce, default to the cluster
        # pod network.
        if not vn_fq_name:
            vn_fq_name = vnc_kube_config.cluster_default_project_fq_name() +\
                [vnc_kube_config.cluster_default_network_name()]

        vn_obj = self._vnc_lib.virtual_network_read(fq_name=vn_fq_name)
        return vn_obj
Beispiel #5
0
    def _get_network(self, pod_id, pod_namespace):
        """
        Get virtual network to be associated with the pod.
        The heuristics to determine which virtual network to use for the pod
        is as follows:
        if (virtual network is annotated in the pod config):
            Use virtual network configured on the pod.
        else if (virtual network if annotated in the pod's namespace):
            Use virtual network configured on the namespace.
        else if (pod is in a isolated namespace):
            Use the virtual network associated with isolated namespace.
        else:
            Use the pod virtual network associated with kubernetes cluster.
        """

        # Check for virtual-network configured on the pod.
        pod = PodKM.find_by_name_or_uuid(pod_id)
        vn_fq_name = pod.get_vn_fq_name()

        ns = self._get_namespace(pod_namespace)

        # Check of virtual network configured on the namespace.
        if not vn_fq_name:
            vn_fq_name = ns.get_annotated_network_fq_name()

        # If the pod's namespace is isolated, use the isolated virtual
        # network.
        if not vn_fq_name:
            if self._is_pod_network_isolated(pod_namespace) == True:
                vn_fq_name = ns.get_isolated_network_fq_name()

        # Finally, if no network was found, default to the cluster
        # pod network.
        if not vn_fq_name:
            vn_fq_name = vnc_kube_config.cluster_default_project_fq_name() +\
                [vnc_kube_config.cluster_default_network_name()]

        vn_obj = self._vnc_lib.virtual_network_read(fq_name=vn_fq_name)
        return vn_obj
 def _get_cluster_network(self):
     return VirtualNetworkKM.find_by_name_or_uuid(
         vnc_kube_config.cluster_default_network_name())
 def _provision_cluster(self):
     self._create_project('kube-system')
     proj_obj = self._create_project(\
         vnc_kube_config.cluster_default_project_name())
     self._create_cluster_network(\
         vnc_kube_config.cluster_default_network_name(), proj_obj)
 def _get_cluster_network(self):
     return VirtualNetworkKM.find_by_name_or_uuid(
         vnc_kube_config.cluster_default_network_name())
 def _provision_cluster(self):
     self._create_project('kube-system')
     proj_obj = self._create_project(\
         vnc_kube_config.cluster_default_project_name())
     self._create_cluster_network(\
         vnc_kube_config.cluster_default_network_name(), proj_obj)