Apply super _show_resource() for neutron resources

Most of neutron resources do not have to override
the method _show_resource() except the sfc resources.

Change-Id: Iaa4a10c757892932d81247b3638926e61aa76744
Blueprint: refactor-show-resource
This commit is contained in:
huangtianhua 2017-01-13 18:14:26 +08:00
parent 2fa8cc09d3
commit f4ec553b90
23 changed files with 88 additions and 117 deletions

View File

@ -29,6 +29,8 @@ class AddressScope(neutron.NeutronResource):
required_service_extension = 'address-scope'
entity = 'address_scope'
support_status = support.SupportStatus(version='6.0.0')
PROPERTIES = (
@ -93,10 +95,6 @@ class AddressScope(neutron.NeutronResource):
self.resource_id,
{'address_scope': prop_diff})
def _show_resource(self):
return self.client().show_address_scope(
self.resource_id)['address_scope']
def resource_mapping():
return {

View File

@ -30,6 +30,8 @@ class Firewall(neutron.NeutronResource):
required_service_extension = 'fwaas'
entity = 'firewall'
PROPERTIES = (
NAME, DESCRIPTION, ADMIN_STATE_UP, FIREWALL_POLICY_ID,
VALUE_SPECS, SHARED,
@ -135,9 +137,6 @@ class Firewall(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_firewall(self.resource_id)['firewall']
def check_create_complete(self, data):
attributes = self._show_resource()
status = attributes['status']
@ -192,6 +191,8 @@ class FirewallPolicy(neutron.NeutronResource):
required_service_extension = 'fwaas'
entity = 'firewall_policy'
PROPERTIES = (
NAME, DESCRIPTION, SHARED, AUDITED, FIREWALL_RULES,
) = (
@ -268,10 +269,6 @@ class FirewallPolicy(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_firewall_policy(self.resource_id)[
'firewall_policy']
def handle_create(self):
props = self.prepare_properties(
self.properties,
@ -304,6 +301,8 @@ class FirewallRule(neutron.NeutronResource):
required_service_extension = 'fwaas'
entity = 'firewall_rule'
PROPERTIES = (
NAME, DESCRIPTION, SHARED, PROTOCOL, IP_VERSION,
SOURCE_IP_ADDRESS, DESTINATION_IP_ADDRESS, SOURCE_PORT,
@ -464,10 +463,6 @@ class FirewallRule(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_firewall_rule(
self.resource_id)['firewall_rule']
def handle_create(self):
props = self.prepare_properties(
self.properties,

View File

@ -34,6 +34,9 @@ class FloatingIP(neutron.NeutronResource):
user to have a "static" IP address that can be reassigned when an instance
is upgraded or moved.
"""
entity = 'floatingip'
PROPERTIES = (
FLOATING_NETWORK_ID, FLOATING_NETWORK, VALUE_SPECS,
PORT_ID, FIXED_IP_ADDRESS, FLOATING_IP_ADDRESS,
@ -265,9 +268,6 @@ class FloatingIP(neutron.NeutronResource):
'floatingip': props})['floatingip']
self.resource_id_set(fip['id'])
def _show_resource(self):
return self.client().show_floatingip(self.resource_id)['floatingip']
def handle_delete(self):
with self.client_plugin().ignore_not_found:
self.client().delete_floatingip(self.resource_id)

View File

@ -33,6 +33,10 @@ class HealthMonitor(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'lbaas_healthmonitor'
res_info_key = 'healthmonitor'
# Properties inputs for the resources create/update.
PROPERTIES = (
ADMIN_STATE_UP, DELAY, EXPECTED_CODES, HTTP_METHOD,
@ -184,10 +188,6 @@ class HealthMonitor(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
return self.client().show_lbaas_healthmonitor(
self.resource_id)['healthmonitor']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False
return prop_diff

View File

@ -39,6 +39,10 @@ class L7Policy(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'lbaas_l7policy'
res_info_key = 'l7policy'
PROPERTIES = (
NAME, DESCRIPTION, ADMIN_STATE_UP, ACTION,
REDIRECT_POOL, REDIRECT_URL, POSITION, LISTENER
@ -214,9 +218,6 @@ class L7Policy(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
return self.client().show_lbaas_l7policy(self.resource_id)['l7policy']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False
if self.REDIRECT_POOL in prop_diff:

View File

@ -31,6 +31,10 @@ class L7Rule(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'lbaas_l7rule'
res_info_key = 'rule'
PROPERTIES = (
ADMIN_STATE_UP, L7POLICY, TYPE, COMPARE_TYPE,
INVERT, KEY, VALUE
@ -157,9 +161,8 @@ class L7Rule(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
return self.client().show_lbaas_l7rule(
self.resource_id, self.l7policy_id)['rule']
def _res_get_args(self):
return [self.resource_id, self.l7policy_id]
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False

View File

@ -35,6 +35,8 @@ class Listener(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'listener'
PROPERTIES = (
PROTOCOL_PORT, PROTOCOL, LOADBALANCER, NAME,
ADMIN_STATE_UP, DESCRIPTION, DEFAULT_TLS_CONTAINER_REF,
@ -187,10 +189,6 @@ class Listener(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
return self.client().show_listener(
self.resource_id)['listener']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False
return prop_diff

View File

@ -37,6 +37,8 @@ class LoadBalancer(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'loadbalancer'
PROPERTIES = (
DESCRIPTION, NAME, PROVIDER, VIP_ADDRESS, VIP_SUBNET,
ADMIN_STATE_UP, TENANT_ID
@ -143,10 +145,6 @@ class LoadBalancer(neutron.NeutronResource):
def check_create_complete(self, data):
return self.client_plugin().check_lb_status(self.resource_id)
def _show_resource(self):
return self.client().show_loadbalancer(
self.resource_id)['loadbalancer']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
if prop_diff:
self.client().update_loadbalancer(

View File

@ -36,6 +36,10 @@ class Pool(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'lbaas_pool'
res_info_key = 'pool'
PROPERTIES = (
ADMIN_STATE_UP, DESCRIPTION, SESSION_PERSISTENCE, NAME,
LB_ALGORITHM, LISTENER, PROTOCOL, SESSION_PERSISTENCE_TYPE,
@ -218,9 +222,6 @@ class Pool(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
return self.client().show_lbaas_pool(self.resource_id)['pool']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False
return prop_diff

View File

@ -33,6 +33,10 @@ class PoolMember(neutron.NeutronResource):
required_service_extension = 'lbaasv2'
entity = 'lbaas_member'
res_info_key = 'member'
PROPERTIES = (
POOL, ADDRESS, PROTOCOL_PORT, WEIGHT, ADMIN_STATE_UP,
SUBNET,
@ -174,10 +178,8 @@ class PoolMember(neutron.NeutronResource):
return self._check_lb_status()
def _show_resource(self):
member = self.client().show_lbaas_member(self.resource_id,
self.pool_id)
return member['member']
def _res_get_args(self):
return [self.resource_id, self.pool_id]
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
self._update_called = False

View File

@ -43,6 +43,8 @@ class HealthMonitor(neutron.NeutronResource):
required_service_extension = 'lbaas'
entity = 'health_monitor'
support_status = support.SupportStatus(
support.DEPRECATED, DEPR_MSG, version='7.0.0'
)
@ -172,10 +174,6 @@ class HealthMonitor(neutron.NeutronResource):
{'health_monitor': properties})['health_monitor']
self.resource_id_set(health_monitor['id'])
def _show_resource(self):
return self.client().show_health_monitor(
self.resource_id)['health_monitor']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
if prop_diff:
self.client().update_health_monitor(
@ -202,6 +200,8 @@ class Pool(neutron.NeutronResource):
required_service_extension = 'lbaas'
entity = 'pool'
support_status = support.SupportStatus(
support.DEPRECATED, DEPR_MSG, version='7.0.0'
)
@ -502,9 +502,6 @@ class Pool(neutron.NeutronResource):
self.metadata_set({'vip': vip['id']})
def _show_resource(self):
return self.client().show_pool(self.resource_id)['pool']
def check_create_complete(self, data):
attributes = self._show_resource()
status = attributes['status']
@ -604,6 +601,8 @@ class PoolMember(neutron.NeutronResource):
required_service_extension = 'lbaas'
entity = 'member'
support_status = support.SupportStatus(
support.DEPRECATED, DEPR_MSG, version='7.0.0',
previous_status=support.SupportStatus(version='2014.1')
@ -710,9 +709,6 @@ class PoolMember(neutron.NeutronResource):
member = self.client().create_member({'member': params})['member']
self.resource_id_set(member['id'])
def _show_resource(self):
return self.client().show_member(self.resource_id)['member']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
if prop_diff:
self.client().update_member(

View File

@ -33,6 +33,8 @@ class MeteringLabel(neutron.NeutronResource):
support_status = support.SupportStatus(version='2014.1')
entity = 'metering_label'
PROPERTIES = (
NAME, DESCRIPTION, SHARED,
) = (
@ -88,10 +90,6 @@ class MeteringLabel(neutron.NeutronResource):
self.resource_id_set(metering_label['id'])
def _show_resource(self):
return self.client().show_metering_label(
self.resource_id)['metering_label']
def handle_delete(self):
try:
self.client().delete_metering_label(self.resource_id)
@ -110,6 +108,8 @@ class MeteringRule(neutron.NeutronResource):
support_status = support.SupportStatus(version='2014.1')
entity = 'metering_label_rule'
PROPERTIES = (
METERING_LABEL_ID, REMOTE_IP_PREFIX, DIRECTION, EXCLUDED,
) = (
@ -182,10 +182,6 @@ class MeteringRule(neutron.NeutronResource):
self.resource_id_set(metering_label_rule['id'])
def _show_resource(self):
return self.client().show_metering_label_rule(
self.resource_id)['metering_label_rule']
def handle_delete(self):
try:
self.client().delete_metering_label_rule(self.resource_id)

View File

@ -26,6 +26,9 @@ class Net(neutron.NeutronResource):
reserved to the tenant who created it, unless the network has been
explicitly configured to be shared.
"""
entity = 'network'
PROPERTIES = (
NAME, VALUE_SPECS, ADMIN_STATE_UP, TENANT_ID, SHARED,
DHCP_AGENT_IDS, PORT_SECURITY_ENABLED, QOS_POLICY,
@ -169,10 +172,6 @@ class Net(neutron.NeutronResource):
if dhcp_agent_ids:
self._replace_dhcp_agents(dhcp_agent_ids)
def _show_resource(self):
return self.client().show_network(
self.resource_id)['network']
def check_create_complete(self, *args):
attributes = self._show_resource()
return self.is_built(attributes)

View File

@ -32,6 +32,8 @@ class NetworkGateway(neutron.NeutronResource):
support_status = support.SupportStatus(version='2014.1')
entity = 'network_gateway'
PROPERTIES = (
NAME, DEVICES, CONNECTIONS,
) = (
@ -167,10 +169,6 @@ class NetworkGateway(neutron.NeutronResource):
)
]
def _show_resource(self):
return self.client().show_network_gateway(
self.resource_id)['network_gateway']
def validate(self):
"""Validate any of the provided params."""
super(NetworkGateway, self).validate()

View File

@ -40,6 +40,8 @@ class Port(neutron.NeutronResource):
was taken from the allocation pool for a specific subnet.
"""
entity = 'port'
PROPERTIES = (
NAME, NETWORK_ID, NETWORK, FIXED_IPS, SECURITY_GROUPS,
REPLACEMENT_POLICY, DEVICE_ID, DEVICE_OWNER, DNS_NAME,
@ -469,10 +471,6 @@ class Port(neutron.NeutronResource):
if self.REPLACEMENT_POLICY in props:
del(props[self.REPLACEMENT_POLICY])
def _show_resource(self):
return self.client().show_port(
self.resource_id)['port']
def check_create_complete(self, *args):
attributes = self._show_resource()
return self.is_built(attributes)

View File

@ -32,6 +32,10 @@ class QoSPolicy(neutron.NeutronResource):
required_service_extension = 'qos'
entity = 'qos_policy'
res_info_key = 'policy'
support_status = support.SupportStatus(version='6.0.0')
PROPERTIES = (
@ -98,10 +102,6 @@ class QoSPolicy(neutron.NeutronResource):
self.resource_id,
{'policy': prop_diff})
def _show_resource(self):
return self.client().show_qos_policy(
self.resource_id)['policy']
class QoSRule(neutron.NeutronResource):
"""A resource for Neutron QoS base rule."""
@ -153,6 +153,8 @@ class QoSBandwidthLimitRule(QoSRule):
administrators only.
"""
entity = 'bandwidth_limit_rule'
PROPERTIES = (
MAX_BANDWIDTH, MAX_BURST_BANDWIDTH,
) = (
@ -208,9 +210,8 @@ class QoSBandwidthLimitRule(QoSRule):
self.policy_id,
{'bandwidth_limit_rule': prop_diff})
def _show_resource(self):
return self.client().show_bandwidth_limit_rule(
self.resource_id, self.policy_id)['bandwidth_limit_rule']
def _res_get_args(self):
return [self.resource_id, self.policy_id]
class QoSDscpMarkingRule(QoSRule):
@ -226,6 +227,8 @@ class QoSDscpMarkingRule(QoSRule):
support_status = support.SupportStatus(version='7.0.0')
entity = 'dscp_marking_rule'
PROPERTIES = (
DSCP_MARK,
) = (
@ -275,9 +278,8 @@ class QoSDscpMarkingRule(QoSRule):
self.policy_id,
{'dscp_marking_rule': prop_diff})
def _show_resource(self):
return self.client().show_dscp_marking_rule(
self.resource_id, self.policy_id)['dscp_marking_rule']
def _res_get_args(self):
return [self.resource_id, self.policy_id]
def resource_mapping():

View File

@ -31,6 +31,8 @@ class RBACPolicy(neutron.NeutronResource):
required_service_extension = 'rbac-policies'
entity = 'rbac_policy'
PROPERTIES = (
OBJECT_TYPE, TARGET_TENANT, ACTION, OBJECT_ID, TENANT_ID
) = (
@ -99,9 +101,6 @@ class RBACPolicy(neutron.NeutronResource):
with self.client_plugin().ignore_not_found:
self.client().delete_rbac_policy(self.resource_id)
def _show_resource(self):
return self.client().show_rbac_policy(self.resource_id)['rbac_policy']
def validate(self):
"""Validate the provided params."""
super(RBACPolicy, self).validate()

View File

@ -33,6 +33,8 @@ class Router(neutron.NeutronResource):
required_service_extension = 'router'
entity = 'router'
PROPERTIES = (
NAME, EXTERNAL_GATEWAY, VALUE_SPECS, ADMIN_STATE_UP,
L3_AGENT_ID, L3_AGENT_IDS, DISTRIBUTED, HA,
@ -302,10 +304,6 @@ class Router(neutron.NeutronResource):
if l3_agent_ids:
self._replace_agent(l3_agent_ids)
def _show_resource(self):
return self.client().show_router(
self.resource_id)['router']
def check_create_complete(self, *args):
attributes = self._show_resource()
return self.is_built(attributes)

View File

@ -31,6 +31,8 @@ class SecurityGroup(neutron.NeutronResource):
required_service_extension = 'security-group'
entity = 'security_group'
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
@ -154,10 +156,6 @@ class SecurityGroup(neutron.NeutronResource):
{"direction": "egress", "ethertype": "IPv6"}
]
def _show_resource(self):
return self.client().show_security_group(
self.resource_id)['security_group']
def validate(self):
super(SecurityGroup, self).validate()
if self.properties[self.NAME] == 'default':

View File

@ -28,6 +28,8 @@ class SecurityGroupRule(neutron.NeutronResource):
required_service_extension = 'security-group'
entity = 'security_group_rule'
support_status = support.SupportStatus(version='7.0.0')
PROPERTIES = (
@ -149,10 +151,6 @@ class SecurityGroupRule(neutron.NeutronResource):
),
]
def _show_resource(self):
return self.client().show_security_group_rule(
self.resource_id)['security_group_rule']
def validate(self):
super(SecurityGroupRule, self).validate()
if (self.properties[self.REMOTE_GROUP] is not None and

View File

@ -32,6 +32,8 @@ class Subnet(neutron.NeutronResource):
CIDR, or from "allocation pools" that can be specified by the user.
"""
entity = 'subnet'
PROPERTIES = (
NETWORK_ID, NETWORK, SUBNETPOOL, PREFIXLEN, CIDR,
VALUE_SPECS, NAME, IP_VERSION, DNS_NAMESERVERS, GATEWAY_IP,
@ -369,9 +371,6 @@ class Subnet(neutron.NeutronResource):
else:
return True
def _show_resource(self):
return self.client().show_subnet(self.resource_id)['subnet']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
if prop_diff:
self.prepare_update_properties(prop_diff)

View File

@ -31,6 +31,8 @@ class SubnetPool(neutron.NeutronResource):
required_service_extension = 'subnet_allocation'
entity = 'subnetpool'
PROPERTIES = (
NAME, PREFIXES, ADDRESS_SCOPE, DEFAULT_QUOTA,
DEFAULT_PREFIXLEN, MIN_PREFIXLEN, MAX_PREFIXLEN,
@ -184,9 +186,6 @@ class SubnetPool(neutron.NeutronResource):
with self.client_plugin().ignore_not_found:
self.client().delete_subnetpool(self.resource_id)
def _show_resource(self):
return self.client().show_subnetpool(self.resource_id)['subnetpool']
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
# check that new prefixes are superset of existing prefixes
if self.PREFIXES in prop_diff:

View File

@ -29,6 +29,8 @@ class VPNService(neutron.NeutronResource):
required_service_extension = 'vpnaas'
entity = 'vpnservice'
PROPERTIES = (
NAME, DESCRIPTION, ADMIN_STATE_UP,
SUBNET_ID, SUBNET, ROUTER_ID, ROUTER
@ -180,9 +182,6 @@ class VPNService(neutron.NeutronResource):
]
def _show_resource(self):
return self.client().show_vpnservice(self.resource_id)['vpnservice']
def handle_create(self):
props = self.prepare_properties(
self.properties,
@ -217,6 +216,8 @@ class IPsecSiteConnection(neutron.NeutronResource):
required_service_extension = 'vpnaas'
entity = 'ipsec_site_connection'
PROPERTIES = (
NAME, DESCRIPTION, PEER_ADDRESS, PEER_ID, PEER_CIDRS, MTU,
DPD, PSK, INITIATOR, ADMIN_STATE_UP, IKEPOLICY_ID,
@ -430,10 +431,6 @@ class IPsecSiteConnection(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_ipsec_site_connection(self.resource_id)[
'ipsec_site_connection']
def handle_create(self):
props = self.prepare_properties(
self.properties,
@ -466,6 +463,8 @@ class IKEPolicy(neutron.NeutronResource):
required_service_extension = 'vpnaas'
entity = 'ikepolicy'
PROPERTIES = (
NAME, DESCRIPTION, AUTH_ALGORITHM, ENCRYPTION_ALGORITHM,
PHASE1_NEGOTIATION_MODE, LIFETIME, PFS, IKE_VERSION,
@ -604,9 +603,6 @@ class IKEPolicy(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_ikepolicy(self.resource_id)['ikepolicy']
def handle_create(self):
props = self.prepare_properties(
self.properties,
@ -638,6 +634,8 @@ class IPsecPolicy(neutron.NeutronResource):
required_service_extension = 'vpnaas'
entity = 'ipsecpolicy'
PROPERTIES = (
NAME, DESCRIPTION, TRANSFORM_PROTOCOL, ENCAPSULATION_MODE,
AUTH_ALGORITHM, ENCRYPTION_ALGORITHM, LIFETIME, PFS,
@ -778,9 +776,6 @@ class IPsecPolicy(neutron.NeutronResource):
),
}
def _show_resource(self):
return self.client().show_ipsecpolicy(self.resource_id)['ipsecpolicy']
def handle_create(self):
props = self.prepare_properties(
self.properties,