instance.py (ec2-api-14.0.1) | : | instance.py (ec2-api-15.0.0) | ||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
import collections | import collections | |||
import copy | import copy | |||
import itertools | import itertools | |||
import random | import random | |||
import time | import time | |||
from novaclient import exceptions as nova_exception | from novaclient import exceptions as nova_exception | |||
from oslo_config import cfg | from oslo_config import cfg | |||
from oslo_log import log as logging | from oslo_log import log as logging | |||
from oslo_utils import timeutils | from oslo_utils import timeutils | |||
import six | ||||
from ec2api.api import common | from ec2api.api import common | |||
from ec2api.api import ec2utils | from ec2api.api import ec2utils | |||
from ec2api.api import network_interface as network_interface_api | from ec2api.api import network_interface as network_interface_api | |||
from ec2api.api import security_group as security_group_api | from ec2api.api import security_group as security_group_api | |||
from ec2api import clients | from ec2api import clients | |||
from ec2api import context as ec2_context | from ec2api import context as ec2_context | |||
from ec2api.db import api as db_api | from ec2api.db import api as db_api | |||
from ec2api import exception | from ec2api import exception | |||
from ec2api.i18n import _ | from ec2api.i18n import _ | |||
skipping to change at line 1020 | skipping to change at line 1019 | |||
def _get_groups_name_to_id(context): | def _get_groups_name_to_id(context): | |||
# TODO(andrey-mp): remove filtering by vpcId=None when fitering | # TODO(andrey-mp): remove filtering by vpcId=None when fitering | |||
# by None will be implemented | # by None will be implemented | |||
return {g['groupName']: g['groupId'] | return {g['groupName']: g['groupId'] | |||
for g in (security_group_api.describe_security_groups(context) | for g in (security_group_api.describe_security_groups(context) | |||
['securityGroupInfo']) | ['securityGroupInfo']) | |||
if not g.get('vpcId')} | if not g.get('vpcId')} | |||
def _get_ip_info_for_instance(os_instance): | def _get_ip_info_for_instance(os_instance): | |||
addresses = list(itertools.chain(*six.itervalues(os_instance.addresses))) | addresses = list(itertools.chain(*os_instance.addresses.values())) | |||
fixed_ip = next((addr['addr'] for addr in addresses | fixed_ip = next((addr['addr'] for addr in addresses | |||
if (addr['version'] == 4 and | if (addr['version'] == 4 and | |||
addr['OS-EXT-IPS:type'] == 'fixed')), None) | addr['OS-EXT-IPS:type'] == 'fixed')), None) | |||
fixed_ip6 = next((addr['addr'] for addr in addresses | fixed_ip6 = next((addr['addr'] for addr in addresses | |||
if (addr['version'] == 6 and | if (addr['version'] == 6 and | |||
addr['OS-EXT-IPS:type'] == 'fixed')), None) | addr['OS-EXT-IPS:type'] == 'fixed')), None) | |||
floating_ip = next((addr['addr'] for addr in addresses | floating_ip = next((addr['addr'] for addr in addresses | |||
if addr['OS-EXT-IPS:type'] == 'floating'), None) | if addr['OS-EXT-IPS:type'] == 'floating'), None) | |||
return fixed_ip, fixed_ip6, floating_ip | return fixed_ip, fixed_ip6, floating_ip | |||
skipping to change at line 1641 | skipping to change at line 1640 | |||
# approximation | # approximation | |||
inst_state_MIGRATE: inst_state_RUNNING_CODE, | inst_state_MIGRATE: inst_state_RUNNING_CODE, | |||
inst_state_RESIZE: inst_state_RUNNING_CODE, | inst_state_RESIZE: inst_state_RUNNING_CODE, | |||
inst_state_PAUSE: inst_state_STOPPED_CODE, | inst_state_PAUSE: inst_state_STOPPED_CODE, | |||
inst_state_SUSPEND: inst_state_STOPPED_CODE, | inst_state_SUSPEND: inst_state_STOPPED_CODE, | |||
inst_state_RESCUE: inst_state_RUNNING_CODE, | inst_state_RESCUE: inst_state_RUNNING_CODE, | |||
} | } | |||
_CODE_TO_NAMES = {code: [item[0] for item in _NAME_TO_CODE.items() | _CODE_TO_NAMES = {code: [item[0] for item in _NAME_TO_CODE.items() | |||
if item[1] == code] | if item[1] == code] | |||
for code in set(six.itervalues(_NAME_TO_CODE))} | for code in set(_NAME_TO_CODE.values())} | |||
def inst_state_name_to_code(name): | def inst_state_name_to_code(name): | |||
return _NAME_TO_CODE.get(name, inst_state_PENDING_CODE) | return _NAME_TO_CODE.get(name, inst_state_PENDING_CODE) | |||
# NOTE(ft): end of nova/api/ec2/inst_state.py | # NOTE(ft): end of nova/api/ec2/inst_state.py | |||
# EC2 API can return the following values as documented in the EC2 API | # EC2 API can return the following values as documented in the EC2 API | |||
# http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ | # http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ | |||
# ApiReference-ItemType-InstanceStateType.html | # ApiReference-ItemType-InstanceStateType.html | |||
# pending 0 | running 16 | shutting-down 32 | terminated 48 | stopping 64 | | # pending 0 | running 16 | shutting-down 32 | terminated 48 | stopping 64 | | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 2 lines changed or added |