コード例 #1
0
ファイル: views.py プロジェクト: xiaohongshu/trove
 def _build_instances(self,
                      ip_to_be_published_for=[],
                      instance_dict_to_be_published_for=[]):
     instances = []
     ip_list = []
     if self.load_servers:
         cluster_instances = self.cluster.instances
     else:
         cluster_instances = self.cluster.instances_without_server
     for instance in cluster_instances:
         instance_dict = {
             "id": instance.id,
             "name": instance.name,
             "type": instance.type,
             "links": create_links("instances", self.req, instance.id)
         }
         if instance.shard_id:
             instance_dict["shard_id"] = instance.shard_id
         if self.load_servers:
             instance_dict["status"] = instance.status
             if CONF.get(instance.datastore_version.manager).volume_support:
                 instance_dict["volume"] = {"size": instance.volume_size}
             instance_dict["flavor"] = self._build_flavor_info(
                 instance.flavor_id)
         instance_ips = instance.get_visible_ip_addresses()
         if self.load_servers and instance_ips:
             instance_dict["ip"] = instance_ips
             if instance.type in ip_to_be_published_for:
                 ip_list.append(instance_ips[0])
         if instance.type in instance_dict_to_be_published_for:
             instances.append(instance_dict)
     ip_list.sort()
     return instances, ip_list
コード例 #2
0
ファイル: api.py プロジェクト: ShaguftaMethwani/trove
 def build_instances(self):
     instances = []
     ip_list = []
     if self.load_servers:
         cluster_instances = self.cluster.instances
     else:
         cluster_instances = self.cluster.instances_without_server
     for instance in cluster_instances:
         instance_dict = {
             "id": instance.id,
             "name": instance.name,
             "type": instance.type,
             "links": create_links("instances", self.req, instance.id)
         }
         instance_ips = instance.get_visible_ip_addresses()
         if self.load_servers and instance_ips:
             instance_dict["ip"] = instance_ips
             if instance.type == 'query_router':
                 ip_list.append(instance_ips[0])
         if instance.shard_id:
             instance_dict["shard_id"] = instance.shard_id
         if self.load_servers:
             instance_dict["status"] = instance.status
             if CONF.get(instance.datastore_version.manager).volume_support:
                 instance_dict["volume"] = {"size": instance.volume_size}
             instance_dict["flavor"] = self._build_flavor_info(
                 instance.flavor_id)
         instances.append(instance_dict)
     ip_list.sort()
     return instances, ip_list
コード例 #3
0
 def _build_configuration_info(self):
     return {
         "id": self.instance.configuration.id,
         "name": self.instance.configuration.name,
         "links": create_links("configurations", self.req,
                               self.instance.configuration.id)
     }
コード例 #4
0
ファイル: views.py プロジェクト: Tesora/tesora-trove
 def _build_instances(self, ip_to_be_published_for=[],
                      instance_dict_to_be_published_for=[]):
     instances = []
     ip_list = []
     if self.load_servers:
         cluster_instances = self.cluster.instances
     else:
         cluster_instances = self.cluster.instances_without_server
     for instance in cluster_instances:
         instance_dict = {
             "id": instance.id,
             "name": instance.name,
             "type": instance.type,
             "links": create_links("instances", self.req, instance.id)
         }
         if instance.shard_id:
             instance_dict["shard_id"] = instance.shard_id
         if self.load_servers:
             instance_dict["status"] = instance.status
             if CONF.get(instance.datastore_version.manager).volume_support:
                 instance_dict["volume"] = {"size": instance.volume_size}
             instance_dict["flavor"] = self._build_flavor_info(
                 instance.flavor_id)
         instance_ips = instance.get_visible_ip_addresses()
         instance_types = instance.type.split(',')
         if self.load_servers and instance_ips:
             instance_dict["ip"] = instance_ips
             if any(t in instance_types for t in ip_to_be_published_for):
                 ip_list.extend(instance_ips)
         if any(t in instance_types
                for t in instance_dict_to_be_published_for):
             instances.append(instance_dict)
     ip_list.sort()
     return instances, ip_list
コード例 #5
0
ファイル: api.py プロジェクト: flg77/trove
 def build_instances(self):
     instances = []
     ip_list = []
     if self.load_servers:
         cluster_instances = self.cluster.instances
     else:
         cluster_instances = self.cluster.instances_without_server
     for instance in cluster_instances:
         if self.load_servers and instance.type == 'query_router':
             ip = instance.get_visible_ip_addresses()
             if ip:
                 ip_list.append(ip[0])
         if instance.type != 'member':
             continue
         instance_dict = {
             "id": instance.id,
             "name": instance.name,
             "links": create_links("instances", self.req, instance.id)
         }
         if instance.shard_id:
             instance_dict["shard_id"] = instance.shard_id
         if self.load_servers:
             instance_dict["status"] = instance.status
             if CONF.get(instance.datastore_version.manager).volume_support:
                 instance_dict["volume"] = {"size": instance.volume_size}
             instance_dict["flavor"] = self._build_flavor_info(
                 instance.flavor_id)
         instances.append(instance_dict)
     ip_list.sort()
     return instances, ip_list
コード例 #6
0
ファイル: views.py プロジェクト: bodenr/trove
 def _build_configuration_info(self):
     return {
         "id": self.instance.configuration.id,
         "name": self.instance.configuration.name,
         "links": create_links("configurations", self.req,
                               self.instance.configuration.id)
     }
コード例 #7
0
 def _build_slaves_info(self):
     data = []
     for slave in self.instance.slaves:
         data.append({
             "id": slave.id,
             "links": create_links("instances", self.req, slave.id)
         })
     return data
コード例 #8
0
ファイル: views.py プロジェクト: cdelatte/tesora-trove
 def _build_slaves_info(self):
     data = []
     for slave in self.instance.slaves:
         data.append({
             "id": slave.id,
             "links": create_links("instances", self.req, slave.id)
         })
     return data
コード例 #9
0
 def _build_links(self):
     return create_links("instances", self.req, self.instance.id)
コード例 #10
0
 def _build_master_info(self):
     return {
         "id": self.instance.slave_of_id,
         "links": create_links("instances", self.req,
                               self.instance.slave_of_id)
     }
コード例 #11
0
ファイル: views.py プロジェクト: bodenr/trove
 def _build_flavor_links(self):
     return create_links("flavors", self.req,
                         self.instance.flavor_id)
コード例 #12
0
ファイル: views.py プロジェクト: bodenr/trove
 def _build_links(self):
     return create_links("instances", self.req, self.instance.id)
コード例 #13
0
ファイル: views.py プロジェクト: AlexeyDeyneko/trove
 def _build_links(self):
     return create_links("datastores/versions",
                         self.req, self.datastore_version.id)
コード例 #14
0
ファイル: views.py プロジェクト: xiaohongshu/trove
 def _build_links(self):
     return create_links("clusters", self.req, self.cluster.id)
コード例 #15
0
ファイル: views.py プロジェクト: Tesora/tesora-trove
 def _build_flavor_info(self, flavor_id):
     return {
         "id": flavor_id,
         "links": create_links("flavors", self.req, flavor_id)
     }
コード例 #16
0
ファイル: views.py プロジェクト: zhujzhuo/trove-1.0.10.4
 def _build_links(self):
     return create_links("flavors", self.req, self.flavor.id)
コード例 #17
0
ファイル: views.py プロジェクト: 2020human/trove-new
 def _build_links(self):
     return create_links("flavors", self.req, self.flavor.id)
コード例 #18
0
ファイル: views.py プロジェクト: cdelatte/tesora-trove
 def _build_master_info(self):
     return {
         "id": self.instance.slave_of_id,
         "links": create_links("instances", self.req,
                               self.instance.slave_of_id)
     }
コード例 #19
0
 def _build_flavor_links(self):
     return create_links("flavors", self.req, self.instance.flavor_id)
コード例 #20
0
ファイル: views.py プロジェクト: qingyufei/trove
 def _build_links(self):
     return create_links("datastores/versions", self.req,
                         self.datastore_version.id)
コード例 #21
0
ファイル: views.py プロジェクト: xiaohongshu/trove
 def _build_flavor_info(self, flavor_id):
     return {
         "id": flavor_id,
         "links": create_links("flavors", self.req, flavor_id)
     }
コード例 #22
0
ファイル: views.py プロジェクト: AlexeyDeyneko/trove
 def _build_links(self):
     return create_links("datastores", self.req,
                         self.datastore.id)
コード例 #23
0
ファイル: views.py プロジェクト: Tesora/tesora-trove
 def _build_links(self):
     return create_links("clusters", self.req, self.cluster.id)
コード例 #24
0
ファイル: views.py プロジェクト: qingyufei/trove
 def _build_links(self):
     return create_links("datastores", self.req, self.datastore.id)