Jump to: navigation, search

NovaAPIv2tov3

Revision as of 09:22, 22 April 2014 by Ghanshyam Mann (talk | contribs) (Updated limits API difference.)

The Changes of Nova API v2 to v3

Note that this page does not cover the tighter input validation with the V3 API. However, you can generally expect that if you make a request that does not conform to the specification (such as parameters which are not allowed) then rather than them being ignored you will receive a 400 Bad Request.

AccessIPs

Demote from server core as new extension called access-ips.

'/servers'

Action Status code Request Response Error code
create accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
flavorRef -> flavor_ref
imageRef -> image_ref
adminPass -> admin_password
OS-DCF:diskConfig -> os-disk-config:disk_config
security_groups -> os-security-groups:security_groups
min_count -> os-multiple-create:min_count
max_count -> os-multiple-create:max_count
return_reservation_id -> os-multiple-create:return_reservation_id
user_data -> os-user-data:user_data
availability_zone -> os-availability-zone:availability_zone
new attribute: os-access-ips:access_ip_v4
new attribute: os-access-ips:access_ip_v6
adminPass -> admin_password
show/detail accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
hostId -> host_id
OS-EXT-SRV-ATTR:host -> os-extended-server-attributes:host
OS-EXT-SRV-ATTR:hypervisor_hostname -> os-extended-server-attributes:hypervisor_hostname
OS-EXT-SRV-ATTR:instance_name -> os-extended-server-attributes:instance_name
OS-EXT-STS:task_state -> os-extended-status:task_state
OS-EXT-STS:vm_state -> os-extended-status:vm_state
OS-EXT-STS:power_state -> os-extended-status:power_state
OS-SRV-USG:launched_at -> os-server-usage:launched_at
OS-SRV-USG:terminated_at -> os-server-usage:terminated_at
OS-EXT-AZ:availability_zone -> os-extended-availability-zone:availability_zone
security_groups -> os-security-groups:security_groups
config_drive -> os-config-drive:config_drive
update accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
hostId -> host_id
rebuild accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
imageRef -> image_ref
adminPass -> admin_password
accessIPv4 -> os-access-ips:access_ip_v4
accessIPv6 -> os-access-ips:access_ip_v6
hostId -> host_id

AdminActions

'/servers/server_id/action'

Action Status code Request Response Error Code
pause
unpause
suspend
resume
migrate FlavorNotFound: 400->404
TooManyInstances: 400->413
resetNetwork->reset_network InstanceIsLocked: 400->409
injectNetworkInfo->inject_network_info InstanceIsLocked: 400->409
createBackup->create_backup
os-migrateLive->migrate_live
os-resetState->reset_state

AdminPassword

Demote action 'changePassword' from server core.

'/servers/server_id/action'

Action Status code Request Response Error code
changePassword=>change_password 202 -> 204 adminPass->admin_password InstancePasswordSetFailed: 500->409
InstanceInvalidState: 400->409

Agents

'/os-agents'

Action Status code Request Response Error code
create 200 -> 201 Invalid Input: 422->400
AgentBuildExists: 500->409
update para -> agent Invalid Input: 422->400
delete 200 -> 204

Aggregates

'/os-aggregates'

Action Status code Request Response Error code
create 200 -> 201
delete 200 -> 204
add_host 200 -> 202
remove_host 200 -> 202

AssistedVolumeSnapshots

deleted from v3

AttachInterfaces

'/servers/os-interface' -> '/servers/os-attach-interfaces'

Action Status code Request Response Error code
index interfaceAttachments->interface_attachments
show interfaceAttachment->interface_attachment
create interfaceAttachment->interface_attachment

AvailabilityZone

'/os-availability-zone'

Action Status code Request Response Error code
index/detail availabilityZoneInfo->availability_zone_info
zoneName->zone_name
zoneState->zone_state

BaremetalExtStatus

deleted from v3

BaremetalNodes

deleted from v3

BlockDeviceMapping

Same with Block_device_mapping_v2_boot. But only support new format

'/servers'

CellCapacities

Merge into cells in v3

Cells

'/os-cells'

Action Status code Request Response Error code
delete 200->204
create 200->201
sync_instances 200->204

Certificates

'/os-certificates'

Action Status code Request Response Error code
create 200->201
get

CloudpipeUpdate

Delete from v3

Cloudpipe

Delete from v3

ConfigDrive

'/os-config-drive'

Action Status code Request Response Error code
create config_drive->os-config-drive:config_drive
show config_drive->os-config-drive:config_drive
detail config_drive->os-config-drive:config_drive

ConsoleOutput

'/servers/server_id/action'

Action Status code Request Response Error code
os-getConsoleOutput -> get_console_output unlimited length: None -> -1 (after https://review.openstack.org/#/c/81947/)

Consoles

Demote from core

'/consoles'

Action Status code Request Response Error code
create 200->201

Coverage

deleted from v3

Createserverext

deleted from v3

DeferredDelete

'/servers'

Action Status code Request Response Error code
forceDelete->force_delete

DiskConfig'

the extend of '/images' was deleted
'/os-disk-config'

Action Status code Request Response Error code
create/update/show/detail/rebuild/resize OS-DCF:diskConfig->os-disk-config:disk_config OS-DCF:diskConfig->os-disk-config:disk_config

Evacuate

'/servers/server_id/action'

Action Status code Request Response Error code
evacuate adminPass->admin_password adminPass->admin_password 202 (instead of 200)

ExtendedAvailabilityZone'

'/servers'

Action Status code Request Response Error code
show/detail OS-EXT-AZ:availability_zone->os-extended-availability-zone:availability_zone

'ExtendedServerAttributes

'/servers'

Action Status code Request Response Error code
show/detail OS-EXT-SRV-ATTR:*->os-extended-server-attributes:*

ExtendedServices

Merge into extension Services

ExtendedFloatingIPs

Delete from v3

ExtendedIPsMac

Merge into IPs

ExtendedIPs

Merge into IPs

ExtendedQuotas

Merge into QuotaSets

ExtendedStatus

Action Status code Request Response Error code
show/detail OS-EXT-STS:*->os-extended-status:*
new attribute: os-extended-status:locked_by

ExtendedVirtualInterfacesNet

Delete from v3

ExtendedVolumes

'/servers'
'servers/server_id/action'

Action Status code Request Response Error code
new action: swap/attach/detach

ExtensionInfo

New for v3

FixedIPs

Deleted from v3

FlavorAccess

Promote to core api

'/os-flavor-access' -> '/flavor-access'

Action Status code Request Response Error code
addTenantAccess->add_tenant_access
removeTenantAccess->remove_tenant_access

FlavorsExtraSpecs

'flavors/:flavor_id/os-extra_specs/:(id) ' -> '/flavors/:flavor_id/flavor-extra-specs/:(id)'

Action Status code Request Response Error code
create 200 -> 201
delete 200 -> 204

FlavorDisabled

Merges into Flavor core

FlavorRxtx

nothing changed

FlavorSwap

Merged into Flavor core

FlavorExtraData

Merged into Flavor core

FlavorManage

'/flavors'

Action Status code Request Response Error code
create 200 -> 201 OS-FLV-EXT-DATA:ephemeral -> ephemeral
os-flavor-access:is_public -> flavor-access:is_public
rxtx_factor -> os-flavor-rxtx:rxtx_factor
OS-FLV-EXT-DATA:ephemeral -> ephemeral
OS-FLV-DISABLED:disabled -> disabled
os-flavor-access:is_public -> flavor-access:is_public
rxtx_factor -> os-flavor-rxtx:rxtx_factor
show OS-FLV-EXT-DATA:ephemeral -> ephemeral
OS-FLV-DISABLED:disabled -> disabled
os-flavor-access:is_public -> flavor-access:is_public
rxtx_factor -> os-flavor-rxtx:rxtx_factor

Flavor

'/flavors'

Action Status code Request Response Error code
index/show/detail OS-FLV-EXT-DATA:ephemeral->ephemera
OS-FLV-DISABLED:disabled->disabled

FloatingIPDns

deleted from v3

FloatingIPPools'

deleted from v3

FloatingIPsBulk

deleted from v3

FloatingIPs

deleted from v3

fping

deleted from v3

HideServerAddresses

nothing changed

Hosts

'/os-hosts'

Action Status code Request Response Error code
update updates - host updates - host
reboot updates - host
shutdown updates - host
startup updates - host

Hypervisors

'/os-hypervisors'

Action Status code Request Response Error code
/os-hypervisors/'match'/search -> /hypervisors/search?query='match' NothingFound: 200->404
/os-hypervisors/'match'/servers->/hypervisors/'hypervisor_id'/servers NothingFound: 200->404
/os-hypervisors/id/servers Returns body indexed by hypervisor instead of hypervisors
/os-hypervisors/id new attribute: os-pci:pci_stats
/os-hypervisors/detail new attribute: os-pci:pci_stats

ImageSize

deleted from v3

InstanceAction

'/servers/server_id/os-instance-actions'

Action Status code Request Response Error code
show/index instanceAction->instance_action

InstanceUsageAuditLog

'/os-instance_usage_audit_log' -> '/os-instance-usage-audit-log'

the action: show has been removed, but the filterː before is used instead in actionːindex

Action Status code Request Response Error code
index instance_usage_audit_logs->instance_usage_audit_log

IPs

Action Status code Request Response Error code
index new attributes:
type
mac_addr
show new attributes:
type
mac_addr

Keypairs

move to core api 'os-keypairs' -> 'keypairs'

Action Status code Request Response Error code
delete 200->204
create 200->201
show delete attributes:
user_id
deleted
created_at
updated_at
deleted_at
id

Limits

deleted from v3

Migrations

nothing changed.

Multinic

'/servers/server_id/action'

Action Status code Request Response Error code
addFixedIp/add_fixed_ip addFixedIp->add_fixed_ip
networkId->network_id
removeFixedIp/remove_fixed_ip removeFixedIp->remove_fixed_ip

MultipleCreate

'/servers'

Action Status code Request Response Error code
create min_count->os-multiple-create:min_count
max_count->os-multiple-create:max_count
return_reservation_id->os-multiple-create:return_reservation_id
{'reservation_id': 'xxx'} -> {'servers_reservation': {'reservation_id': 'xxx'}}

NetworkAssociate

deleted from v3

OsNetwork

deleted from v3

OsTenantNetwork

deleted from v3

Personalities

demote from servers core

QuotaClasses

deleted from v3 and v2

Quotas -> QuotaSets

'/os-quota-sets'

hide injected_files, injected_file_content_bytes and injected_file_path_bytes  in all request and response


Action Status code Request Response Error code
update delete attribute: id
delete attribute: tenant_id
new attribute: id
show new attribute: id
delete 202->204 /os-quota-sets/tenant_id/detail 200 Same as show, but adds usage and reservation information for resource

contrib.consoles -> plugins.v3.remote_consoles

'/servers/server_id/action'

Action Status code Request Response Error code
os-getVNCConsole->get_vnc_console os-getVNCConsole->get_vnc_console
os-getSPICEConsole->get_spice_console os-getSPICEConsole->get_spice_console

Rescue

'/servers/server_id/action'

Action Status code Request Response Error code
rescue 200->202 adminPass->admin_password adminPass->admin_password
enable_instance_password==False: {}
Invalid Input: 500->400

SchedulerHints

'/servers'

Action Status code Request Response Error code
create OS-SCH-HNT:scheduler_hints -> os-scheduler-hints:scheduler_hints
os:scheduler_hints -> os-scheduler-hints:scheduler_hints
adminPass->admin_pass
enable_instance_password==False: {}
Invalid Input: 500->400


SecurityGroupDefaultRules

deleted from v3

SecurityGroups

'/os-security-groups' was deleted
'/os-security-group-rules' was deleted
'/servers/server_id/os-security-groups' was deleted

'/servers':

Action Status code Request Response Error code
create security_groups->os-security-groups:security_groups security_groups->os-security-groups:security_groups

ServerDiagnostics

'/servers/diagnostics'->'/servers/os-server-diagnostics'

ServerMetaData

'/servers/server_id/metadata'

Action Status code Request Response Error code
update 200->201
get metadata item meta->metadata meta->metadata
set metadata item meta->metadata meta->metadata


ServerPassword

'/servers/server_id/os-server-password'

Action Status code Request Response Error code
delete->clear

ServerStartStop

Merged into servers core

ServerUsage

'/servers/server_id'

Action Status code Request Response Error code
show/detail OS-SRV-USG:*->os-server-usage:*

Services

'/os-services/'

Action Status code Request Response Error code
update {'host': 'xxx'}->{'service': {'host': 'xxx'}} Invalid Input: 422->400

Servers

Action Status code Request Response Error code
index 'servers?change-since=->'servers?change_since=' Invalid Input: 422->400
show hostId->host_id
update hostId->host_id
confirmResize->confirm_resize 204->202
revertResize->revert_resize
createImage->create_image

Shelve

'/servers/server_id/action'

Action Status code Request Response Error code
shelveOffload->shelve_offload

UsedLimitsForAdmin

deleted from v3

UsedLimits

deleted from v3

UserData

'/servers'

Action Status code Request Response Error code
create user_data->os-user-data:user_data

UserQuotas

Merged into QuotaSets

VirtualInterfaces'

deleted from v3

VolumeAttachmentUpdate

deleted from v3

Volumes

delete from v3