Exemplo n.º 1
0
    def get_end_point_ip(self, cluster_id):
        cluster_db = db().query(Cluster).get(cluster_id)
        ip = None
        if cluster_db.mode == 'ha':
            ip = self.assign_vip(cluster_db.id, "public")
        elif cluster_db.mode in ('singlenode', 'multinode'):
            controller = db().query(Node).filter_by(cluster_id=cluster_id,
                                                    role='controller').first()

            public_net = filter(lambda network: network['name'] == 'public',
                                controller.network_data)[0]

            if public_net.get('ip'):
                ip = public_net['ip'].split('/')[0]

        if not ip:
            raise errors.CanNotDetermineEndPointIP(
                u'Can not determine end point IP for cluster %s' %
                cluster_db.full_name)

        return ip
Exemplo n.º 2
0
    def get_end_point_ip(cls, cluster_id):
        cluster_db = objects.Cluster.get_by_uid(cluster_id)
        ip = None
        if cluster_db.is_ha_mode:
            ip = cls.assign_vip(cluster_db.id, "public")
        elif cluster_db.mode in ('singlenode', 'multinode'):
            controller = db().query(Node).filter_by(
                cluster_id=cluster_id).filter(
                    Node.role_list.any(name='controller')).first()

            public_net = filter(lambda network: network['name'] == 'public',
                                controller.network_data)[0]

            if public_net.get('ip'):
                ip = public_net['ip'].split('/')[0]

        if not ip:
            raise errors.CanNotDetermineEndPointIP(
                u'Can not determine end point IP for cluster %s' %
                cluster_db.full_name)

        return ip