Fix N402 for nova/api
Fix N402 errors (single line docstring should end in a period) for nova/api, part of a larger attempt to stop ignoring our own hacking.py tests. Fix tests that look at docs in extensions Change-Id: I89d89d1fcf37c4e7740c36375da4c751d1b621ed
This commit is contained in:
parent
b9959b180e
commit
f20c3a4ea5
@ -2,7 +2,7 @@
|
||||
"extensions": [
|
||||
{
|
||||
"alias": "NMN",
|
||||
"description": "Multiple network support",
|
||||
"description": "Multiple network support.",
|
||||
"links": [],
|
||||
"name": "Multinic",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/multinic/api/v1.1",
|
||||
@ -10,7 +10,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "OS-DCF",
|
||||
"description": "Disk Management Extension",
|
||||
"description": "Disk Management Extension.",
|
||||
"links": [],
|
||||
"name": "DiskConfig",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/disk_config/api/v1.1",
|
||||
@ -26,7 +26,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "OS-EXT-STS",
|
||||
"description": "Extended Status support",
|
||||
"description": "Extended Status support.",
|
||||
"links": [],
|
||||
"name": "ExtendedStatus",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/extended_status/api/v1.1",
|
||||
@ -34,7 +34,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "OS-FLV-DISABLED",
|
||||
"description": "Support to show the disabled status of a flavor",
|
||||
"description": "Support to show the disabled status of a flavor.",
|
||||
"links": [],
|
||||
"name": "FlavorDisabled",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1",
|
||||
@ -42,7 +42,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "OS-FLV-EXT-DATA",
|
||||
"description": "Provide additional data for flavors",
|
||||
"description": "Provide additional data for flavors.",
|
||||
"links": [],
|
||||
"name": "FlavorExtraData",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1",
|
||||
@ -50,7 +50,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "OS-SCH-HNT",
|
||||
"description": "Pass arbitrary key/value pairs to the scheduler",
|
||||
"description": "Pass arbitrary key/value pairs to the scheduler.",
|
||||
"links": [],
|
||||
"name": "SchedulerHints",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/scheduler-hints/api/v2",
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-agents",
|
||||
"description": "Agents support",
|
||||
"description": "Agents support.",
|
||||
"links": [],
|
||||
"name": "Agents",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/agents/api/v2",
|
||||
@ -74,7 +74,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-aggregates",
|
||||
"description": "Admin-only aggregate administration",
|
||||
"description": "Admin-only aggregate administration.",
|
||||
"links": [],
|
||||
"name": "Aggregates",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/aggregates/api/v1.1",
|
||||
@ -82,7 +82,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-availability-zone",
|
||||
"description": "Add availability_zone to the Create Server v1.1 API",
|
||||
"description": "Add availability_zone to the Create Server v1.1 API.",
|
||||
"links": [],
|
||||
"name": "AvailabilityZone",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/availabilityzone/api/v1.1",
|
||||
@ -90,7 +90,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-certificates",
|
||||
"description": "Certificates support",
|
||||
"description": "Certificates support.",
|
||||
"links": [],
|
||||
"name": "Certificates",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/certificates/api/v1.1",
|
||||
@ -114,7 +114,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-config-drive",
|
||||
"description": "Config Drive Extension",
|
||||
"description": "Config Drive Extension.",
|
||||
"links": [],
|
||||
"name": "ConfigDrive",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/config_drive/api/v1.1",
|
||||
@ -138,7 +138,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-coverage",
|
||||
"description": "Enable Nova Coverage",
|
||||
"description": "Enable Nova Coverage.",
|
||||
"links": [],
|
||||
"name": "Coverage",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/coverage/api/v2",
|
||||
@ -146,7 +146,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-create-server-ext",
|
||||
"description": "Extended support to the Create Server v1.1 API",
|
||||
"description": "Extended support to the Create Server v1.1 API.",
|
||||
"links": [],
|
||||
"name": "Createserverext",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/createserverext/api/v1.1",
|
||||
@ -154,7 +154,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-deferred-delete",
|
||||
"description": "Instance deferred delete",
|
||||
"description": "Instance deferred delete.",
|
||||
"links": [],
|
||||
"name": "DeferredDelete",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/deferred-delete/api/v1.1",
|
||||
@ -162,7 +162,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-fixed-ips",
|
||||
"description": "Fixed IPs support",
|
||||
"description": "Fixed IPs support.",
|
||||
"links": [],
|
||||
"name": "FixedIPs",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/fixed_ips/api/v2",
|
||||
@ -170,7 +170,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-flavor-access",
|
||||
"description": "Flavor access supprt",
|
||||
"description": "Flavor access supprt.",
|
||||
"links": [],
|
||||
"name": "FlavorAccess",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_access/api/v2",
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-flavor-extra-specs",
|
||||
"description": "Instance type (flavor) extra specs",
|
||||
"description": "Instance type (flavor) extra specs.",
|
||||
"links": [],
|
||||
"name": "FlavorExtraSpecs",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_extra_specs/api/v1.1",
|
||||
@ -194,7 +194,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-flavor-rxtx",
|
||||
"description": "Support to show the rxtx status of a flavor",
|
||||
"description": "Support to show the rxtx status of a flavor.",
|
||||
"links": [],
|
||||
"name": "FlavorRxtx",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_rxtx/api/v1.1",
|
||||
@ -202,7 +202,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-flavor-swap",
|
||||
"description": "Support to show the swap status of a flavor",
|
||||
"description": "Support to show the swap status of a flavor.",
|
||||
"links": [],
|
||||
"name": "FlavorSwap",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/flavor_swap/api/v1.1",
|
||||
@ -210,7 +210,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-floating-ip-dns",
|
||||
"description": "Floating IP DNS support",
|
||||
"description": "Floating IP DNS support.",
|
||||
"links": [],
|
||||
"name": "FloatingIpDns",
|
||||
"namespace": "http://docs.openstack.org/ext/floating_ip_dns/api/v1.1",
|
||||
@ -218,7 +218,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-floating-ip-pools",
|
||||
"description": "Floating IPs support",
|
||||
"description": "Floating IPs support.",
|
||||
"links": [],
|
||||
"name": "FloatingIpPools",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/floating_ip_pools/api/v1.1",
|
||||
@ -226,7 +226,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-floating-ips",
|
||||
"description": "Floating IPs support",
|
||||
"description": "Floating IPs support.",
|
||||
"links": [],
|
||||
"name": "FloatingIps",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/floating_ips/api/v1.1",
|
||||
@ -234,7 +234,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-floating-ips-bulk",
|
||||
"description": "Bulk handling of Floating IPs",
|
||||
"description": "Bulk handling of Floating IPs.",
|
||||
"links": [],
|
||||
"name": "FloatingIpsBulk",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/floating_ips_bulk/api/v2",
|
||||
@ -258,7 +258,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-hosts",
|
||||
"description": "Admin-only host administration",
|
||||
"description": "Admin-only host administration.",
|
||||
"links": [],
|
||||
"name": "Hosts",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/hosts/api/v1.1",
|
||||
@ -266,7 +266,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-hypervisors",
|
||||
"description": "Admin-only hypervisor administration",
|
||||
"description": "Admin-only hypervisor administration.",
|
||||
"links": [],
|
||||
"name": "Hypervisors",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/hypervisors/api/v1.1",
|
||||
@ -274,7 +274,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-instance_usage_audit_log",
|
||||
"description": "Admin-only Task Log Monitoring",
|
||||
"description": "Admin-only Task Log Monitoring.",
|
||||
"links": [],
|
||||
"name": "OSInstanceUsageAuditLog",
|
||||
"namespace": "http://docs.openstack.org/ext/services/api/v1.1",
|
||||
@ -282,7 +282,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-keypairs",
|
||||
"description": "Keypair Support",
|
||||
"description": "Keypair Support.",
|
||||
"links": [],
|
||||
"name": "Keypairs",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/keypairs/api/v1.1",
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-multiple-create",
|
||||
"description": "Allow multiple create in the Create Server v1.1 API",
|
||||
"description": "Allow multiple create in the Create Server v1.1 API.",
|
||||
"links": [],
|
||||
"name": "MultipleCreate",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/multiplecreate/api/v1.1",
|
||||
@ -298,7 +298,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-networks",
|
||||
"description": "Admin-only Network Management Extension",
|
||||
"description": "Admin-only Network Management Extension.",
|
||||
"links": [],
|
||||
"name": "Networks",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/networks/api/v1.1",
|
||||
@ -306,7 +306,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-networks-associate",
|
||||
"description": "Network association support",
|
||||
"description": "Network association support.",
|
||||
"links": [],
|
||||
"name": "NetworkAssociationSupport",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/networks_associate/api/v2",
|
||||
@ -314,7 +314,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-quota-class-sets",
|
||||
"description": "Quota classes management support",
|
||||
"description": "Quota classes management support.",
|
||||
"links": [],
|
||||
"name": "QuotaClasses",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1",
|
||||
@ -322,7 +322,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-quota-sets",
|
||||
"description": "Quotas management support",
|
||||
"description": "Quotas management support.",
|
||||
"links": [],
|
||||
"name": "Quotas",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1",
|
||||
@ -330,7 +330,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-rescue",
|
||||
"description": "Instance rescue mode",
|
||||
"description": "Instance rescue mode.",
|
||||
"links": [],
|
||||
"name": "Rescue",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/rescue/api/v1.1",
|
||||
@ -338,7 +338,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-security-groups",
|
||||
"description": "Security group support",
|
||||
"description": "Security group support.",
|
||||
"links": [],
|
||||
"name": "SecurityGroups",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/securitygroups/api/v1.1",
|
||||
@ -346,7 +346,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-server-diagnostics",
|
||||
"description": "Allow Admins to view server diagnostics through server action",
|
||||
"description": "Allow Admins to view server diagnostics through server action.",
|
||||
"links": [],
|
||||
"name": "ServerDiagnostics",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/server-diagnostics/api/v1.1",
|
||||
@ -362,7 +362,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-server-start-stop",
|
||||
"description": "Start/Stop instance compute API support",
|
||||
"description": "Start/Stop instance compute API support.",
|
||||
"links": [],
|
||||
"name": "ServerStartStop",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/servers/api/v1.1",
|
||||
@ -370,7 +370,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-services",
|
||||
"description": "Services support",
|
||||
"description": "Services support.",
|
||||
"links": [],
|
||||
"name": "Services",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/services/api/v2",
|
||||
@ -378,7 +378,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-simple-tenant-usage",
|
||||
"description": "Simple tenant usage extension",
|
||||
"description": "Simple tenant usage extension.",
|
||||
"links": [],
|
||||
"name": "SimpleTenantUsage",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/os-simple-tenant-usage/api/v1.1",
|
||||
@ -394,7 +394,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-user-data",
|
||||
"description": "Add user_data to the Create Server v1.1 API",
|
||||
"description": "Add user_data to the Create Server v1.1 API.",
|
||||
"links": [],
|
||||
"name": "UserData",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/userdata/api/v1.1",
|
||||
@ -402,7 +402,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-virtual-interfaces",
|
||||
"description": "Virtual interface support",
|
||||
"description": "Virtual interface support.",
|
||||
"links": [],
|
||||
"name": "VirtualInterfaces",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/virtual_interfaces/api/v1.1",
|
||||
@ -410,11 +410,11 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-volumes",
|
||||
"description": "Volumes support",
|
||||
"description": "Volumes support.",
|
||||
"links": [],
|
||||
"name": "Volumes",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/volumes/api/v1.1",
|
||||
"updated": "2011-03-25T00:00:00+00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<extensions xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
|
||||
<extension alias="NMN" updated="2011-06-09T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/multinic/api/v1.1" name="Multinic">
|
||||
<description>Multiple network support</description>
|
||||
<description>Multiple network support.</description>
|
||||
</extension>
|
||||
<extension alias="OS-DCF" updated="2011-09-27T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/disk_config/api/v1.1" name="DiskConfig">
|
||||
<description>Disk Management Extension</description>
|
||||
<description>Disk Management Extension.</description>
|
||||
</extension>
|
||||
<extension alias="OS-EXT-SRV-ATTR" updated="2011-11-03T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" name="ExtendedServerAttributes">
|
||||
<description>Extended Server Attributes support.</description>
|
||||
</extension>
|
||||
<extension alias="OS-EXT-STS" updated="2011-11-03T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" name="ExtendedStatus">
|
||||
<description>Extended Status support</description>
|
||||
<description>Extended Status support.</description>
|
||||
</extension>
|
||||
<extension alias="OS-FLV-DISABLED" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1" name="FlavorDisabled">
|
||||
<description>Support to show the disabled status of a flavor</description>
|
||||
<description>Support to show the disabled status of a flavor.</description>
|
||||
</extension>
|
||||
<extension alias="OS-FLV-EXT-DATA" updated="2011-09-14T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" name="FlavorExtraData">
|
||||
<description>Provide additional data for flavors</description>
|
||||
<description>Provide additional data for flavors.</description>
|
||||
</extension>
|
||||
<extension alias="OS-SCH-HNT" updated="2011-07-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/scheduler-hints/api/v2" name="SchedulerHints">
|
||||
<description>Pass arbitrary key/value pairs to the scheduler</description>
|
||||
<description>Pass arbitrary key/value pairs to the scheduler.</description>
|
||||
</extension>
|
||||
<extension alias="os-admin-actions" updated="2011-09-20T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/admin-actions/api/v1.1" name="AdminActions">
|
||||
<description>Enable admin-only server actions
|
||||
@ -29,16 +29,16 @@
|
||||
</description>
|
||||
</extension>
|
||||
<extension alias="os-agents" updated="2012-10-28T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/agents/api/v2" name="Agents">
|
||||
<description>Agents support</description>
|
||||
<description>Agents support.</description>
|
||||
</extension>
|
||||
<extension alias="os-aggregates" updated="2012-01-12T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/aggregates/api/v1.1" name="Aggregates">
|
||||
<description>Admin-only aggregate administration</description>
|
||||
<description>Admin-only aggregate administration.</description>
|
||||
</extension>
|
||||
<extension alias="os-availability-zone" updated="2012-08-09T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/availabilityzone/api/v1.1" name="AvailabilityZone">
|
||||
<description>Add availability_zone to the Create Server v1.1 API</description>
|
||||
<description>Add availability_zone to the Create Server v1.1 API.</description>
|
||||
</extension>
|
||||
<extension alias="os-certificates" updated="2012-01-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/certificates/api/v1.1" name="Certificates">
|
||||
<description>Certificates support</description>
|
||||
<description>Certificates support.</description>
|
||||
</extension>
|
||||
<extension alias="os-cloudpipe" updated="2011-12-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/cloudpipe/api/v1.1" name="Cloudpipe">
|
||||
<description>Adds actions to create cloudpipe instances.
|
||||
@ -55,7 +55,7 @@
|
||||
<description>Adds the ability to set the vpn ip/port for cloudpipe instances.</description>
|
||||
</extension>
|
||||
<extension alias="os-config-drive" updated="2012-07-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/config_drive/api/v1.1" name="ConfigDrive">
|
||||
<description>Config Drive Extension</description>
|
||||
<description>Config Drive Extension.</description>
|
||||
</extension>
|
||||
<extension alias="os-console-output" updated="2011-12-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-console-output/api/v2" name="ConsoleOutput">
|
||||
<description>Console log output support, with tailing ability.</description>
|
||||
@ -64,22 +64,22 @@
|
||||
<description>Interactive Console support.</description>
|
||||
</extension>
|
||||
<extension alias="os-coverage" updated="2012-10-15T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/coverage/api/v2" name="Coverage">
|
||||
<description>Enable Nova Coverage</description>
|
||||
<description>Enable Nova Coverage.</description>
|
||||
</extension>
|
||||
<extension alias="os-create-server-ext" updated="2011-07-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/createserverext/api/v1.1" name="Createserverext">
|
||||
<description>Extended support to the Create Server v1.1 API</description>
|
||||
<description>Extended support to the Create Server v1.1 API.</description>
|
||||
</extension>
|
||||
<extension alias="os-deferred-delete" updated="2011-09-01T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/deferred-delete/api/v1.1" name="DeferredDelete">
|
||||
<description>Instance deferred delete</description>
|
||||
<description>Instance deferred delete.</description>
|
||||
</extension>
|
||||
<extension alias="os-fixed-ips" updated="2012-10-18T13:25:27-06:00" namespace="http://docs.openstack.org/compute/ext/fixed_ips/api/v2" name="FixedIPs">
|
||||
<description>Fixed IPs support</description>
|
||||
<description>Fixed IPs support.</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-access" updated="2012-08-01T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_access/api/v2" name="FlavorAccess">
|
||||
<description>Flavor access supprt</description>
|
||||
<description>Flavor access supprt.</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-extra-specs" updated="2011-06-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_extra_specs/api/v1.1" name="FlavorExtraSpecs">
|
||||
<description>Instance type (flavor) extra specs</description>
|
||||
<description>Instance type (flavor) extra specs.</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-manage" updated="2012-01-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_manage/api/v1.1" name="FlavorManage">
|
||||
<description>
|
||||
@ -87,22 +87,22 @@
|
||||
</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-rxtx" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_rxtx/api/v1.1" name="FlavorRxtx">
|
||||
<description>Support to show the rxtx status of a flavor</description>
|
||||
<description>Support to show the rxtx status of a flavor.</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-swap" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_swap/api/v1.1" name="FlavorSwap">
|
||||
<description>Support to show the swap status of a flavor</description>
|
||||
<description>Support to show the swap status of a flavor.</description>
|
||||
</extension>
|
||||
<extension alias="os-floating-ip-dns" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/ext/floating_ip_dns/api/v1.1" name="FloatingIpDns">
|
||||
<description>Floating IP DNS support</description>
|
||||
<description>Floating IP DNS support.</description>
|
||||
</extension>
|
||||
<extension alias="os-floating-ip-pools" updated="2012-01-04T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/floating_ip_pools/api/v1.1" name="FloatingIpPools">
|
||||
<description>Floating IPs support</description>
|
||||
<description>Floating IPs support.</description>
|
||||
</extension>
|
||||
<extension alias="os-floating-ips" updated="2011-06-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/floating_ips/api/v1.1" name="FloatingIps">
|
||||
<description>Floating IPs support</description>
|
||||
<description>Floating IPs support.</description>
|
||||
</extension>
|
||||
<extension alias="os-floating-ips-bulk" updated="2012-10-29T13:25:27-06:00" namespace="http://docs.openstack.org/compute/ext/floating_ips_bulk/api/v2" name="FloatingIpsBulk">
|
||||
<description>Bulk handling of Floating IPs</description>
|
||||
<description>Bulk handling of Floating IPs.</description>
|
||||
</extension>
|
||||
<extension alias="os-fping" updated="2012-07-06T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/fping/api/v1.1" name="Fping">
|
||||
<description>Fping Management Extension.</description>
|
||||
@ -111,63 +111,63 @@
|
||||
<description>Support hiding server addresses in certain states.</description>
|
||||
</extension>
|
||||
<extension alias="os-hosts" updated="2011-06-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/hosts/api/v1.1" name="Hosts">
|
||||
<description>Admin-only host administration</description>
|
||||
<description>Admin-only host administration.</description>
|
||||
</extension>
|
||||
<extension alias="os-hypervisors" updated="2012-06-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/hypervisors/api/v1.1" name="Hypervisors">
|
||||
<description>Admin-only hypervisor administration</description>
|
||||
<description>Admin-only hypervisor administration.</description>
|
||||
</extension>
|
||||
<extension alias="os-instance_usage_audit_log" updated="2012-07-06T01:00:00+00:00" namespace="http://docs.openstack.org/ext/services/api/v1.1" name="OSInstanceUsageAuditLog">
|
||||
<description>Admin-only Task Log Monitoring</description>
|
||||
<description>Admin-only Task Log Monitoring.</description>
|
||||
</extension>
|
||||
<extension alias="os-keypairs" updated="2011-08-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/keypairs/api/v1.1" name="Keypairs">
|
||||
<description>Keypair Support</description>
|
||||
<description>Keypair Support.</description>
|
||||
</extension>
|
||||
<extension alias="os-multiple-create" updated="2012-08-07T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/multiplecreate/api/v1.1" name="MultipleCreate">
|
||||
<description>Allow multiple create in the Create Server v1.1 API</description>
|
||||
<description>Allow multiple create in the Create Server v1.1 API.</description>
|
||||
</extension>
|
||||
<extension alias="os-networks" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/networks/api/v1.1" name="Networks">
|
||||
<description>Admin-only Network Management Extension</description>
|
||||
<description>Admin-only Network Management Extension.</description>
|
||||
</extension>
|
||||
<extension alias="os-networks-associate" updated="2012-11-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/networks_associate/api/v2" name="NetworkAssociationSupport">
|
||||
<description>Network association support</description>
|
||||
<description>Network association support.</description>
|
||||
</extension>
|
||||
<extension alias="os-quota-class-sets" updated="2012-03-12T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1" name="QuotaClasses">
|
||||
<description>Quota classes management support</description>
|
||||
<description>Quota classes management support.</description>
|
||||
</extension>
|
||||
<extension alias="os-quota-sets" updated="2011-08-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1" name="Quotas">
|
||||
<description>Quotas management support</description>
|
||||
<description>Quotas management support.</description>
|
||||
</extension>
|
||||
<extension alias="os-rescue" updated="2011-08-18T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/rescue/api/v1.1" name="Rescue">
|
||||
<description>Instance rescue mode</description>
|
||||
<description>Instance rescue mode.</description>
|
||||
</extension>
|
||||
<extension alias="os-security-groups" updated="2011-07-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/securitygroups/api/v1.1" name="SecurityGroups">
|
||||
<description>Security group support</description>
|
||||
<description>Security group support.</description>
|
||||
</extension>
|
||||
<extension alias="os-server-diagnostics" updated="2011-12-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/server-diagnostics/api/v1.1" name="ServerDiagnostics">
|
||||
<description>Allow Admins to view server diagnostics through server action</description>
|
||||
<description>Allow Admins to view server diagnostics through server action.</description>
|
||||
</extension>
|
||||
<extension alias="os-server-password" updated="2012-11-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/server-password/api/v2" name="ServerPassword">
|
||||
<description>Server password support</description>
|
||||
</extension>
|
||||
<extension alias="os-server-start-stop" updated="2012-01-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/servers/api/v1.1" name="ServerStartStop">
|
||||
<description>Start/Stop instance compute API support</description>
|
||||
<description>Start/Stop instance compute API support.</description>
|
||||
</extension>
|
||||
<extension alias="os-services" updated="2012-10-28T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/services/api/v2" name="Services">
|
||||
<description>Services support</description>
|
||||
<description>Services support.</description>
|
||||
</extension>
|
||||
<extension alias="os-simple-tenant-usage" updated="2011-08-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-simple-tenant-usage/api/v1.1" name="SimpleTenantUsage">
|
||||
<description>Simple tenant usage extension</description>
|
||||
<description>Simple tenant usage extension.</description>
|
||||
</extension>
|
||||
<extension alias="os-used-limits" updated="2012-07-13T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" name="UsedLimits">
|
||||
<description>Provide data on limited resources that are being used.</description>
|
||||
</extension>
|
||||
<extension alias="os-user-data" updated="2012-08-07T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/userdata/api/v1.1" name="UserData">
|
||||
<description>Add user_data to the Create Server v1.1 API</description>
|
||||
<description>Add user_data to the Create Server v1.1 API.</description>
|
||||
</extension>
|
||||
<extension alias="os-virtual-interfaces" updated="2011-08-17T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/virtual_interfaces/api/v1.1" name="VirtualInterfaces">
|
||||
<description>Virtual interface support</description>
|
||||
<description>Virtual interface support.</description>
|
||||
</extension>
|
||||
<extension alias="os-volumes" updated="2011-03-25T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/volumes/api/v1.1" name="Volumes">
|
||||
<description>Volumes support</description>
|
||||
<description>Volumes support.</description>
|
||||
</extension>
|
||||
</extensions>
|
||||
</extensions>
|
||||
|
@ -76,7 +76,7 @@ class InjectContext(wsgi.Middleware):
|
||||
|
||||
|
||||
class NovaKeystoneContext(wsgi.Middleware):
|
||||
"""Make a request context from keystone headers"""
|
||||
"""Make a request context from keystone headers."""
|
||||
|
||||
@webob.dec.wsgify(RequestClass=wsgi.Request)
|
||||
def __call__(self, req):
|
||||
@ -128,7 +128,7 @@ class NovaKeystoneContext(wsgi.Middleware):
|
||||
return self.application
|
||||
|
||||
def _get_roles(self, req):
|
||||
"""Get the list of roles"""
|
||||
"""Get the list of roles."""
|
||||
|
||||
if 'X_ROLES' in req.headers:
|
||||
roles = req.headers.get('X_ROLES', '')
|
||||
|
@ -77,7 +77,7 @@ CONF.import_opt('use_forwarded_for', 'nova.api.auth')
|
||||
|
||||
|
||||
def ec2_error(req, request_id, code, message):
|
||||
"""Helper to send an ec2_compatible error"""
|
||||
"""Helper to send an ec2_compatible error."""
|
||||
LOG.error(_('%(code)s: %(message)s') % locals())
|
||||
resp = webob.Response()
|
||||
resp.status = 400
|
||||
|
@ -41,7 +41,7 @@ def _underscore_to_xmlcase(str):
|
||||
|
||||
|
||||
def _database_to_isoformat(datetimeobj):
|
||||
"""Return a xs:dateTime parsable string from datatime"""
|
||||
"""Return a xs:dateTime parsable string from datatime."""
|
||||
return datetimeobj.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + 'Z'
|
||||
|
||||
|
||||
|
@ -110,7 +110,7 @@ _STATE_DESCRIPTION_MAP = {
|
||||
|
||||
|
||||
def _state_description(vm_state, _shutdown_terminate):
|
||||
"""Map the vm state to the server status string"""
|
||||
"""Map the vm state to the server status string."""
|
||||
# Note(maoy): We do not provide EC2 compatibility
|
||||
# in shutdown_terminate flag behavior. So we ignore
|
||||
# it here.
|
||||
@ -180,7 +180,7 @@ def _format_block_device_mapping(bdm):
|
||||
|
||||
|
||||
def _format_mappings(properties, result):
|
||||
"""Format multiple BlockDeviceMappingItemType"""
|
||||
"""Format multiple BlockDeviceMappingItemType."""
|
||||
mappings = [{'virtualName': m['virtual'], 'deviceName': m['device']}
|
||||
for m in _properties_get_mappings(properties)
|
||||
if block_device.is_swap_or_ephemeral(m['virtual'])]
|
||||
@ -1045,7 +1045,7 @@ class CloudController(object):
|
||||
|
||||
def _format_instance_bdm(self, context, instance_uuid, root_device_name,
|
||||
result):
|
||||
"""Format InstanceBlockDeviceMappingResponseItemType"""
|
||||
"""Format InstanceBlockDeviceMappingResponseItemType."""
|
||||
root_device_type = 'instance-store'
|
||||
mapping = []
|
||||
for bdm in db.block_device_mapping_get_all_by_instance(context,
|
||||
@ -1328,7 +1328,7 @@ class CloudController(object):
|
||||
return self._format_run_instances(context, resv_id)
|
||||
|
||||
def _ec2_ids_to_instances(self, context, instance_id):
|
||||
"""Get all instances first, to prevent partial executions"""
|
||||
"""Get all instances first, to prevent partial executions."""
|
||||
instances = []
|
||||
for ec2_id in instance_id:
|
||||
validate_ec2_id(ec2_id)
|
||||
@ -1349,7 +1349,7 @@ class CloudController(object):
|
||||
previous_states)
|
||||
|
||||
def reboot_instances(self, context, instance_id, **kwargs):
|
||||
"""instance_id is a list of instance ids"""
|
||||
"""instance_id is a list of instance ids."""
|
||||
instances = self._ec2_ids_to_instances(context, instance_id)
|
||||
LOG.audit(_("Reboot instance %r"), instance_id, context=context)
|
||||
for instance in instances:
|
||||
|
@ -73,7 +73,7 @@ def glance_id_to_ec2_id(context, glance_id, image_type='ami'):
|
||||
|
||||
|
||||
def ec2_id_to_id(ec2_id):
|
||||
"""Convert an ec2 ID (i-[base 16 number]) to an instance id (int)"""
|
||||
"""Convert an ec2 ID (i-[base 16 number]) to an instance id (int)."""
|
||||
try:
|
||||
return int(ec2_id.split('-')[-1], 16)
|
||||
except ValueError:
|
||||
@ -104,7 +104,7 @@ def get_ip_info_for_instance_from_nw_info(nw_info):
|
||||
|
||||
|
||||
def get_ip_info_for_instance(context, instance):
|
||||
"""Return a dictionary of IP information for an instance"""
|
||||
"""Return a dictionary of IP information for an instance."""
|
||||
|
||||
info_cache = instance['info_cache'] or {}
|
||||
cached_nwinfo = info_cache.get('network_info')
|
||||
@ -122,7 +122,7 @@ def get_availability_zone_by_host(services, host):
|
||||
|
||||
|
||||
def id_to_ec2_id(instance_id, template='i-%08x'):
|
||||
"""Convert an instance ID (int) to an ec2 ID (i-[base 16 number])"""
|
||||
"""Convert an instance ID (int) to an ec2 ID (i-[base 16 number])."""
|
||||
return template % int(instance_id)
|
||||
|
||||
|
||||
|
@ -124,7 +124,7 @@ class APIRouter(base_wsgi.Router):
|
||||
|
||||
@classmethod
|
||||
def factory(cls, global_config, **local_config):
|
||||
"""Simple paste factory, :class:`nova.wsgi.Router` doesn't have one"""
|
||||
"""Simple paste factory, :class:`nova.wsgi.Router` doesn't have one."""
|
||||
return cls()
|
||||
|
||||
def __init__(self, ext_mgr=None, init_only=None):
|
||||
|
@ -146,7 +146,7 @@ def get_pagination_params(request):
|
||||
|
||||
|
||||
def _get_limit_param(request):
|
||||
"""Extract integer limit from request or fail"""
|
||||
"""Extract integer limit from request or fail."""
|
||||
try:
|
||||
limit = int(request.GET['limit'])
|
||||
except ValueError:
|
||||
@ -159,7 +159,7 @@ def _get_limit_param(request):
|
||||
|
||||
|
||||
def _get_marker_param(request):
|
||||
"""Extract marker id from request or fail"""
|
||||
"""Extract marker id from request or fail."""
|
||||
return request.GET['marker']
|
||||
|
||||
|
||||
@ -201,7 +201,7 @@ def limited(items, request, max_limit=CONF.osapi_max_limit):
|
||||
|
||||
|
||||
def get_limit_and_marker(request, max_limit=CONF.osapi_max_limit):
|
||||
"""get limited parameter from request"""
|
||||
"""get limited parameter from request."""
|
||||
params = get_pagination_params(request)
|
||||
limit = params.get('limit', max_limit)
|
||||
limit = min(max_limit, limit)
|
||||
@ -372,7 +372,7 @@ class MetaItemDeserializer(wsgi.MetadataXMLDeserializer):
|
||||
class MetadataXMLDeserializer(wsgi.XMLDeserializer):
|
||||
|
||||
def extract_metadata(self, metadata_node):
|
||||
"""Marshal the metadata attribute of a parsed request"""
|
||||
"""Marshal the metadata attribute of a parsed request."""
|
||||
if metadata_node is None:
|
||||
return {}
|
||||
metadata = {}
|
||||
|
@ -25,7 +25,7 @@ from nova import exception
|
||||
|
||||
|
||||
def _translate_keys(cons):
|
||||
"""Coerces a console instance into proper dictionary format """
|
||||
"""Coerces a console instance into proper dictionary format."""
|
||||
pool = cons['pool']
|
||||
info = {'id': cons['id'],
|
||||
'console_type': pool['console_type']}
|
||||
@ -80,14 +80,14 @@ class ConsolesTemplate(xmlutil.TemplateBuilder):
|
||||
|
||||
|
||||
class Controller(object):
|
||||
"""The Consoles controller for the OpenStack API"""
|
||||
"""The Consoles controller for the OpenStack API."""
|
||||
|
||||
def __init__(self):
|
||||
self.console_api = console_api.API()
|
||||
|
||||
@wsgi.serializers(xml=ConsolesTemplate)
|
||||
def index(self, req, server_id):
|
||||
"""Returns a list of consoles for this instance"""
|
||||
"""Returns a list of consoles for this instance."""
|
||||
consoles = self.console_api.get_consoles(
|
||||
req.environ['nova.context'],
|
||||
server_id)
|
||||
@ -95,14 +95,14 @@ class Controller(object):
|
||||
for console in consoles])
|
||||
|
||||
def create(self, req, server_id):
|
||||
"""Creates a new console"""
|
||||
"""Creates a new console."""
|
||||
self.console_api.create_console(
|
||||
req.environ['nova.context'],
|
||||
server_id)
|
||||
|
||||
@wsgi.serializers(xml=ConsoleTemplate)
|
||||
def show(self, req, server_id, id):
|
||||
"""Shows in-depth information on a specific console"""
|
||||
"""Shows in-depth information on a specific console."""
|
||||
try:
|
||||
console = self.console_api.get_console(
|
||||
req.environ['nova.context'],
|
||||
@ -113,11 +113,11 @@ class Controller(object):
|
||||
return _translate_detail_keys(console)
|
||||
|
||||
def update(self, req, server_id, id):
|
||||
"""You can't update a console"""
|
||||
"""You can't update a console."""
|
||||
raise exc.HTTPNotImplemented()
|
||||
|
||||
def delete(self, req, server_id, id):
|
||||
"""Deletes a console"""
|
||||
"""Deletes a console."""
|
||||
try:
|
||||
self.console_api.delete_console(req.environ['nova.context'],
|
||||
server_id,
|
||||
|
@ -46,7 +46,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('pause')
|
||||
def _pause(self, req, id, body):
|
||||
"""Permit Admins to pause the server"""
|
||||
"""Permit Admins to pause the server."""
|
||||
ctxt = req.environ['nova.context']
|
||||
authorize(ctxt, 'pause')
|
||||
try:
|
||||
@ -63,7 +63,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('unpause')
|
||||
def _unpause(self, req, id, body):
|
||||
"""Permit Admins to unpause the server"""
|
||||
"""Permit Admins to unpause the server."""
|
||||
ctxt = req.environ['nova.context']
|
||||
authorize(ctxt, 'unpause')
|
||||
try:
|
||||
@ -80,7 +80,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('suspend')
|
||||
def _suspend(self, req, id, body):
|
||||
"""Permit admins to suspend the server"""
|
||||
"""Permit admins to suspend the server."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'suspend')
|
||||
try:
|
||||
@ -97,7 +97,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('resume')
|
||||
def _resume(self, req, id, body):
|
||||
"""Permit admins to resume the server from suspend"""
|
||||
"""Permit admins to resume the server from suspend."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'resume')
|
||||
try:
|
||||
@ -114,7 +114,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('migrate')
|
||||
def _migrate(self, req, id, body):
|
||||
"""Permit admins to migrate a server to a new host"""
|
||||
"""Permit admins to migrate a server to a new host."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'migrate')
|
||||
try:
|
||||
@ -130,7 +130,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('resetNetwork')
|
||||
def _reset_network(self, req, id, body):
|
||||
"""Permit admins to reset networking on an server"""
|
||||
"""Permit admins to reset networking on an server."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'resetNetwork')
|
||||
try:
|
||||
@ -144,7 +144,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('injectNetworkInfo')
|
||||
def _inject_network_info(self, req, id, body):
|
||||
"""Permit admins to inject network info into a server"""
|
||||
"""Permit admins to inject network info into a server."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'injectNetworkInfo')
|
||||
try:
|
||||
@ -160,7 +160,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('lock')
|
||||
def _lock(self, req, id, body):
|
||||
"""Permit admins to lock a server"""
|
||||
"""Permit admins to lock a server."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'lock')
|
||||
try:
|
||||
@ -176,7 +176,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('unlock')
|
||||
def _unlock(self, req, id, body):
|
||||
"""Permit admins to lock a server"""
|
||||
"""Permit admins to lock a server."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context, 'unlock')
|
||||
try:
|
||||
@ -266,7 +266,7 @@ class AdminActionsController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('os-migrateLive')
|
||||
def _migrate_live(self, req, id, body):
|
||||
"""Permit admins to (live) migrate a server to a new host"""
|
||||
"""Permit admins to (live) migrate a server to a new host."""
|
||||
context = req.environ["nova.context"]
|
||||
authorize(context, 'migrateLive')
|
||||
|
||||
|
@ -156,7 +156,7 @@ class AgentController(object):
|
||||
|
||||
|
||||
class Agents(extensions.ExtensionDescriptor):
|
||||
"""Agents support"""
|
||||
"""Agents support."""
|
||||
|
||||
name = "Agents"
|
||||
alias = "os-agents"
|
||||
|
@ -203,7 +203,7 @@ class AggregateController(object):
|
||||
|
||||
|
||||
class Aggregates(extensions.ExtensionDescriptor):
|
||||
"""Admin-only aggregate administration"""
|
||||
"""Admin-only aggregate administration."""
|
||||
|
||||
name = "Aggregates"
|
||||
alias = "os-aggregates"
|
||||
|
@ -18,7 +18,7 @@ from nova.api.openstack import extensions
|
||||
|
||||
|
||||
class Availability_zone(extensions.ExtensionDescriptor):
|
||||
"""Add availability_zone to the Create Server v1.1 API"""
|
||||
"""Add availability_zone to the Create Server v1.1 API."""
|
||||
|
||||
name = "AvailabilityZone"
|
||||
alias = "os-availability-zone"
|
||||
|
@ -88,7 +88,7 @@ class CertificatesController(object):
|
||||
|
||||
|
||||
class Certificates(extensions.ExtensionDescriptor):
|
||||
"""Certificates support"""
|
||||
"""Certificates support."""
|
||||
|
||||
name = "Certificates"
|
||||
alias = "os-certificates"
|
||||
|
@ -73,7 +73,7 @@ class CloudpipeController(object):
|
||||
fileutils.ensure_tree(CONF.keys_path)
|
||||
|
||||
def _get_all_cloudpipes(self, context):
|
||||
"""Get all cloudpipes"""
|
||||
"""Get all cloudpipes."""
|
||||
instances = self.compute_api.get_all(context,
|
||||
search_opts={'deleted': False})
|
||||
return [instance for instance in instances
|
||||
|
@ -35,7 +35,7 @@ class CloudpipeUpdateController(wsgi.Controller):
|
||||
|
||||
@wsgi.action("update")
|
||||
def update(self, req, id, body):
|
||||
"""Configure cloudpipe parameters for the project"""
|
||||
"""Configure cloudpipe parameters for the project."""
|
||||
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
@ -15,7 +15,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
"""Config Drive extension"""
|
||||
"""Config Drive extension."""
|
||||
|
||||
from nova.api.openstack.compute import servers
|
||||
from nova.api.openstack import extensions
|
||||
@ -71,7 +71,7 @@ class Controller(servers.Controller):
|
||||
|
||||
|
||||
class Config_drive(extensions.ExtensionDescriptor):
|
||||
"""Config Drive Extension"""
|
||||
"""Config Drive Extension."""
|
||||
|
||||
name = "ConfigDrive"
|
||||
alias = "os-config-drive"
|
||||
|
@ -43,7 +43,7 @@ authorize = extensions.extension_authorizer('compute', 'coverage_ext')
|
||||
|
||||
|
||||
class CoverageController(object):
|
||||
"""The Coverage report API controller for the OpenStack API"""
|
||||
"""The Coverage report API controller for the OpenStack API."""
|
||||
def __init__(self):
|
||||
self.data_path = tempfile.mkdtemp(prefix='nova-coverage_')
|
||||
data_out = os.path.join(self.data_path, '.nova-coverage')
|
||||
@ -60,7 +60,7 @@ class CoverageController(object):
|
||||
super(CoverageController, self).__init__()
|
||||
|
||||
def _find_services(self, req):
|
||||
"""Returns a list of services"""
|
||||
"""Returns a list of services."""
|
||||
context = req.environ['nova.context']
|
||||
services = db.service_get_all(context, False)
|
||||
hosts = []
|
||||
@ -69,7 +69,7 @@ class CoverageController(object):
|
||||
return hosts
|
||||
|
||||
def _find_ports(self, req, hosts):
|
||||
"""Return a list of backdoor ports for all services in the list"""
|
||||
"""Return a list of backdoor ports for all services in the list."""
|
||||
context = req.environ['nova.context']
|
||||
|
||||
apicommands = {
|
||||
@ -247,7 +247,7 @@ class CoverageController(object):
|
||||
|
||||
|
||||
class Coverage_ext(extensions.ExtensionDescriptor):
|
||||
"""Enable Nova Coverage"""
|
||||
"""Enable Nova Coverage."""
|
||||
|
||||
name = "Coverage"
|
||||
alias = "os-coverage"
|
||||
|
@ -18,7 +18,7 @@ from nova.api.openstack import extensions
|
||||
|
||||
|
||||
class Createserverext(extensions.ExtensionDescriptor):
|
||||
"""Extended support to the Create Server v1.1 API"""
|
||||
"""Extended support to the Create Server v1.1 API."""
|
||||
|
||||
name = "Createserverext"
|
||||
alias = "os-create-server-ext"
|
||||
|
@ -66,7 +66,7 @@ class DeferredDeleteController(wsgi.Controller):
|
||||
|
||||
|
||||
class Deferred_delete(extensions.ExtensionDescriptor):
|
||||
"""Instance deferred delete"""
|
||||
"""Instance deferred delete."""
|
||||
|
||||
name = "DeferredDelete"
|
||||
alias = "os-deferred-delete"
|
||||
|
@ -170,7 +170,7 @@ class ServerDiskConfigController(wsgi.Controller):
|
||||
|
||||
|
||||
class Disk_config(extensions.ExtensionDescriptor):
|
||||
"""Disk Management Extension"""
|
||||
"""Disk Management Extension."""
|
||||
|
||||
name = "DiskConfig"
|
||||
alias = ALIAS
|
||||
|
@ -61,7 +61,7 @@ class ExtendedStatusController(wsgi.Controller):
|
||||
|
||||
|
||||
class Extended_status(extensions.ExtensionDescriptor):
|
||||
"""Extended Status support"""
|
||||
"""Extended Status support."""
|
||||
|
||||
name = "ExtendedStatus"
|
||||
alias = "OS-EXT-STS"
|
||||
|
@ -78,7 +78,7 @@ class FixedIPController(object):
|
||||
|
||||
|
||||
class Fixed_ips(extensions.ExtensionDescriptor):
|
||||
"""Fixed IPs support"""
|
||||
"""Fixed IPs support."""
|
||||
|
||||
name = "FixedIPs"
|
||||
alias = "os-fixed-ips"
|
||||
|
@ -202,7 +202,7 @@ class FlavorActionController(wsgi.Controller):
|
||||
|
||||
|
||||
class Flavor_access(extensions.ExtensionDescriptor):
|
||||
"""Flavor access supprt"""
|
||||
"""Flavor access supprt."""
|
||||
|
||||
name = "FlavorAccess"
|
||||
alias = "os-flavor-access"
|
||||
|
@ -53,7 +53,7 @@ class FlavorDisabledController(wsgi.Controller):
|
||||
|
||||
|
||||
class Flavor_disabled(extensions.ExtensionDescriptor):
|
||||
"""Support to show the disabled status of a flavor"""
|
||||
"""Support to show the disabled status of a flavor."""
|
||||
|
||||
name = "FlavorDisabled"
|
||||
alias = "OS-FLV-DISABLED"
|
||||
|
@ -53,7 +53,7 @@ class FlavorRxtxController(wsgi.Controller):
|
||||
|
||||
|
||||
class Flavor_rxtx(extensions.ExtensionDescriptor):
|
||||
"""Support to show the rxtx status of a flavor"""
|
||||
"""Support to show the rxtx status of a flavor."""
|
||||
|
||||
name = "FlavorRxtx"
|
||||
alias = "os-flavor-rxtx"
|
||||
|
@ -53,7 +53,7 @@ class FlavorSwapController(wsgi.Controller):
|
||||
|
||||
|
||||
class Flavor_swap(extensions.ExtensionDescriptor):
|
||||
"""Support to show the swap status of a flavor"""
|
||||
"""Support to show the swap status of a flavor."""
|
||||
|
||||
name = "FlavorSwap"
|
||||
alias = "os-flavor-swap"
|
||||
|
@ -63,7 +63,7 @@ class FlavorextradataController(wsgi.Controller):
|
||||
|
||||
|
||||
class Flavorextradata(extensions.ExtensionDescriptor):
|
||||
"""Provide additional data for flavors"""
|
||||
"""Provide additional data for flavors."""
|
||||
|
||||
name = "FlavorExtraData"
|
||||
alias = "OS-FLV-EXT-DATA"
|
||||
|
@ -15,7 +15,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
"""The instance type extra specs extension"""
|
||||
"""The instance type extra specs extension."""
|
||||
|
||||
from webob import exc
|
||||
|
||||
@ -35,7 +35,7 @@ class ExtraSpecsTemplate(xmlutil.TemplateBuilder):
|
||||
|
||||
|
||||
class FlavorExtraSpecsController(object):
|
||||
"""The flavor extra specs API controller for the OpenStack API """
|
||||
"""The flavor extra specs API controller for the OpenStack API."""
|
||||
|
||||
def _get_extra_specs(self, context, flavor_id):
|
||||
extra_specs = db.instance_type_extra_specs_get(context, flavor_id)
|
||||
@ -51,7 +51,7 @@ class FlavorExtraSpecsController(object):
|
||||
|
||||
@wsgi.serializers(xml=ExtraSpecsTemplate)
|
||||
def index(self, req, flavor_id):
|
||||
"""Returns the list of extra specs for a givenflavor """
|
||||
"""Returns the list of extra specs for a givenflavor."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
return self._get_extra_specs(context, flavor_id)
|
||||
@ -92,7 +92,7 @@ class FlavorExtraSpecsController(object):
|
||||
|
||||
@wsgi.serializers(xml=ExtraSpecsTemplate)
|
||||
def show(self, req, flavor_id, id):
|
||||
"""Return a single extra spec item """
|
||||
"""Return a single extra spec item."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
specs = self._get_extra_specs(context, flavor_id)
|
||||
@ -102,14 +102,14 @@ class FlavorExtraSpecsController(object):
|
||||
raise exc.HTTPNotFound()
|
||||
|
||||
def delete(self, req, flavor_id, id):
|
||||
"""Deletes an existing extra spec """
|
||||
"""Deletes an existing extra spec."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
db.instance_type_extra_specs_delete(context, flavor_id, id)
|
||||
|
||||
|
||||
class Flavorextraspecs(extensions.ExtensionDescriptor):
|
||||
"""Instance type (flavor) extra specs"""
|
||||
"""Instance type (flavor) extra specs."""
|
||||
|
||||
name = "FlavorExtraSpecs"
|
||||
alias = "os-flavor-extra-specs"
|
||||
|
@ -129,7 +129,7 @@ def _create_domain_entry(domain, scope=None, project=None, av_zone=None):
|
||||
|
||||
|
||||
class FloatingIPDNSDomainController(object):
|
||||
"""DNS domain controller for OpenStack API"""
|
||||
"""DNS domain controller for OpenStack API."""
|
||||
|
||||
def __init__(self):
|
||||
self.network_api = network.API()
|
||||
@ -151,7 +151,7 @@ class FloatingIPDNSDomainController(object):
|
||||
|
||||
@wsgi.serializers(xml=DomainTemplate)
|
||||
def update(self, req, id, body):
|
||||
"""Add or modify domain entry"""
|
||||
"""Add or modify domain entry."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
fqdomain = _unquote_domain(id)
|
||||
@ -179,7 +179,7 @@ class FloatingIPDNSDomainController(object):
|
||||
area_name: area})
|
||||
|
||||
def delete(self, req, id):
|
||||
"""Delete the domain identified by id. """
|
||||
"""Delete the domain identified by id."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
domain = _unquote_domain(id)
|
||||
@ -194,7 +194,7 @@ class FloatingIPDNSDomainController(object):
|
||||
|
||||
|
||||
class FloatingIPDNSEntryController(object):
|
||||
"""DNS Entry controller for OpenStack API"""
|
||||
"""DNS Entry controller for OpenStack API."""
|
||||
|
||||
def __init__(self):
|
||||
self.network_api = network.API()
|
||||
@ -235,7 +235,7 @@ class FloatingIPDNSEntryController(object):
|
||||
|
||||
@wsgi.serializers(xml=FloatingIPDNSTemplate)
|
||||
def update(self, req, domain_id, id, body):
|
||||
"""Add or modify dns entry"""
|
||||
"""Add or modify dns entry."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
domain = _unquote_domain(domain_id)
|
||||
@ -263,7 +263,7 @@ class FloatingIPDNSEntryController(object):
|
||||
'domain': domain})
|
||||
|
||||
def delete(self, req, domain_id, id):
|
||||
"""Delete the entry identified by req and id. """
|
||||
"""Delete the entry identified by req and id."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
domain = _unquote_domain(domain_id)
|
||||
@ -278,7 +278,7 @@ class FloatingIPDNSEntryController(object):
|
||||
|
||||
|
||||
class Floating_ip_dns(extensions.ExtensionDescriptor):
|
||||
"""Floating IP DNS support"""
|
||||
"""Floating IP DNS support."""
|
||||
|
||||
name = "FloatingIpDns"
|
||||
alias = "os-floating-ip-dns"
|
||||
|
@ -76,7 +76,7 @@ class FloatingIPPoolsController(object):
|
||||
|
||||
|
||||
class Floating_ip_pools(extensions.ExtensionDescriptor):
|
||||
"""Floating IPs support"""
|
||||
"""Floating IPs support."""
|
||||
|
||||
name = "FloatingIpPools"
|
||||
alias = "os-floating-ip-pools"
|
||||
|
@ -317,7 +317,7 @@ class FloatingIPActionController(wsgi.Controller):
|
||||
|
||||
|
||||
class Floating_ips(extensions.ExtensionDescriptor):
|
||||
"""Floating IPs support"""
|
||||
"""Floating IPs support."""
|
||||
|
||||
name = "FloatingIps"
|
||||
alias = "os-floating-ips"
|
||||
|
@ -36,14 +36,14 @@ authorize = extensions.extension_authorizer('compute', 'floating_ips_bulk')
|
||||
class FloatingIPBulkController(object):
|
||||
|
||||
def index(self, req):
|
||||
"""Return a list of all floating ips"""
|
||||
"""Return a list of all floating ips."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
||||
return self._get_floating_ip_info(context)
|
||||
|
||||
def show(self, req, id):
|
||||
"""Return a list of all floating ips for a given host"""
|
||||
"""Return a list of all floating ips for a given host."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
||||
@ -76,7 +76,7 @@ class FloatingIPBulkController(object):
|
||||
return floating_ip_info
|
||||
|
||||
def create(self, req, body):
|
||||
"""Bulk create floating ips"""
|
||||
"""Bulk create floating ips."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
||||
@ -111,7 +111,7 @@ class FloatingIPBulkController(object):
|
||||
"interface": interface}}
|
||||
|
||||
def update(self, req, id, body):
|
||||
"""Bulk delete floating IPs"""
|
||||
"""Bulk delete floating IPs."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
||||
@ -154,7 +154,7 @@ class FloatingIPBulkController(object):
|
||||
|
||||
|
||||
class Floating_ips_bulk(extensions.ExtensionDescriptor):
|
||||
"""Bulk handling of Floating IPs"""
|
||||
"""Bulk handling of Floating IPs."""
|
||||
|
||||
name = "FloatingIpsBulk"
|
||||
alias = "os-floating-ips-bulk"
|
||||
|
@ -298,7 +298,7 @@ class HostController(object):
|
||||
|
||||
|
||||
class Hosts(extensions.ExtensionDescriptor):
|
||||
"""Admin-only host administration"""
|
||||
"""Admin-only host administration."""
|
||||
|
||||
name = "Hosts"
|
||||
alias = "os-hosts"
|
||||
|
@ -241,7 +241,7 @@ class HypervisorsController(object):
|
||||
|
||||
|
||||
class Hypervisors(extensions.ExtensionDescriptor):
|
||||
"""Admin-only hypervisor administration"""
|
||||
"""Admin-only hypervisor administration."""
|
||||
|
||||
name = "Hypervisors"
|
||||
alias = "os-hypervisors"
|
||||
|
@ -122,7 +122,7 @@ class InstanceUsageAuditLogController(object):
|
||||
|
||||
|
||||
class Instance_usage_audit_log(extensions.ExtensionDescriptor):
|
||||
"""Admin-only Task Log Monitoring"""
|
||||
"""Admin-only Task Log Monitoring."""
|
||||
name = "OSInstanceUsageAuditLog"
|
||||
alias = "os-instance_usage_audit_log"
|
||||
namespace = "http://docs.openstack.org/ext/services/api/v1.1"
|
||||
|
@ -15,7 +15,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
"""Keypair management extension"""
|
||||
"""Keypair management extension."""
|
||||
|
||||
import webob
|
||||
import webob.exc
|
||||
@ -49,7 +49,7 @@ class KeypairsTemplate(xmlutil.TemplateBuilder):
|
||||
|
||||
class KeypairController(object):
|
||||
|
||||
"""Keypair API controller for the OpenStack API """
|
||||
"""Keypair API controller for the OpenStack API."""
|
||||
def __init__(self):
|
||||
self.api = compute_api.KeypairAPI()
|
||||
|
||||
@ -187,7 +187,7 @@ class Controller(servers.Controller):
|
||||
|
||||
|
||||
class Keypairs(extensions.ExtensionDescriptor):
|
||||
"""Keypair Support"""
|
||||
"""Keypair Support."""
|
||||
|
||||
name = "Keypairs"
|
||||
alias = "os-keypairs"
|
||||
|
@ -84,7 +84,7 @@ class MultinicController(wsgi.Controller):
|
||||
# Note: The class name is as it has to be for this to be loaded as an
|
||||
# extension--only first character capitalized.
|
||||
class Multinic(extensions.ExtensionDescriptor):
|
||||
"""Multiple network support"""
|
||||
"""Multiple network support."""
|
||||
|
||||
name = "Multinic"
|
||||
alias = "NMN"
|
||||
|
@ -18,7 +18,7 @@ from nova.api.openstack import extensions
|
||||
|
||||
|
||||
class Multiple_create(extensions.ExtensionDescriptor):
|
||||
"""Allow multiple create in the Create Server v1.1 API"""
|
||||
"""Allow multiple create in the Create Server v1.1 API."""
|
||||
|
||||
name = "MultipleCreate"
|
||||
alias = "os-multiple-create"
|
||||
|
@ -150,7 +150,7 @@ class NetworkController(wsgi.Controller):
|
||||
|
||||
|
||||
class Networks(extensions.ExtensionDescriptor):
|
||||
"""Admin-only Network Management Extension"""
|
||||
"""Admin-only Network Management Extension."""
|
||||
|
||||
name = "Networks"
|
||||
alias = "os-networks"
|
||||
|
@ -52,7 +52,7 @@ class NetworkAssociateActionController(wsgi.Controller):
|
||||
|
||||
|
||||
class Networks_associate(extensions.ExtensionDescriptor):
|
||||
"""Network association support"""
|
||||
"""Network association support."""
|
||||
|
||||
name = "NetworkAssociationSupport"
|
||||
alias = "os-networks-associate"
|
||||
|
@ -45,7 +45,7 @@ class QuotaClassTemplate(xmlutil.TemplateBuilder):
|
||||
class QuotaClassSetsController(object):
|
||||
|
||||
def _format_quota_set(self, quota_class, quota_set):
|
||||
"""Convert the quota object to a result dict"""
|
||||
"""Convert the quota object to a result dict."""
|
||||
|
||||
result = dict(id=str(quota_class))
|
||||
|
||||
@ -84,7 +84,7 @@ class QuotaClassSetsController(object):
|
||||
|
||||
|
||||
class Quota_classes(extensions.ExtensionDescriptor):
|
||||
"""Quota classes management support"""
|
||||
"""Quota classes management support."""
|
||||
|
||||
name = "QuotaClasses"
|
||||
alias = "os-quota-class-sets"
|
||||
|
@ -48,7 +48,7 @@ class QuotaTemplate(xmlutil.TemplateBuilder):
|
||||
class QuotaSetsController(object):
|
||||
|
||||
def _format_quota_set(self, project_id, quota_set):
|
||||
"""Convert the quota object to a result dict"""
|
||||
"""Convert the quota object to a result dict."""
|
||||
|
||||
result = dict(id=str(project_id))
|
||||
|
||||
@ -106,7 +106,7 @@ class QuotaSetsController(object):
|
||||
|
||||
|
||||
class Quotas(extensions.ExtensionDescriptor):
|
||||
"""Quotas management support"""
|
||||
"""Quotas management support."""
|
||||
|
||||
name = "Quotas"
|
||||
alias = "os-quota-sets"
|
||||
|
@ -81,7 +81,7 @@ class RescueController(wsgi.Controller):
|
||||
|
||||
|
||||
class Rescue(exts.ExtensionDescriptor):
|
||||
"""Instance rescue mode"""
|
||||
"""Instance rescue mode."""
|
||||
|
||||
name = "Rescue"
|
||||
alias = "os-rescue"
|
||||
|
@ -53,7 +53,7 @@ class SchedulerHintsController(wsgi.Controller):
|
||||
|
||||
|
||||
class Scheduler_hints(extensions.ExtensionDescriptor):
|
||||
"""Pass arbitrary key/value pairs to the scheduler"""
|
||||
"""Pass arbitrary key/value pairs to the scheduler."""
|
||||
|
||||
name = "SchedulerHints"
|
||||
alias = "OS-SCH-HNT"
|
||||
|
@ -107,7 +107,7 @@ class SecurityGroupXMLDeserializer(wsgi.MetadataXMLDeserializer):
|
||||
Deserializer to handle xml-formatted security group requests.
|
||||
"""
|
||||
def default(self, string):
|
||||
"""Deserialize an xml-formatted security group create request"""
|
||||
"""Deserialize an xml-formatted security group create request."""
|
||||
dom = minidom.parseString(string)
|
||||
security_group = {}
|
||||
sg_node = self.find_first_child_named(dom,
|
||||
@ -128,13 +128,13 @@ class SecurityGroupRulesXMLDeserializer(wsgi.MetadataXMLDeserializer):
|
||||
"""
|
||||
|
||||
def default(self, string):
|
||||
"""Deserialize an xml-formatted security group create request"""
|
||||
"""Deserialize an xml-formatted security group create request."""
|
||||
dom = minidom.parseString(string)
|
||||
security_group_rule = self._extract_security_group_rule(dom)
|
||||
return {'body': {'security_group_rule': security_group_rule}}
|
||||
|
||||
def _extract_security_group_rule(self, node):
|
||||
"""Marshal the security group rule attribute of a parsed request"""
|
||||
"""Marshal the security group rule attribute of a parsed request."""
|
||||
sg_rule = {}
|
||||
sg_rule_node = self.find_first_child_named(node,
|
||||
'security_group_rule')
|
||||
@ -261,7 +261,7 @@ class SecurityGroupController(SecurityGroupControllerBase):
|
||||
|
||||
@wsgi.serializers(xml=SecurityGroupsTemplate)
|
||||
def index(self, req):
|
||||
"""Returns a list of security groups"""
|
||||
"""Returns a list of security groups."""
|
||||
context = self._authorize_context(req)
|
||||
|
||||
search_opts = {}
|
||||
@ -522,7 +522,7 @@ class SecurityGroupServersTemplate(xmlutil.TemplateBuilder):
|
||||
|
||||
|
||||
class Security_groups(extensions.ExtensionDescriptor):
|
||||
"""Security group support"""
|
||||
"""Security group support."""
|
||||
name = "SecurityGroups"
|
||||
alias = "os-security-groups"
|
||||
namespace = "http://docs.openstack.org/compute/ext/securitygroups/api/v1.1"
|
||||
|
@ -50,7 +50,7 @@ class ServerDiagnosticsController(object):
|
||||
|
||||
|
||||
class Server_diagnostics(extensions.ExtensionDescriptor):
|
||||
"""Allow Admins to view server diagnostics through server action"""
|
||||
"""Allow Admins to view server diagnostics through server action."""
|
||||
|
||||
name = "ServerDiagnostics"
|
||||
alias = "os-server-diagnostics"
|
||||
|
@ -40,7 +40,7 @@ class ServerStartStopActionController(wsgi.Controller):
|
||||
|
||||
@wsgi.action('os-start')
|
||||
def _start_server(self, req, id, body):
|
||||
"""Start an instance. """
|
||||
"""Start an instance."""
|
||||
context = req.environ['nova.context']
|
||||
instance = self._get_instance(context, id)
|
||||
LOG.debug(_('start instance'), instance=instance)
|
||||
@ -58,7 +58,7 @@ class ServerStartStopActionController(wsgi.Controller):
|
||||
|
||||
|
||||
class Server_start_stop(extensions.ExtensionDescriptor):
|
||||
"""Start/Stop instance compute API support"""
|
||||
"""Start/Stop instance compute API support."""
|
||||
|
||||
name = "ServerStartStop"
|
||||
alias = "os-server-start-stop"
|
||||
|
@ -97,7 +97,7 @@ class ServiceController(object):
|
||||
|
||||
@wsgi.serializers(xml=ServicesUpdateTemplate)
|
||||
def update(self, req, id, body):
|
||||
"""Enable/Disable scheduling for a service"""
|
||||
"""Enable/Disable scheduling for a service."""
|
||||
context = req.environ['nova.context']
|
||||
authorize(context)
|
||||
|
||||
@ -127,7 +127,7 @@ class ServiceController(object):
|
||||
|
||||
|
||||
class Services(extensions.ExtensionDescriptor):
|
||||
"""Services support"""
|
||||
"""Services support."""
|
||||
|
||||
name = "Services"
|
||||
alias = "os-services"
|
||||
|
@ -209,7 +209,7 @@ class SimpleTenantUsageController(object):
|
||||
|
||||
@wsgi.serializers(xml=SimpleTenantUsagesTemplate)
|
||||
def index(self, req):
|
||||
"""Retrieve tenant_usage for all tenants"""
|
||||
"""Retrieve tenant_usage for all tenants."""
|
||||
context = req.environ['nova.context']
|
||||
|
||||
authorize_list(context)
|
||||
@ -226,7 +226,7 @@ class SimpleTenantUsageController(object):
|
||||
|
||||
@wsgi.serializers(xml=SimpleTenantUsageTemplate)
|
||||
def show(self, req, id):
|
||||
"""Retrieve tenant_usage for a specified tenant"""
|
||||
"""Retrieve tenant_usage for a specified tenant."""
|
||||
tenant_id = id
|
||||
context = req.environ['nova.context']
|
||||
|
||||
@ -249,7 +249,7 @@ class SimpleTenantUsageController(object):
|
||||
|
||||
|
||||
class Simple_tenant_usage(extensions.ExtensionDescriptor):
|
||||
"""Simple tenant usage extension"""
|
||||
"""Simple tenant usage extension."""
|
||||
|
||||
name = "SimpleTenantUsage"
|
||||
alias = "os-simple-tenant-usage"
|
||||
|
@ -18,7 +18,7 @@ from nova.api.openstack import extensions
|
||||
|
||||
|
||||
class User_data(extensions.ExtensionDescriptor):
|
||||
"""Add user_data to the Create Server v1.1 API"""
|
||||
"""Add user_data to the Create Server v1.1 API."""
|
||||
|
||||
name = "UserData"
|
||||
alias = "os-user-data"
|
||||
|
@ -77,7 +77,7 @@ class ServerVirtualInterfaceController(object):
|
||||
|
||||
|
||||
class Virtual_interfaces(extensions.ExtensionDescriptor):
|
||||
"""Virtual interface support"""
|
||||
"""Virtual interface support."""
|
||||
|
||||
name = "VirtualInterfaces"
|
||||
alias = "os-virtual-interfaces"
|
||||
|
@ -616,7 +616,7 @@ class SnapshotController(wsgi.Controller):
|
||||
|
||||
|
||||
class Volumes(extensions.ExtensionDescriptor):
|
||||
"""Volumes support"""
|
||||
"""Volumes support."""
|
||||
|
||||
name = "Volumes"
|
||||
alias = "os-volumes"
|
||||
|
@ -24,7 +24,7 @@ from nova.image import glance
|
||||
|
||||
|
||||
class Controller(object):
|
||||
"""The image metadata API controller for the OpenStack API"""
|
||||
"""The image metadata API controller for the OpenStack API."""
|
||||
|
||||
def __init__(self):
|
||||
self.image_service = glance.get_default_image_service()
|
||||
@ -38,7 +38,7 @@ class Controller(object):
|
||||
|
||||
@wsgi.serializers(xml=common.MetadataTemplate)
|
||||
def index(self, req, image_id):
|
||||
"""Returns the list of metadata for a given instance"""
|
||||
"""Returns the list of metadata for a given instance."""
|
||||
context = req.environ['nova.context']
|
||||
metadata = self._get_image(context, image_id)['properties']
|
||||
return dict(metadata=metadata)
|
||||
|
@ -24,7 +24,7 @@ from nova import exception
|
||||
|
||||
|
||||
class Controller(object):
|
||||
"""The server metadata API controller for the OpenStack API """
|
||||
"""The server metadata API controller for the OpenStack API."""
|
||||
|
||||
def __init__(self):
|
||||
self.compute_api = compute.API()
|
||||
@ -45,7 +45,7 @@ class Controller(object):
|
||||
|
||||
@wsgi.serializers(xml=common.MetadataTemplate)
|
||||
def index(self, req, server_id):
|
||||
"""Returns the list of metadata for a given instance """
|
||||
"""Returns the list of metadata for a given instance."""
|
||||
context = req.environ['nova.context']
|
||||
return {'metadata': self._get_metadata(context, server_id)}
|
||||
|
||||
@ -138,7 +138,7 @@ class Controller(object):
|
||||
|
||||
@wsgi.serializers(xml=common.MetaItemTemplate)
|
||||
def show(self, req, server_id, id):
|
||||
"""Return a single metadata item """
|
||||
"""Return a single metadata item."""
|
||||
context = req.environ['nova.context']
|
||||
data = self._get_metadata(context, server_id)
|
||||
|
||||
@ -150,7 +150,7 @@ class Controller(object):
|
||||
|
||||
@wsgi.response(204)
|
||||
def delete(self, req, server_id, id):
|
||||
"""Deletes an existing metadata """
|
||||
"""Deletes an existing metadata."""
|
||||
context = req.environ['nova.context']
|
||||
|
||||
metadata = self._get_metadata(context, server_id)
|
||||
|
@ -230,7 +230,7 @@ class CommonDeserializer(wsgi.MetadataXMLDeserializer):
|
||||
return server
|
||||
|
||||
def _extract_block_device_mapping(self, server_node):
|
||||
"""Marshal the block_device_mapping node of a parsed request"""
|
||||
"""Marshal the block_device_mapping node of a parsed request."""
|
||||
node = self.find_first_child_named(server_node, "block_device_mapping")
|
||||
if node:
|
||||
block_device_mapping = []
|
||||
@ -255,7 +255,7 @@ class CommonDeserializer(wsgi.MetadataXMLDeserializer):
|
||||
return None
|
||||
|
||||
def _extract_scheduler_hints(self, server_node):
|
||||
"""Marshal the scheduler hints attribute of a parsed request"""
|
||||
"""Marshal the scheduler hints attribute of a parsed request."""
|
||||
node = self.find_first_child_named_in_namespace(server_node,
|
||||
"http://docs.openstack.org/compute/ext/scheduler-hints/api/v2",
|
||||
"scheduler_hints")
|
||||
|
@ -181,7 +181,7 @@ class ActionDispatcher(object):
|
||||
|
||||
|
||||
class TextDeserializer(ActionDispatcher):
|
||||
"""Default request body deserialization"""
|
||||
"""Default request body deserialization."""
|
||||
|
||||
def deserialize(self, datastring, action='default'):
|
||||
return self.dispatch(datastring, action=action)
|
||||
@ -245,7 +245,7 @@ class XMLDeserializer(TextDeserializer):
|
||||
return result
|
||||
|
||||
def find_first_child_named_in_namespace(self, parent, namespace, name):
|
||||
"""Search a nodes children for the first child with a given name"""
|
||||
"""Search a nodes children for the first child with a given name."""
|
||||
for node in parent.childNodes:
|
||||
if (node.localName == name and
|
||||
node.namespaceURI and
|
||||
@ -254,20 +254,20 @@ class XMLDeserializer(TextDeserializer):
|
||||
return None
|
||||
|
||||
def find_first_child_named(self, parent, name):
|
||||
"""Search a nodes children for the first child with a given name"""
|
||||
"""Search a nodes children for the first child with a given name."""
|
||||
for node in parent.childNodes:
|
||||
if node.localName == name:
|
||||
return node
|
||||
return None
|
||||
|
||||
def find_children_named(self, parent, name):
|
||||
"""Return all of a nodes children who have the given name"""
|
||||
"""Return all of a nodes children who have the given name."""
|
||||
for node in parent.childNodes:
|
||||
if node.localName == name:
|
||||
yield node
|
||||
|
||||
def extract_text(self, node):
|
||||
"""Get the text field contained by the given node"""
|
||||
"""Get the text field contained by the given node."""
|
||||
if len(node.childNodes) == 1:
|
||||
child = node.childNodes[0]
|
||||
if child.nodeType == child.TEXT_NODE:
|
||||
@ -275,7 +275,7 @@ class XMLDeserializer(TextDeserializer):
|
||||
return ""
|
||||
|
||||
def extract_elements(self, node):
|
||||
"""Get only Element type childs from node"""
|
||||
"""Get only Element type childs from node."""
|
||||
elements = []
|
||||
for child in node.childNodes:
|
||||
if child.nodeType == child.ELEMENT_NODE:
|
||||
@ -283,7 +283,7 @@ class XMLDeserializer(TextDeserializer):
|
||||
return elements
|
||||
|
||||
def find_attribute_or_element(self, parent, name):
|
||||
"""Get an attribute value; fallback to an element if not found"""
|
||||
"""Get an attribute value; fallback to an element if not found."""
|
||||
if parent.hasAttribute(name):
|
||||
return parent.getAttribute(name)
|
||||
|
||||
@ -300,7 +300,7 @@ class XMLDeserializer(TextDeserializer):
|
||||
class MetadataXMLDeserializer(XMLDeserializer):
|
||||
|
||||
def extract_metadata(self, metadata_node):
|
||||
"""Marshal the metadata attribute of a parsed request"""
|
||||
"""Marshal the metadata attribute of a parsed request."""
|
||||
metadata = {}
|
||||
if metadata_node is not None:
|
||||
for meta_node in self.find_children_named(metadata_node, "meta"):
|
||||
@ -310,7 +310,7 @@ class MetadataXMLDeserializer(XMLDeserializer):
|
||||
|
||||
|
||||
class DictSerializer(ActionDispatcher):
|
||||
"""Default request body serialization"""
|
||||
"""Default request body serialization."""
|
||||
|
||||
def serialize(self, data, action='default'):
|
||||
return self.dispatch(data, action=action)
|
||||
@ -320,7 +320,7 @@ class DictSerializer(ActionDispatcher):
|
||||
|
||||
|
||||
class JSONDictSerializer(DictSerializer):
|
||||
"""Default JSON request body serialization"""
|
||||
"""Default JSON request body serialization."""
|
||||
|
||||
def default(self, data):
|
||||
return jsonutils.dumps(data)
|
||||
|
@ -101,7 +101,7 @@ def validate_ipv4(addr):
|
||||
|
||||
|
||||
def validate_user_data(user_data):
|
||||
"""Check if the user_data is encoded properly"""
|
||||
"""Check if the user_data is encoded properly."""
|
||||
try:
|
||||
user_data = base64.b64decode(user_data)
|
||||
except TypeError:
|
||||
|
@ -61,7 +61,7 @@ class FoxInSocksFlavorBandsControllerExtension(wsgi.Controller):
|
||||
|
||||
|
||||
class Foxinsocks(extensions.ExtensionDescriptor):
|
||||
"""The Fox In Socks Extension"""
|
||||
"""The Fox In Socks Extension."""
|
||||
|
||||
name = "Fox In Socks"
|
||||
alias = "FOXNSOX"
|
||||
|
@ -228,7 +228,7 @@ class ExtensionControllerTest(ExtensionTestCase):
|
||||
'namespace': 'http://www.fox.in.socks/api/ext/pie/v1.0',
|
||||
'name': 'Fox In Socks',
|
||||
'updated': '2011-01-22T13:25:27-06:00',
|
||||
'description': 'The Fox In Socks Extension',
|
||||
'description': 'The Fox In Socks Extension.',
|
||||
'alias': 'FOXNSOX',
|
||||
'links': []
|
||||
},
|
||||
@ -252,7 +252,7 @@ class ExtensionControllerTest(ExtensionTestCase):
|
||||
"namespace": "http://www.fox.in.socks/api/ext/pie/v1.0",
|
||||
"name": "Fox In Socks",
|
||||
"updated": "2011-01-22T13:25:27-06:00",
|
||||
"description": "The Fox In Socks Extension",
|
||||
"description": "The Fox In Socks Extension.",
|
||||
"alias": "FOXNSOX",
|
||||
"links": []})
|
||||
|
||||
@ -283,7 +283,7 @@ class ExtensionControllerTest(ExtensionTestCase):
|
||||
'http://www.fox.in.socks/api/ext/pie/v1.0')
|
||||
self.assertEqual(fox_ext.get('updated'), '2011-01-22T13:25:27-06:00')
|
||||
self.assertEqual(fox_ext.findtext('{0}description'.format(NS)),
|
||||
'The Fox In Socks Extension')
|
||||
'The Fox In Socks Extension.')
|
||||
|
||||
xmlutil.validate_schema(root, 'extensions')
|
||||
|
||||
@ -303,7 +303,7 @@ class ExtensionControllerTest(ExtensionTestCase):
|
||||
'http://www.fox.in.socks/api/ext/pie/v1.0')
|
||||
self.assertEqual(root.get('updated'), '2011-01-22T13:25:27-06:00')
|
||||
self.assertEqual(root.findtext('{0}description'.format(NS)),
|
||||
'The Fox In Socks Extension')
|
||||
'The Fox In Socks Extension.')
|
||||
|
||||
xmlutil.validate_schema(root, 'extension')
|
||||
|
||||
|
@ -162,7 +162,7 @@
|
||||
},
|
||||
{
|
||||
"alias": "os-fixed-ips",
|
||||
"description": "Fixed IPs support",
|
||||
"description": "Fixed IPs support.",
|
||||
"links": [],
|
||||
"name": "FixedIPs",
|
||||
"namespace": "http://docs.openstack.org/compute/ext/fixed_ips/api/v2",
|
||||
|
@ -61,7 +61,7 @@
|
||||
<description>%(text)s</description>
|
||||
</extension>
|
||||
<extension alias="os-fixed-ips" name="FixedIPs" namespace="http://docs.openstack.org/compute/ext/fixed_ips/api/v2" updated="2012-10-18T13:25:27-06:00">
|
||||
<description>Fixed IPs support</description>
|
||||
<description>Fixed IPs support.</description>
|
||||
</extension>
|
||||
<extension alias="os-flavor-access" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/flavor_access/api/v2" name="FlavorAccess">
|
||||
<description>%(text)s</description>
|
||||
|
Loading…
Reference in New Issue
Block a user