Пример #1
0
 def perform_server_action(self, body_str, tenant_id, instance_id, flavors):
     self.client, self.env = get_client_env(body=body_str)
     self.vg_clientMock = self.client['Virtual_Guest']
     self.req = api.Request(self.env, sl_client=self.client)
     self.resp = falcon.Response()
     instance = servers.ServerActionV2(app=mock.MagicMock(),
                                       flavors=flavors)
     instance.on_post(self.req, self.resp, tenant_id, instance_id)
Пример #2
0
 def test_on_post_create_fail(self, vsMock):
     client, env = get_client_env(body='{"createImage": \
     {"name": "foobar"}}')
     vg_clientMock = client['Virtual_Guest']
     e = SoftLayer.SoftLayerAPIError(123, 'abc')
     vg_clientMock.createArchiveTransaction.side_effect = e
     req = api.Request(env, sl_client=client)
     resp = falcon.Response()
     instance = servers.ServerActionV2(app=mock.MagicMock(),
                                       flavors=FLAVOR_LIST)
     instance.on_post(req, resp, TENANT_ID, INSTANCE_ID)
     self.assertRaises(SoftLayer.SoftLayerAPIError,
                       vg_clientMock.createArchiveTransaction)
     self.assertEqual(resp.status, 500)
Пример #3
0
def setup_routes(app, disp):
    # V3 Routes
    # None currently supported

    # V2 Routes
    disp.set_handler('index', index.IndexV2(app))
    disp.set_handler('v2_index', index.IndexV2(app))

    flavors_from_config = flavor_list_loader.Flavors.get_flavors(app)
    flavor = flavors.FlavorV2(app, flavors_from_config)
    flavor_list = flavors.FlavorsV2(app, flavors_from_config)
    flavors_detail = flavors.FlavorsDetailV2(app, flavors_from_config)

    disp.set_handler('v2_availability_zone',
                     availability_zones.AvailabilityZonesV2())
    disp.set_handler('v2_availability_zone_detail',
                     availability_zones.AvailabilityZonesV2())

    disp.set_handler('v2_extensions', extensions.ExtensionsV2())
    disp.set_handler('v2_extension', extensions.ExtensionV2())

    disp.set_handler('v2_os_extra_specs_flavor',
                     extra_specs.ExtraSpecsFlavorV2(app, flavors_from_config))
    disp.set_handler('v2_os_extra_specs_flavor_key',
                     extra_specs.ExtraSpecsFlavorKeyV2(app,
                                                       flavors_from_config))

    disp.set_handler('v2_flavor', flavor)
    disp.set_handler('v2_flavors', flavor_list)
    disp.set_handler('v2_flavors_detail', flavors_detail)

    disp.set_handler('v2_os_floating_ip_dns', dns.DNSDomainsV2())
    disp.set_handler('v2_os_floating_ip_dns_domain_entry',
                     dns.DNSDomainEntryV2())

    disp.set_handler('v2_limits', limits.LimitsV2())

    disp.set_handler('v2_os_floating_ips', floating_ips.OSFloatingIpsV2())

    disp.set_handler('v2_os_tenant_networks', networks.OSNetworksV2())
    disp.set_handler('v2_os_tenant_network', networks.OSNetworkV2())
    disp.set_handler('v2_os_networks', networks.OSNetworksV2())
    disp.set_handler('v2_os_network', networks.OSNetworkV2())

    disp.set_handler('v2_os_keypair', keypairs.KeypairV2())
    disp.set_handler('v2_os_keypairs', keypairs.KeypairsV2())

    disp.set_handler('v2_os_quota_sets', quota_sets.OSQuotaSetsV2())
    disp.set_handler('v2_os_tenant_quota_sets', quota_sets.OSQuotaSetsV2())

    disp.set_handler('v2_os_server_security_groups',
                     security_groups.OSSecurityGroupsV2())
    disp.set_handler('v2_os_security_groups',
                     security_groups.OSSecurityGroupsV2())

    disp.set_handler('v2_os_volume_attachments',
                     volumes.OSVolumeAttachmentsV2())
    disp.set_handler('v2_os_volume_attachments_detail',
                     volumes.OSVolumeAttachmentV2())

    disp.set_handler('v2_server', servers.ServerV2(app))
    disp.set_handler('v2_servers',
                     servers.ServersV2(app, flavors_from_config))
    disp.set_handler('v2_servers_detail', servers.ServersDetailV2(app))
    disp.set_handler('v2_server_action',
                     servers.ServerActionV2(app, flavors_from_config))
    disp.set_handler('v2_os_instance_actions',
                     instance_actions.InstanceActionsV2())
    disp.set_handler('v2_os_instance_action',
                     instance_actions.InstanceActionV2())

    disp.set_handler('v2_server_ips', server_ips.ServerIpsV2())
    disp.set_handler('v2_server_ips_network', server_ips.ServerIpsNetworkV2())

    disp.set_handler('v2_tenant_flavor', flavor)
    disp.set_handler('v2_tenant_flavors', flavor_list)
    disp.set_handler('v2_tenant_flavors_detail', flavors_detail)

    disp.set_handler('v2_tenant_usage', usage.UsageV2())

    disp.set_handler('v2_image', images.ImageV1(app))
    disp.set_handler('v2_images', images.ImagesV2(app))
    disp.set_handler('v2_images_detail', images.ImagesV2(app))

    sl_common.add_hooks(app)
Пример #4
0
def setup_routes(app, disp):
    # V2 Routes
    disp.set_handler('index', index.IndexV2(app))
    # need separate handler cause the second version takes a tenant ID
    # and using the same handler does not work where there is a difference
    # in parameters; so the tenant ID optional
    disp.set_handler('v2_detail', versionv2.VersionV2(app))
    disp.set_handler('v2_detail_tenant', versionv2.VersionV2(app))

    flavors_from_config = flavor_list_loader.Flavors.get_flavors(app)
    flavor = flavors.FlavorV2(app, flavors_from_config)
    flavor_list = flavors.FlavorsV2(app, flavors_from_config)
    flavors_detail = flavors.FlavorsDetailV2(app, flavors_from_config)

    disp.set_handler('v2_availability_zone',
                     availability_zones.AvailabilityZonesV2())
    disp.set_handler('v2_availability_zone_detail',
                     availability_zones.AvailabilityZonesV2())

    disp.set_handler('v2_extensions', extensions.ExtensionsV2())
    disp.set_handler('v2_extension', extensions.ExtensionV2())

    disp.set_handler('v2_os_extra_specs_flavor',
                     extra_specs.ExtraSpecsFlavorV2(app, flavors_from_config))
    disp.set_handler('v2_os_extra_specs_flavor_key',
                     extra_specs.ExtraSpecsFlavorKeyV2(app,
                                                       flavors_from_config))

    disp.set_handler('v2_flavor', flavor)
    disp.set_handler('v2_flavors', flavor_list)
    disp.set_handler('v2_flavors_detail', flavors_detail)

    disp.set_handler('v2_limits', limits.LimitsV2())

    disp.set_handler('v2_os_floating_ips', floating_ips.OSFloatingIpsV2())

    disp.set_handler('v2_os_tenant_networks', networks.OSNetworksV2())
    disp.set_handler('v2_os_tenant_network', networks.OSNetworkV2())
    disp.set_handler('v2_os_networks', networks.OSNetworksV2())
    disp.set_handler('v2_os_network', networks.OSNetworkV2())

    disp.set_handler('v2_os_keypair', keypairs.KeypairV2())
    disp.set_handler('v2_os_keypairs', keypairs.KeypairsV2())

    disp.set_handler('v2_os_quota_sets', quota_sets.OSQuotaSetsV2())
    disp.set_handler('v2_os_tenant_quota_sets', quota_sets.OSQuotaSetsV2())

    disp.set_handler('v2_os_server_security_groups',
                     security_groups.OSSecurityGroupsV2())
    disp.set_handler('v2_os_security_groups',
                     security_groups.OSSecurityGroupsV2())

    disp.set_handler('v2_os_volume_attachments',
                     volumes.OSVolumeAttachmentsV2())
    disp.set_handler('v2_os_volume_attachments_detail',
                     volumes.OSVolumeAttachmentV2())

    disp.set_handler('v2_server', servers.ServerV2(app))
    disp.set_handler('v2_servers',
                     servers.ServersV2(app, flavors_from_config))
    disp.set_handler('v2_servers_detail', servers.ServersDetailV2(app))
    disp.set_handler('v2_server_action',
                     servers.ServerActionV2(app, flavors_from_config))
    disp.set_handler('v2_os_instance_actions',
                     instance_actions.InstanceActionsV2())
    disp.set_handler('v2_os_instance_action',
                     instance_actions.InstanceActionV2())

    disp.set_handler('v2_server_ips', server_ips.ServerIpsV2())
    disp.set_handler('v2_server_ips_network', server_ips.ServerIpsNetworkV2())

    disp.set_handler('v2_tenant_flavor', flavor)
    disp.set_handler('v2_tenant_flavors', flavor_list)
    disp.set_handler('v2_tenant_flavors_detail', flavors_detail)

    disp.set_handler('v2_tenant_usage', usage.UsageV2())

    disp.set_handler('compute_image_show',
                     compute_images.ComputeImageShow(app))
    disp.set_handler('v2_images', glance_images.ImagesV2(app))
    disp.set_handler('v2_images_detail', glance_images.ImagesV2(
        app, detail=True))

    sl_common.add_hooks(app)