Merge "flake8 compatibility for networking tree -- changes per reviewer comments -- changes per 'hacking' pep8 rules; no flake8"

This commit is contained in:
Jenkins 2016-02-24 20:38:59 +00:00 committed by Gerrit Code Review
commit 50caf690c1
21 changed files with 126 additions and 93 deletions

View File

@ -205,4 +205,4 @@ class UpdateHealthMonitor(AutoMarshallingModel):
elements_dict['admin_state_up'] = str(self.admin_state_up)
element = self._set_xml_etree_element(element, elements_dict)
xml = "{0}{1}".format(xml, ET.tostring(element))
return xml
return xml

View File

@ -366,8 +366,8 @@ class NetworkingBehaviors(NetworkingBaseBehaviors):
for server_id in server_id_list:
resp = self.compute.servers.client.get_server(server_id)
if (resp.status_code == ComputeResponseCodes.SERVER_GET and
resp.entity.status == ComputeStatus.ACTIVE
and server_id in server_id_list):
resp.entity.status == ComputeStatus.ACTIVE and
server_id in server_id_list):
server_id_list.remove(server_id)
if not server_id_list:
break
@ -431,8 +431,8 @@ class NetworkingBehaviors(NetworkingBaseBehaviors):
while time.time() < end_time:
for resource_id in resource_id_list:
resp = get_method(resource_id)
if (resp.status_code == ComputeResponseCodes.NOT_FOUND
and resource_id in resource_id_list):
if (resp.status_code == ComputeResponseCodes.NOT_FOUND and
resource_id in resource_id_list):
resource_id_list.remove(resource_id)
if not resource_id_list:
break

View File

@ -24,8 +24,8 @@ from cloudcafe.networking.networks.common.constants \
import NeutronResponseCodes, NeutronResource
from cloudcafe.networking.networks.common.exceptions \
import ResourceBuildException, ResourceDeleteException, \
ResourceGetException, ResourceListException, ResourceUpdateException, \
UnhandledMethodCaseException
ResourceGetException, ResourceListException, ResourceUpdateException, \
UnhandledMethodCaseException
class NetworkingBaseBehaviors(BaseBehavior):
@ -81,11 +81,12 @@ class NetworkingBaseBehaviors(BaseBehavior):
response_msg = None
elif not resp.ok or resp.status_code != status_code:
err_msg = ('{label} {message}: {status} {reason} '
err_msg = (
'{label} {message}: {status} {reason} '
'{content}. Expected status code {expected_status}').format(
label=label, message=message, status=resp.status_code,
reason=resp.reason, content=resp.content,
expected_status=status_code)
label=label, message=message, status=resp.status_code,
reason=resp.reason, content=resp.content,
expected_status=status_code)
self._log.error(err_msg)
response_msg = err_msg
elif not resp.entity:
@ -227,7 +228,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
# If has_name is False name can be used as a reference for log messages
name = attrs_kwargs.get('name')
if has_name == True:
if has_name:
if name is None:
name = rand_name(self.config.starts_with_name)
elif not use_exact_name:
@ -240,7 +241,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
poll_interval = poll_interval or self.config.api_poll_interval
resource_build_attempts = (resource_build_attempts or
self.config.api_retries)
self.config.api_retries)
use_over_limit_retry = (use_over_limit_retry or
self.config.use_over_limit_retry)
timeout = timeout or self.config.resource_create_timeout
@ -250,9 +251,10 @@ class NetworkingBaseBehaviors(BaseBehavior):
for attempt in range(resource_build_attempts):
self._log.debug(
'Attempt {attempt_n} of {attempts} creating '
'{resource_type}'.format(attempt_n=attempt + 1,
attempts=resource_build_attempts,
resource_type=resource_type))
'{resource_type}'.format(
attempt_n=attempt + 1,
attempts=resource_build_attempts,
resource_type=resource_type))
# Method uses resource type in singular form (slicing the ending s)
create_fn_name = 'create_{0}'.format(resource_type)
@ -332,7 +334,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
poll_interval = poll_interval or self.config.api_poll_interval
resource_update_attempts = (resource_update_attempts or
self.config.api_retries)
self.config.api_retries)
use_over_limit_retry = (use_over_limit_retry or
self.config.use_over_limit_retry)
timeout = timeout or self.config.resource_update_timeout
@ -431,7 +433,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
poll_interval = poll_interval or self.config.api_poll_interval
resource_get_attempts = (resource_get_attempts or
self.config.api_retries)
self.config.api_retries)
use_over_limit_retry = (use_over_limit_retry or
self.config.use_over_limit_retry)
timeout = timeout or self.config.resource_get_timeout
@ -469,9 +471,11 @@ class NetworkingBaseBehaviors(BaseBehavior):
response_code = get_fn_name.upper()
status_code = getattr(self.response_codes, response_code)
resp_check = self.check_response(resp=resp,
resp_check = self.check_response(
resp=resp,
status_code=status_code,
label=resource_id, message=err_msg)
label=resource_id,
message=err_msg)
result.response = resp
if not resp_check:
@ -526,7 +530,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
poll_interval = poll_interval or self.config.api_poll_interval
resource_list_attempts = (resource_list_attempts or
self.config.api_retries)
self.config.api_retries)
use_over_limit_retry = (use_over_limit_retry or
self.config.use_over_limit_retry)
timeout = timeout or self.config.resource_get_timeout
@ -613,7 +617,7 @@ class NetworkingBaseBehaviors(BaseBehavior):
poll_interval = poll_interval or self.config.api_poll_interval
resource_delete_attempts = (resource_delete_attempts or
self.config.api_retries)
self.config.api_retries)
use_over_limit_retry = (use_over_limit_retry or
self.config.use_over_limit_retry)
timeout = timeout or self.config.resource_get_timeout
@ -808,7 +812,8 @@ class NetworkingBaseBehaviors(BaseBehavior):
return None
time.sleep(poll_interval)
err_msg = ('Unable to delete {resource_id} {resource_type} within a '
err_msg = (
'Unable to delete {resource_id} {resource_type} within a '
'{timeout}s timeout').format(resource_id=resource_id,
resource_type=resource_type,
timeout=timeout)
@ -849,10 +854,11 @@ class NetworkingBaseBehaviors(BaseBehavior):
if result:
undeleted_resources.append(result)
if undeleted_resources:
err_msg = ('Unable to delete {resource_type}: '
'{undeleted_resources}').format(
resource_type=resource_type_plural,
undeleted_resources=undeleted_resources)
err_msg = (
'Unable to delete {resource_type}: '
'{undeleted_resources}').format(
resource_type=resource_type_plural,
undeleted_resources=undeleted_resources)
self._log.error(err_msg)
return undeleted_resources

View File

@ -15,7 +15,6 @@ limitations under the License.
"""
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingModel

View File

@ -15,7 +15,6 @@ limitations under the License.
"""
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingModel

View File

@ -15,7 +15,6 @@ limitations under the License.
"""
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingModel

View File

@ -16,7 +16,6 @@ limitations under the License.
import copy
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingListModel, \
AutoMarshallingModel

View File

@ -16,7 +16,6 @@ limitations under the License.
import copy
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingListModel
from cafe.engine.models.base import AutoMarshallingModel

View File

@ -16,7 +16,6 @@ limitations under the License.
import copy
import json
import xml.etree.ElementTree as ET
from cafe.engine.models.base import AutoMarshallingListModel
from cafe.engine.models.base import AutoMarshallingModel

View File

@ -18,8 +18,8 @@ from cloudcafe.auth.provider import MemoizedAuthServiceComposite
from cloudcafe.networking.networks.common.config import NetworkingBaseConfig
from cloudcafe.networking.networks.config import MarshallingConfig,\
NetworkingEndpointConfig, NetworkingAdminEndpointConfig,\
NetworkingAdminAuthConfig, NetworkingSecondUserConfig, \
NetworkingAdminUserConfig, UserAuthConfig, UserConfig
NetworkingAdminAuthConfig, NetworkingAdminUserConfig, UserAuthConfig, \
UserConfig
from cloudcafe.networking.networks.behaviors import NetworkingBehaviors
from cloudcafe.networking.networks.common.behaviors \
import NetworkingBaseBehaviors
@ -49,8 +49,7 @@ class _NetworkingAuthComposite(MemoizedAuthServiceComposite):
self._auth_user_config = self._auth_user_config()
super(_NetworkingAuthComposite, self).__init__(
service_name=self.networking_endpoint_config.\
networking_endpoint_name,
service_name=self.networking_endpoint_config.networking_endpoint_name,
region=self.networking_endpoint_config.region,
endpoint_config=self._auth_endpoint_config,
user_config=self._auth_user_config)

View File

@ -16,6 +16,7 @@ limitations under the License.
from cloudcafe.common.models.configuration import ConfigSectionInterface
class NeutronExtensionConfig(ConfigSectionInterface):
SECTION_NAME = 'neutron_extensions'

View File

@ -1,11 +1,13 @@
COMMON_ROOT_TAG = 'floatingip'
class FloatingIPStates(object):
ACTIVE = 'ACTIVE'
DOWN = 'DOWN'
ERROR = 'ERROR'
class FLIPResponseCodes(object):
CREATE_SUCCESS = 201
LIST_SUCCESS = 200

View File

@ -20,6 +20,7 @@ from cafe.engine.models.base import AutoMarshallingModel
from cloudcafe.networking.networks.extensions.floating_ips.constants \
import COMMON_ROOT_TAG
class FloatingIPRequest(AutoMarshallingModel):
"""
Model for associating the floating IP with an internal port.

View File

@ -22,6 +22,7 @@ from cafe.engine.models.base \
COMMON_ROOT_TAG = 'floatingip'
class ModelConstraints(object):
PUBLIC_NET_UUID = '00000000-0000-0000-0000-000000000000'

View File

@ -50,18 +50,22 @@ class LimitsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_get_attempts = (resource_get_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Limits GET failure'
for attempt in range(resource_get_attempts):
self._log.debug('Attempt {0} of {1} with limits GET'.
format(attempt + 1, resource_get_attempts))
self._log.debug(
'Attempt {0} of {1} with limits GET'.format(
attempt + 1,
resource_get_attempts))
resp = self.client.get_limits(page_reverse=page_reverse)
resp_check = self.check_response(resp=resp,
resp_check = self.check_response(
resp=resp,
status_code=LimitsResponseCodes.GET_LIMITS,
label='', message=err_msg)
label='',
message=err_msg)
result.response = resp
# resp_check will have the response failure or None if no failure

View File

@ -16,8 +16,7 @@ limitations under the License.
import json
from cafe.engine.models.base import AutoMarshallingListModel, \
AutoMarshallingModel
from cafe.engine.models.base import AutoMarshallingModel
class Limits(AutoMarshallingModel):

View File

@ -19,6 +19,7 @@ import json
from cafe.engine.models.base \
import AutoMarshallingListModel, AutoMarshallingModel
class NeutronExtension(AutoMarshallingModel):
def __init__(self, updated, name, links, namespace, alias, description):
super(NeutronExtension, self).__init__()

View File

@ -64,7 +64,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
name = rand_name(name)
poll_interval = poll_interval or self.config.api_poll_interval
resource_build_attempts = (resource_build_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Create failure'
@ -76,9 +76,11 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
resp = self.client.create_security_group(
name=name, description=description, tenant_id=tenant_id)
resp_check = self.check_response(resp=resp,
resp_check = self.check_response(
resp=resp,
status_code=SecurityGroupsResponseCodes.CREATE_SECURITY_GROUP,
label=name, message=err_msg)
label=name,
message=err_msg)
result.response = resp
if not resp_check:
@ -125,7 +127,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_update_attempts = (resource_update_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Update failure'
@ -180,20 +182,25 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_get_attempts = (resource_get_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Get failure'
for attempt in range(resource_get_attempts):
self._log.debug('Attempt {0} of {1} getting security group {2}'.
format(attempt + 1, resource_get_attempts, security_group_id))
self._log.debug(
'Attempt {0} of {1} getting security group {2}'.format(
attempt + 1,
resource_get_attempts,
security_group_id))
resp = self.client.get_security_group(
security_group_id=security_group_id)
resp_check = self.check_response(resp=resp,
resp_check = self.check_response(
resp=resp,
status_code=SecurityGroupsResponseCodes.GET_SECURITY_GROUP,
label=security_group_id, message=err_msg)
label=security_group_id,
message=err_msg)
result.response = resp
if not resp_check:
@ -247,22 +254,26 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_list_attempts = (resource_list_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group List failure'
for attempt in range(resource_list_attempts):
self._log.debug('Attempt {0} of {1} with security groups list'.
format(attempt + 1, resource_list_attempts))
self._log.debug(
'Attempt {0} of {1} with security groups list'.format(
attempt + 1,
resource_list_attempts))
resp = self.client.list_security_groups(
security_group_id=security_group_id, name=name,
description=description, tenant_id=tenant_id, limit=limit,
marker=marker, page_reverse=page_reverse)
resp_check = self.check_response(resp=resp,
resp_check = self.check_response(
resp=resp,
status_code=SecurityGroupsResponseCodes.LIST_SECURITY_GROUPS,
label='', message=err_msg)
label='',
message=err_msg)
result.response = resp
if not resp_check:
@ -302,13 +313,13 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_delete_attempts = (resource_delete_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
for attempt in range(resource_delete_attempts):
self._log.debug('Attempt {0} of {1} deleting security group {2}'.
format(attempt + 1, resource_delete_attempts,
security_group_id))
self._log.debug(
'Attempt {0} of {1} deleting security group {2}'.format(
attempt + 1, resource_delete_attempts, security_group_id))
resp = self.client.delete_security_group(
security_group_id=security_group_id)
@ -320,13 +331,15 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
return result
del_status_code = SecurityGroupsResponseCodes.DELETE_SECURITY_GROUP
err_msg = ('{security_group} Security Group Delete failure, '
err_msg = (
'{security_group} Security Group Delete failure, '
'expected status code: {expected_status}. Response: {status} '
'{reason} {content}').format(
security_group=security_group_id,
expected_status=del_status_code,
status=resp.status_code, reason=resp.reason,
content=resp.content)
'{reason} {content}'
).format(security_group=security_group_id,
expected_status=del_status_code,
status=resp.status_code,
reason=resp.reason,
content=resp.content)
self._log.error(err_msg)
result.failures.append(err_msg)
time.sleep(poll_interval)
@ -360,7 +373,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
if (resp.response.status_code !=
SecurityGroupsResponseCodes.LIST_SECURITY_GROUPS):
get_msg = ('Unable to get security groups list for '
'delete_security_groups call')
'delete_security_groups call')
self._log.info(get_msg)
return None
security_groups = resp.response.entity
@ -417,7 +430,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
self._log.error(err_msg)
if (resp is not None and
resp.status_code == SecurityGroupsResponseCodes.NOT_FOUND):
resp.status_code == SecurityGroupsResponseCodes.NOT_FOUND):
return None
time.sleep(poll_interval)
@ -497,14 +510,17 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_build_attempts = (resource_build_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Rule Create failure'
for attempt in range(resource_build_attempts):
self._log.debug(('Attempt {0} of {1} building security group rule '
'at security group {2}').format(attempt + 1,
resource_build_attempts, security_group_id))
self._log.debug((
'Attempt {0} of {1} building security group rule '
'at security group {2}')
.format(attempt + 1,
resource_build_attempts,
security_group_id))
resp = self.client.create_security_group_rule(
security_group_id=security_group_id, direction=direction,
@ -528,9 +544,12 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
time.sleep(poll_interval)
else:
err_msg = ('Unable to create at security group {0} security group '
'rule after {1} attempts: {2}').format(security_group_id,
resource_build_attempts, result.failures)
err_msg = (
'Unable to create at security group {0} security group '
'rule after {1} attempts: {2}'
).format(security_group_id,
resource_build_attempts,
result.failures)
self._log.error(err_msg)
if raise_exception:
raise ResourceBuildException(err_msg)
@ -555,7 +574,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_get_attempts = (resource_get_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Rule Get failure'
@ -641,7 +660,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_list_attempts = (resource_list_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
err_msg = 'Security Group Rules List failure'
@ -701,7 +720,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
"""
poll_interval = poll_interval or self.config.api_poll_interval
resource_delete_attempts = (resource_delete_attempts or
self.config.api_retries)
self.config.api_retries)
result = NetworkingResponse()
for attempt in range(resource_delete_attempts):
@ -719,7 +738,8 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
SecurityGroupsResponseCodes.DELETE_SECURITY_GROUP_RULE):
return result
del_status_code = SecurityGroupsResponseCodes.DELETE_SECURITY_GROUP_RULE
del_status_code = \
SecurityGroupsResponseCodes.DELETE_SECURITY_GROUP_RULE
err_msg = (
'{security_group_rule} Security Group Rule Delete failure, '
'expected status code: {expected_status}. Response: {status} '
@ -760,7 +780,8 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
security_group_id=security_group_id, tenant_id=tenant_id)
if (resp.response.status_code !=
SecurityGroupsResponseCodes.LIST_SECURITY_GROUP_RULES):
get_msg = ('Unable to get security groups rules list for '
get_msg = (
'Unable to get security groups rules list for '
'delete_security_group_rules call')
self._log.info(get_msg)
return None
@ -823,7 +844,7 @@ class SecurityGroupsBehaviors(NetworkingBaseBehaviors):
self._log.error(err_msg)
if (resp is not None and
resp.status_code == SecurityGroupsResponseCodes.NOT_FOUND):
resp.status_code == SecurityGroupsResponseCodes.NOT_FOUND):
return None
time.sleep(poll_interval)

View File

@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License.
"""
import netaddr
import time
from cloudcafe.networking.networks.common.behaviors \
import NetworkingBaseBehaviors
@ -189,9 +188,9 @@ class PortsBehaviors(NetworkingBaseBehaviors):
@rtype: common.behaviors.NetworkingResponse
"""
attrs_kwargs = dict(
name=name, admin_state_up=admin_state_up,
fixed_ips=fixed_ips, device_id=device_id,
device_owner=device_owner, security_groups=security_groups)
name=name, admin_state_up=admin_state_up,
fixed_ips=fixed_ips, device_id=device_id,
device_owner=device_owner, security_groups=security_groups)
result = self._update_resource(
resource=self.ports_resource,

View File

@ -131,9 +131,12 @@ class PortsClient(AutoMarshallingHTTPClient):
url = '{base_url}/ports/{port_id}'.format(
base_url=self.url, port_id=port_id)
request = PortRequest(name=name, admin_state_up=admin_state_up,
fixed_ips=fixed_ips, device_id=device_id,
device_owner=device_owner, security_groups=security_groups)
request = PortRequest(name=name,
admin_state_up=admin_state_up,
fixed_ips=fixed_ips,
device_id=device_id,
device_owner=device_owner,
security_groups=security_groups)
resp = self.request('PUT', url,
response_entity_type=Port,
request_entity=request,

View File

@ -409,8 +409,10 @@ class SubnetsBehaviors(NetworkingBaseBehaviors):
allocation_pools = []
for _ in range(num):
end_increment = start_increment + ip_range
allocation_pool = self.get_allocation_pool(cidr=cidr,
start_increment=start_increment, end_increment=end_increment)
allocation_pool = self.get_allocation_pool(
cidr=cidr,
start_increment=start_increment,
end_increment=end_increment)
allocation_pools.append(allocation_pool)
start_increment = end_increment + interval
return allocation_pools
@ -583,7 +585,7 @@ class SubnetsBehaviors(NetworkingBaseBehaviors):
return result
def get_subnet(self, subnet_id, resource_get_attempts=None,
raise_exception=False, poll_interval=None):
raise_exception=False, poll_interval=None):
"""
@summary: Shows and verifies a specified subnet
@param subnet_id: The UUID for the subnet