filtered-openstack-image.res 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. cloudbridge.test.test_image_service.CloudImageServiceTestCase
  2. Test output
  3. E.
  4. ======================================================================
  5. ERROR: test_create_and_list_image (cloudbridge.test.test_image_service.CloudImageServiceTestCase)
  6. ----------------------------------------------------------------------
  7. Traceback (most recent call last):
  8. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/cloud/base/middleware.py", line 45, in wrap_exception
  9. return next_handler.invoke(event_args, *args, **kwargs)
  10. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/pyeventsystem/events.py", line 110, in invoke
  11. result = self.callback(*args, **kwargs)
  12. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/line_profiler.py", line 115, in wrapper
  13. result = func(*args, **kwds)
  14. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/cloud/providers/openstack/services.py", line 868, in create
  15. nics=nics)
  16. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/novaclient/v2/servers.py", line 1327, in create
  17. return self._boot(response_key, *boot_args, **boot_kwargs)
  18. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/novaclient/v2/servers.py", line 776, in _boot
  19. return_raw=return_raw, **kwargs)
  20. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/novaclient/base.py", line 366, in _create
  21. resp, body = self.api.client.post(url, body=body)
  22. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/keystoneauth1/adapter.py", line 357, in post
  23. return self.request(url, 'POST', **kwargs)
  24. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/novaclient/client.py", line 83, in request
  25. raise exceptions.from_response(resp, body, url, method)
  26. novaclient.exceptions.BadRequest: Can not find requested image (HTTP 400) (Request-ID: req-2915ef94-96b5-4340-98ea-ad8cb17ab604)
  27. The above exception was the direct cause of the following exception:
  28. Traceback (most recent call last):
  29. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/test/helpers/__init__.py", line 41, in wrapper
  30. func(self, *args, **kwargs)
  31. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/test/test_image_service.py", line 95, in test_create_and_list_image
  32. self.provider, instance_label, subnet=subnet)
  33. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/test/helpers/__init__.py", line 207, in get_test_instance
  34. user_data=user_data)
  35. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/test/helpers/__init__.py", line 192, in create_test_instance
  36. user_data=user_data)
  37. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/pyeventsystem/middleware.py", line 74, in wrapper
  38. return dispatcher.dispatch(self, event, *args, **kwargs)
  39. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/pyeventsystem/events.py", line 218, in dispatch
  40. return handlers[0].invoke(event_args, *args, **kwargs)
  41. File "/Users/alex/Desktop/work/line/lib/python3.6/site-packages/pyeventsystem/events.py", line 78, in invoke
  42. result = self.callback(event_args, *args, **kwargs)
  43. File "/Users/alex/Desktop/work/cloudbridge/cloudbridge/cloud/base/middleware.py", line 55, in wrap_exception
  44. six.raise_from(cb_ex, e)
  45. File "<string>", line 3, in raise_from
  46. cloudbridge.cloud.interfaces.exceptions.CloudBridgeBaseException: CloudBridgeBaseException: Can not find requested image (HTTP 400) (Request-ID: req-2915ef94-96b5-4340-98ea-ad8cb17ab604) from exception type: <class 'novaclient.exceptions.BadRequest'>
  47. ----------------------------------------------------------------------
  48. Ran 2 tests in 7.575s
  49. FAILED (errors=1)
  50. Wrote profile results to run_single.py.lprof
  51. Timer unit: 1e-06 s
  52. Total time: 4.28762 s
  53. Function: create at line 787
  54. Line # Hits Time Per Hit % Time Line Contents
  55. ==============================================================
  56. 787 @dispatch(event="provider.compute.instances.create",
  57. 788 priority=BaseInstanceService.STANDARD_EVENT_PRIORITY)
  58. 789 @profile
  59. 790 def create(self, label, image, vm_type, subnet, zone,
  60. 791 key_pair=None, vm_firewalls=None, user_data=None,
  61. 792 launch_config=None, **kwargs):
  62. 793 1 11.0 11.0 0.0 OpenStackInstance.assert_valid_resource_label(label)
  63. 794 1 4.0 4.0 0.0 image_id = image.id if isinstance(image, MachineImage) else image
  64. 795 vm_size = vm_type.id if \
  65. 796 1 3.0 3.0 0.0 isinstance(vm_type, VMType) else \
  66. 797 1 7.0 7.0 0.0 self.provider.compute.vm_types.find(
  67. 798 1 2657546.0 2657546.0 62.0 name=vm_type)[0].id
  68. 799 1 3.0 3.0 0.0 if isinstance(subnet, Subnet):
  69. 800 1 5.0 5.0 0.0 subnet_id = subnet.id
  70. 801 1 4.0 4.0 0.0 net_id = subnet.network_id
  71. 802 else:
  72. 803 subnet_id = subnet
  73. 804 net_id = (self.provider.networking.subnets
  74. 805 .get(subnet_id).network_id
  75. 806 if subnet_id else None)
  76. 807 1 2.0 2.0 0.0 zone_id = zone.id if isinstance(zone, PlacementZone) else zone
  77. 808 key_pair_name = key_pair.name if \
  78. 809 1 2.0 2.0 0.0 isinstance(key_pair, KeyPair) else key_pair
  79. 810 1 2.0 2.0 0.0 bdm = None
  80. 811 1 2.0 2.0 0.0 if launch_config:
  81. 812 bdm = self._to_block_device_mapping(launch_config)
  82. 813
  83. 814 # Security groups must be passed in as a list of IDs and attached to a
  84. 815 # port if a port is being created. Otherwise, the security groups must
  85. 816 # be passed in as a list of names to the servers.create() call.
  86. 817 # OpenStack will respect the port's security groups first and then
  87. 818 # fall-back to the named security groups.
  88. 819 1 2.0 2.0 0.0 sg_name_list = []
  89. 820 1 2.0 2.0 0.0 nics = None
  90. 821 1 2.0 2.0 0.0 if subnet_id:
  91. 822 1 2.0 2.0 0.0 log.debug("Creating network port for %s in subnet: %s",
  92. 823 1 7.0 7.0 0.0 label, subnet_id)
  93. 824 1 2.0 2.0 0.0 sg_list = []
  94. 825 1 2.0 2.0 0.0 if vm_firewalls:
  95. 826 if isinstance(vm_firewalls, list) and \
  96. 827 isinstance(vm_firewalls[0], VMFirewall):
  97. 828 sg_list = vm_firewalls
  98. 829 else:
  99. 830 sg_list = (self.provider.security.vm_firewalls
  100. 831 .find(label=sg) for sg in vm_firewalls)
  101. 832 sg_list = (sg[0] for sg in sg_list if sg)
  102. 833 1 3.0 3.0 0.0 sg_id_list = [sg.id for sg in sg_list]
  103. 834 port_def = {
  104. 835 1 2.0 2.0 0.0 "port": {
  105. 836 1 2.0 2.0 0.0 "admin_state_up": True,
  106. 837 1 3.0 3.0 0.0 "name": OpenStackInstance._generate_name_from_label(
  107. 838 1 54.0 54.0 0.0 label, 'cb-port'),
  108. 839 1 2.0 2.0 0.0 "network_id": net_id,
  109. 840 1 3.0 3.0 0.0 "fixed_ips": [{"subnet_id": subnet_id}],
  110. 841 1 2.0 2.0 0.0 "security_groups": sg_id_list
  111. 842 }
  112. 843 }
  113. 844 1 867800.0 867800.0 20.2 port_id = self.provider.neutron.create_port(port_def)['port']['id']
  114. 845 1 5.0 5.0 0.0 nics = [{'net-id': net_id, 'port-id': port_id}]
  115. 846 else:
  116. 847 if vm_firewalls:
  117. 848 if isinstance(vm_firewalls, list) and \
  118. 849 isinstance(vm_firewalls[0], VMFirewall):
  119. 850 sg_name_list = [sg.name for sg in vm_firewalls]
  120. 851 else:
  121. 852 sg_list = (self.provider.security.vm_firewalls.get(sg)
  122. 853 for sg in vm_firewalls)
  123. 854 sg_name_list = (sg[0].name for sg in sg_list if sg)
  124. 855
  125. 856 1 14.0 14.0 0.0 log.debug("Launching in subnet %s", subnet_id)
  126. 857 1 15.0 15.0 0.0 os_instance = self.provider.nova.servers.create(
  127. 858 1 3.0 3.0 0.0 label,
  128. 859 1 6.0 6.0 0.0 None if self._has_root_device(launch_config) else image_id,
  129. 860 1 3.0 3.0 0.0 vm_size,
  130. 861 1 3.0 3.0 0.0 min_count=1,
  131. 862 1 3.0 3.0 0.0 max_count=1,
  132. 863 1 3.0 3.0 0.0 availability_zone=zone_id,
  133. 864 1 3.0 3.0 0.0 key_name=key_pair_name,
  134. 865 1 3.0 3.0 0.0 security_groups=sg_name_list,
  135. 866 1 4.0 4.0 0.0 userdata=str(user_data) or None,
  136. 867 1 3.0 3.0 0.0 block_device_mapping_v2=bdm,
  137. 868 1 762070.0 762070.0 17.8 nics=nics)
  138. 869 return OpenStackInstance(self.provider, os_instance)
  139. Total time: 2.64646 s
  140. Function: find at line 225
  141. Line # Hits Time Per Hit % Time Line Contents
  142. ==============================================================
  143. 225 @dispatch(event="provider.compute.vm_types.find",
  144. 226 priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
  145. 227 @profile
  146. 228 def find(self, **kwargs):
  147. 229 1 1.0 1.0 0.0 obj_list = self
  148. 230 1 0.0 0.0 0.0 filters = ['name']
  149. 231 1 2646438.0 2646438.0 100.0 matches = cb_helpers.generic_find(filters, kwargs, obj_list)
  150. 232 1 23.0 23.0 0.0 return ClientPagedResultList(self._provider, list(matches))
  151. Total time: 2.63619 s
  152. Function: list at line 942
  153. Line # Hits Time Per Hit % Time Line Contents
  154. ==============================================================
  155. 942 @dispatch(event="provider.compute.vm_types.list",
  156. 943 priority=BaseVMTypeService.STANDARD_EVENT_PRIORITY)
  157. 944 @profile
  158. 945 def list(self, limit=None, marker=None):
  159. 946 cb_itypes = [
  160. 947 2 3.0 1.5 0.0 OpenStackVMType(self.provider, obj)
  161. 948 2 718884.0 359442.0 27.3 for obj in self.provider.nova.flavors.list(
  162. 949 2 102.0 51.0 0.0 limit=oshelpers.os_result_limit(self.provider, limit),
  163. 950 2 1917130.0 958565.0 72.7 marker=marker)]
  164. 951
  165. 952 2 72.0 36.0 0.0 return oshelpers.to_server_paged_list(self.provider, cb_itypes, limit)
  166. Total time: 2.16612 s
  167. Function: get_or_create_default at line 1155
  168. Line # Hits Time Per Hit % Time Line Contents
  169. ==============================================================
  170. 1155 @profile
  171. 1156 def get_or_create_default(self, zone):
  172. 1157 """
  173. 1158 Subnet zone is not supported by OpenStack and is thus ignored.
  174. 1159 """
  175. 1160 1 5.0 5.0 0.0 try:
  176. 1161 1 2166111.0 2166111.0 100.0 sn = self.find(label=OpenStackSubnet.CB_DEFAULT_SUBNET_LABEL)
  177. 1162 1 1.0 1.0 0.0 if sn:
  178. 1163 1 2.0 2.0 0.0 return sn[0]
  179. 1164 # No default subnet look for default network, then create subnet
  180. 1165 net = self.provider.networking.networks.get_or_create_default()
  181. 1166 sn = self.provider.networking.subnets.create(
  182. 1167 label=OpenStackSubnet.CB_DEFAULT_SUBNET_LABEL,
  183. 1168 cidr_block=OpenStackSubnet.CB_DEFAULT_SUBNET_IPV4RANGE,
  184. 1169 network=net, zone=zone)
  185. 1170 router = self.provider.networking.routers.get_or_create_default(
  186. 1171 net)
  187. 1172 router.attach_subnet(sn)
  188. 1173 gateway = net.gateways.get_or_create()
  189. 1174 router.attach_gateway(gateway)
  190. 1175 return sn
  191. 1176 except NeutronClientException:
  192. 1177 return None
  193. Total time: 2.11504 s
  194. Function: find at line 308
  195. Line # Hits Time Per Hit % Time Line Contents
  196. ==============================================================
  197. 308 @dispatch(event="provider.networking.subnets.find",
  198. 309 priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
  199. 310 @profile
  200. 311 def find(self, network=None, **kwargs):
  201. 312 1 1.0 1.0 0.0 if not network:
  202. 313 1 0.0 0.0 0.0 obj_list = self
  203. 314 else:
  204. 315 obj_list = network.subnets
  205. 316 1 0.0 0.0 0.0 filters = ['label']
  206. 317 1 2115016.0 2115016.0 100.0 matches = cb_helpers.generic_find(filters, kwargs, obj_list)
  207. 318 1 27.0 27.0 0.0 return ClientPagedResultList(self._provider, list(matches))
  208. Total time: 2.07967 s
  209. Function: list at line 1118
  210. Line # Hits Time Per Hit % Time Line Contents
  211. ==============================================================
  212. 1118 @dispatch(event="provider.networking.subnets.list",
  213. 1119 priority=BaseSubnetService.STANDARD_EVENT_PRIORITY)
  214. 1120 @profile
  215. 1121 def list(self, network=None, limit=None, marker=None):
  216. 1122 1 1.0 1.0 0.0 if network:
  217. 1123 network_id = (network.id if isinstance(network, OpenStackNetwork)
  218. 1124 else network)
  219. 1125 subnets = [subnet for subnet in self if network_id ==
  220. 1126 subnet.network_id]
  221. 1127 else:
  222. 1128 1 2.0 2.0 0.0 subnets = [OpenStackSubnet(self.provider, subnet) for subnet in
  223. 1129 1 2079607.0 2079607.0 100.0 self.provider.neutron.list_subnets().get('subnets', [])]
  224. 1130 1 3.0 3.0 0.0 return ClientPagedResultList(self.provider, subnets,
  225. 1131 1 58.0 58.0 0.0 limit=limit, marker=marker)