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:
Sean Dague 2013-01-08 16:14:49 -05:00
parent b9959b180e
commit f20c3a4ea5
63 changed files with 218 additions and 218 deletions

View File

@ -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"
}
]
}
}

View File

@ -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>

View File

@ -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', '')

View File

@ -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

View File

@ -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'

View File

@ -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:

View File

@ -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)

View File

@ -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):

View File

@ -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 = {}

View File

@ -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,

View File

@ -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')

View File

@ -156,7 +156,7 @@ class AgentController(object):
class Agents(extensions.ExtensionDescriptor):
"""Agents support"""
"""Agents support."""
name = "Agents"
alias = "os-agents"

View File

@ -203,7 +203,7 @@ class AggregateController(object):
class Aggregates(extensions.ExtensionDescriptor):
"""Admin-only aggregate administration"""
"""Admin-only aggregate administration."""
name = "Aggregates"
alias = "os-aggregates"

View File

@ -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"

View File

@ -88,7 +88,7 @@ class CertificatesController(object):
class Certificates(extensions.ExtensionDescriptor):
"""Certificates support"""
"""Certificates support."""
name = "Certificates"
alias = "os-certificates"

View File

@ -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

View File

@ -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)

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -170,7 +170,7 @@ class ServerDiskConfigController(wsgi.Controller):
class Disk_config(extensions.ExtensionDescriptor):
"""Disk Management Extension"""
"""Disk Management Extension."""
name = "DiskConfig"
alias = ALIAS

View File

@ -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"

View File

@ -78,7 +78,7 @@ class FixedIPController(object):
class Fixed_ips(extensions.ExtensionDescriptor):
"""Fixed IPs support"""
"""Fixed IPs support."""
name = "FixedIPs"
alias = "os-fixed-ips"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -298,7 +298,7 @@ class HostController(object):
class Hosts(extensions.ExtensionDescriptor):
"""Admin-only host administration"""
"""Admin-only host administration."""
name = "Hosts"
alias = "os-hosts"

View File

@ -241,7 +241,7 @@ class HypervisorsController(object):
class Hypervisors(extensions.ExtensionDescriptor):
"""Admin-only hypervisor administration"""
"""Admin-only hypervisor administration."""
name = "Hypervisors"
alias = "os-hypervisors"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -81,7 +81,7 @@ class RescueController(wsgi.Controller):
class Rescue(exts.ExtensionDescriptor):
"""Instance rescue mode"""
"""Instance rescue mode."""
name = "Rescue"
alias = "os-rescue"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -77,7 +77,7 @@ class ServerVirtualInterfaceController(object):
class Virtual_interfaces(extensions.ExtensionDescriptor):
"""Virtual interface support"""
"""Virtual interface support."""
name = "VirtualInterfaces"
alias = "os-virtual-interfaces"

View File

@ -616,7 +616,7 @@ class SnapshotController(wsgi.Controller):
class Volumes(extensions.ExtensionDescriptor):
"""Volumes support"""
"""Volumes support."""
name = "Volumes"
alias = "os-volumes"

View File

@ -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)

View File

@ -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)

View File

@ -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")

View File

@ -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)

View File

@ -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:

View File

@ -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"

View File

@ -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')

View File

@ -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",

View File

@ -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>