OpenStack Study: neutron
OpenStack IndexNext
\OpenStack\neutron-2014.1\neutron\agent\common\config.py
def get_log_args(conf, log_file_name):
def register_root_helper(conf):
def register_agent_state_opts_helper(conf):
def register_interface_driver_opts_helper(conf):
def register_use_namespaces_opts_helper(conf):
def get_root_helper(conf):
def setup_conf():
\OpenStack\neutron-2014.1\neutron\agent\common\__init__.py
\OpenStack\neutron-2014.1\neutron\agent\dhcp_agent.py
class DhcpAgent(manager.Manager):
def __init__(self, host=None):
def _populate_networks_cache(self):
def after_start(self):
def run(self):
def call_driver(self, action, network, **action_kwargs):
def sync_state(self):
def _periodic_resync_helper(self):
def periodic_resync(self):
def safe_get_network_info(self, network_id):
def enable_dhcp_helper(self, network_id):
def safe_configure_dhcp_for_network(self, network):
def configure_dhcp_for_network(self, network):
def disable_dhcp_helper(self, network_id):
def refresh_dhcp_helper(self, network_id):
def network_create_end(self, context, payload):
def network_update_end(self, context, payload):
def network_delete_end(self, context, payload):
def subnet_update_end(self, context, payload):
def subnet_delete_end(self, context, payload):
def port_update_end(self, context, payload):
def port_delete_end(self, context, payload):
def enable_isolated_metadata_proxy(self, network):
def callback(pid_file):
def disable_isolated_metadata_proxy(self, network):
class DhcpPluginApi(proxy.RpcProxy):
def __init__(self, topic, context, use_namespaces):
def get_active_networks_info(self):
def get_network_info(self, network_id):
def get_dhcp_port(self, network_id, device_id):
def create_dhcp_port(self, port):
def update_dhcp_port(self, port_id, port):
def release_dhcp_port(self, network_id, device_id):
def release_port_fixed_ip(self, network_id, device_id, subnet_id):
class NetworkCache(object):
def __init__(self):
def get_network_ids(self):
def get_network_by_id(self, network_id):
def get_network_by_subnet_id(self, subnet_id):
def get_network_by_port_id(self, port_id):
def put(self, network):
def remove(self, network):
def put_port(self, port):
def remove_port(self, port):
def get_port_by_id(self, port_id):
def get_state(self):
class DhcpAgentWithStateReport(DhcpAgent):
def __init__(self, host=None):
def _report_state(self):
def agent_updated(self, context, payload):
def after_start(self):
def register_options():
def main():
\OpenStack\neutron-2014.1\neutron\agent\firewall.py
class FirewallDriver(object):
def prepare_port_filter(self, port):
def apply_port_filter(self, port):
def update_port_filter(self, port):
def remove_port_filter(self, port):
def filter_defer_apply_on(self):
def filter_defer_apply_off(self):
def ports(self):
def defer_apply(self):
class NoopFirewallDriver(FirewallDriver):
def prepare_port_filter(self, port):
def apply_port_filter(self, port):
def update_port_filter(self, port):
def remove_port_filter(self, port):
def filter_defer_apply_on(self):
def filter_defer_apply_off(self):
def ports(self):
\OpenStack\neutron-2014.1\neutron\agent\l2population_rpc.py
class L2populationRpcCallBackMixin(object):
def add_fdb_entries(self, context, fdb_entries, host=None):
def remove_fdb_entries(self, context, fdb_entries, host=None):
def update_fdb_entries(self, context, fdb_entries, host=None):
def fdb_add(self, context, fdb_entries):
def fdb_remove(self, context, fdb_entries):
def fdb_update(self, context, fdb_entries):
\OpenStack\neutron-2014.1\neutron\agent\l3_agent.py
class L3PluginApi(proxy.RpcProxy):
def __init__(self, topic, host):
def get_routers(self, context, router_ids=None):
def get_external_network_id(self, context):
def update_floatingip_statuses(self, context, router_id, fip_statuses):
class RouterInfo(object):
def __init__(self, router_id, root_helper, use_namespaces, router):
def router(self):
def router(self, value):
def perform_snat_action(self, snat_callback, *args):
class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, manager.Manager):
def __init__(self, host, conf=None):
def _check_config_params(self):
def _cleanup_namespaces(self, routers):
def _destroy_stale_router_namespaces(self, router_namespaces):
def _destroy_router_namespace(self, namespace):
def _create_router_namespace(self, ri):
def _fetch_external_net_id(self, force=False):
def _router_added(self, router_id, router):
def _router_removed(self, router_id):
def _spawn_metadata_proxy(self, router_id, ns_name):
def callback(pid_file):
def _destroy_metadata_proxy(self, router_id, ns_name):
def _set_subnet_info(self, port):
def _get_existing_devices(self, ri):
def process_router(self, ri):
def _handle_router_snat_rules(self, ri, ex_gw_port, internal_cidrs, interface_name, action):
def process_router_floating_ip_nat_rules(self, ri):
def process_router_floating_ip_addresses(self, ri, ex_gw_port):
def _get_ex_gw_port(self, ri):
def _arping(self, ri, interface_name, ip_address):
def _send_gratuitous_arp_packet(self, ri, interface_name, ip_address):
def get_internal_device_name(self, port_id):
def get_external_device_name(self, port_id):
def external_gateway_added(self, ri, ex_gw_port, interface_name, internal_cidrs):
def external_gateway_removed(self, ri, ex_gw_port, interface_name, internal_cidrs):
def metadata_filter_rules(self):
def metadata_nat_rules(self):
def external_gateway_nat_rules(self, ex_gw_ip, internal_cidrs, interface_name):
def internal_network_added(self, ri, network_id, port_id, internal_cidr, mac_address):
def internal_network_removed(self, ri, port_id, internal_cidr):
def internal_network_nat_rules(self, ex_gw_ip, internal_cidr):
def floating_forward_rules(self, floating_ip, fixed_ip):
def router_deleted(self, context, router_id):
def routers_updated(self, context, routers):
def router_removed_from_agent(self, context, payload):
def router_added_to_agent(self, context, payload):
def _process_routers(self, routers, all_routers=False):
def _rpc_loop(self):
def _process_router_delete(self):
def _router_ids(self):
def _sync_routers_task(self, context):
def after_start(self):
def _update_routing_table(self, ri, operation, route):
def routes_updated(self, ri):
class L3NATAgentWithStateReport(L3NATAgent):
def __init__(self, host, conf=None):
def _report_state(self):
def agent_updated(self, context, payload):
def main(manager='neutron.agent.l3_agent.L3NATAgentWithStateReport'):
\OpenStack\neutron-2014.1\neutron\agent\linux\async_process.py
class AsyncProcessException(Exception):
class AsyncProcess(object):
def __init__(self, cmd, root_helper=None, respawn_interval=None):
def _reset_queues(self):
def start(self):
def stop(self):
def _spawn(self):
def _kill(self, respawning=False):
def _get_pid_to_kill(self):
def _kill_process(self, pid):
def _handle_process_error(self):
def _watch_process(self, callback, kill_event):
def _read(self, stream, queue):
def _read_stdout(self):
def _read_stderr(self):
def _iter_queue(self, queue):
def iter_stdout(self):
def iter_stderr(self):
\OpenStack\neutron-2014.1\neutron\agent\linux\daemon.py
class Pidfile(object):
def __init__(self, pidfile, procname, uuid=None):
def __str__(self):
def unlock(self):
def write(self, pid):
def read(self):
def is_running(self):
class Daemon(object):
def __init__(self, pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null', procname='python', uuid=None):
def _fork(self):
def daemonize(self):
def delete_pid(self):
def handle_sigterm(self, signum, frame):
def start(self):
def run(self):
\OpenStack\neutron-2014.1\neutron\agent\linux\dhcp.py
class DictModel(object):
def __init__(self, d):
class NetModel(DictModel):
def __init__(self, use_namespaces, d):
def namespace(self):
class DhcpBase(object):
def __init__(self, conf, network, root_helper='sudo', version=None, plugin=None):
def enable(self):
def disable(self, retain_port=False):
def restart(self):
def active(self):
def reload_allocations(self):
def existing_dhcp_networks(cls, conf, root_helper):
def check_version(cls):
class DhcpLocalProcess(DhcpBase):
def _enable_dhcp(self):
def enable(self):
def disable(self, retain_port=False):
def _remove_config_files(self):
def get_conf_file_name(self, kind, ensure_conf_dir=False):
def _get_value_from_conf_file(self, kind, converter=None):
def pid(self):
def active(self):
def interface_name(self):
def interface_name(self, value):
def spawn_process(self):
class Dnsmasq(DhcpLocalProcess):
def check_version(cls):
def existing_dhcp_networks(cls, conf, root_helper):
def spawn_process(self):
def _release_lease(self, mac_address, ip):
def reload_allocations(self):
def _iter_hosts(self):
def _output_hosts_file(self):
def _read_hosts_file_leases(self, filename):
def _release_unused_leases(self):
def _output_addn_hosts_file(self):
def _output_opts_file(self):
def _make_subnet_interface_ip_map(self):
def _format_option(self, tag, option, *args):
def _enable_metadata(self, subnet):
def lease_update(cls):
class DeviceManager(object):
def __init__(self, conf, root_helper, plugin):
def get_interface_name(self, network, port):
def get_device_id(self, network):
def _get_device(self, network, port):
def _set_default_route(self, network, port):
def setup_dhcp_port(self, network):
def setup(self, network, reuse_existing=False):
def update(self, network):
def destroy(self, network, device_name):
\OpenStack\neutron-2014.1\neutron\agent\linux\external_process.py
class ProcessManager(object):
def __init__(self, conf, uuid, root_helper='sudo', namespace=None):
def enable(self, cmd_callback):
def disable(self):
def get_pid_file_name(self, ensure_pids_dir=False):
def pid(self):
def active(self):
\OpenStack\neutron-2014.1\neutron\agent\linux\interface.py
class LinuxInterfaceDriver(object):
def __init__(self, conf):
def init_l3(self, device_name, ip_cidrs, namespace=None, preserve_ips=[]):
def check_bridge_exists(self, bridge):
def get_device_name(self, port):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class NullDriver(LinuxInterfaceDriver):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class OVSInterfaceDriver(LinuxInterfaceDriver):
def __init__(self, conf):
def _get_tap_name(self, dev_name, prefix=None):
def _ovs_add_port(self, bridge, device_name, port_id, mac_address, internal=True):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class MidonetInterfaceDriver(LinuxInterfaceDriver):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class IVSInterfaceDriver(LinuxInterfaceDriver):
def __init__(self, conf):
def _get_tap_name(self, dev_name, prefix=None):
def _ivs_add_port(self, device_name, port_id, mac_address):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class BridgeInterfaceDriver(LinuxInterfaceDriver):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
class MetaInterfaceDriver(LinuxInterfaceDriver):
def __init__(self, conf):
def _get_flavor_by_network_id(self, network_id):
def _get_driver_by_network_id(self, network_id):
def _set_device_plugin_tag(self, network_id, device_name, namespace=None):
def _get_device_plugin_tag(self, device_name, namespace=None):
def get_device_name(self, port):
def plug(self, network_id, port_id, device_name, mac_address, bridge=None, namespace=None, prefix=None):
def unplug(self, device_name, bridge=None, namespace=None, prefix=None):
def _load_driver(self, driver_provider):
\OpenStack\neutron-2014.1\neutron\agent\linux\iptables_firewall.py
class IptablesFirewallDriver(firewall.FirewallDriver):
def __init__(self):
def ports(self):
def prepare_port_filter(self, port):
def update_port_filter(self, port):
def remove_port_filter(self, port):
def _setup_chains(self):
def _setup_chains_apply(self, ports):
def _remove_chains(self):
def _remove_chains_apply(self, ports):
def _setup_chain(self, port, DIRECTION):
def _remove_chain(self, port, DIRECTION):
def _add_fallback_chain_v4v6(self):
def _add_chain_by_name_v4v6(self, chain_name):
def _remove_chain_by_name_v4v6(self, chain_name):
def _add_rule_to_chain_v4v6(self, chain_name, ipv4_rules, ipv6_rules):
def _get_device_name(self, port):
def _add_chain(self, port, direction):
def _split_sgr_by_ethertype(self, security_group_rules):
def _select_sgr_by_direction(self, port, direction):
def _setup_spoof_filter_chain(self, port, table, mac_ip_pairs, rules):
def _build_ipv4v6_mac_ip_list(self, mac, ip_address, mac_ipv4_pairs, mac_ipv6_pairs):
def _spoofing_rule(self, port, ipv4_rules, ipv6_rules):
def _drop_dhcp_rule(self):
def _accept_inbound_icmpv6(self):
def _add_rule_by_security_group(self, port, direction):
def _convert_sgr_to_iptables_rules(self, security_group_rules):
def _drop_invalid_packets(self, iptables_rules):
def _allow_established(self, iptables_rules):
def _protocol_arg(self, protocol):
def _port_arg(self, direction, protocol, port_range_min, port_range_max):
def _ip_prefix_arg(self, direction, ip_prefix):
def _port_chain_name(self, port, direction):
def filter_defer_apply_on(self):
def filter_defer_apply_off(self):
class OVSHybridIptablesFirewallDriver(IptablesFirewallDriver):
def _port_chain_name(self, port, direction):
def _get_device_name(self, port):
\OpenStack\neutron-2014.1\neutron\agent\linux\iptables_manager.py
def get_binary_name():
def get_chain_name(chain_name, wrap=True):
class IptablesRule(object):
def __init__(self, chain, rule, wrap=True, top=False, binary_name=binary_name, tag=None):
def __eq__(self, other):
def __ne__(self, other):
def __str__(self):
class IptablesTable(object):
def __init__(self, binary_name=binary_name):
def add_chain(self, name, wrap=True):
def _select_chain_set(self, wrap):
def ensure_remove_chain(self, name, wrap=True):
def remove_chain(self, name, wrap=True):
def add_rule(self, chain, rule, wrap=True, top=False, tag=None):
def _wrap_target_chain(self, s, wrap):
def remove_rule(self, chain, rule, wrap=True, top=False):
def empty_chain(self, chain, wrap=True):
def clear_rules_by_tag(self, tag):
class IptablesManager(object):
def __init__(self, _execute=None, state_less=False, root_helper=None, use_ipv6=False, namespace=None, binary_name=binary_name):
def defer_apply_on(self):
def defer_apply_off(self):
def apply(self):
def _apply(self):
def _apply_synchronized(self):
def _find_table(self, lines, table_name):
def _find_rules_index(self, lines):
def _modify_rules(self, current_lines, table, table_name):
def _strip_packets_bytes(line):
def _weed_out_duplicate_chains(line):
def _weed_out_duplicate_rules(line):
def _weed_out_removes(line):
def _get_traffic_counters_cmd_tables(self, chain, wrap=True):
def get_traffic_counters(self, chain, wrap=True, zero=False):
\OpenStack\neutron-2014.1\neutron\agent\linux\ip_lib.py
class SubProcessBase(object):
def __init__(self, root_helper=None, namespace=None):
def _run(self, options, command, args):
def _as_root(self, options, command, args, use_root_namespace=False):
def _execute(cls, options, command, args, root_helper=None, namespace=None):
class IPWrapper(SubProcessBase):
def __init__(self, root_helper=None, namespace=None):
def device(self, name):
def get_devices(self, exclude_loopback=False):
def add_tuntap(self, name, mode='tap'):
def add_veth(self, name1, name2, namespace2=None):
def ensure_namespace(self, name):
def namespace_is_empty(self):
def garbage_collect_namespace(self):
def add_device_to_namespace(self, device):
def add_vxlan(self, name, vni, group=None, dev=None, ttl=None, tos=None, local=None, port=None, proxy=False):
def get_namespaces(cls, root_helper):
class IPDevice(SubProcessBase):
def __init__(self, name, root_helper=None, namespace=None):
def __eq__(self, other):
def __str__(self):
class IpCommandBase(object):
def __init__(self, parent):
def _run(self, *args, **kwargs):
def _as_root(self, *args, **kwargs):
class IpDeviceCommandBase(IpCommandBase):
def name(self):
class IpLinkCommand(IpDeviceCommandBase):
def set_address(self, mac_address):
def set_mtu(self, mtu_size):
def set_up(self):
def set_down(self):
def set_netns(self, namespace):
def set_name(self, name):
def set_alias(self, alias_name):
def delete(self):
def address(self):
def state(self):
def mtu(self):
def qdisc(self):
def qlen(self):
def alias(self):
def attributes(self):
def _parse_line(self, value):
class IpAddrCommand(IpDeviceCommandBase):
def add(self, ip_version, cidr, broadcast, scope='global'):
def delete(self, ip_version, cidr):
def flush(self):
def list(self, scope=None, to=None, filters=None):
class IpRouteCommand(IpDeviceCommandBase):
def add_gateway(self, gateway, metric=None):
def delete_gateway(self, gateway):
def get_gateway(self, scope=None, filters=None):
def pullup_route(self, interface_name):
class IpNetnsCommand(IpCommandBase):
def add(self, name):
def delete(self, name):
def execute(self, cmds, addl_env={}, check_exit_code=True):
def exists(self, name):
def device_exists(device_name, root_helper=None, namespace=None):
def iproute_arg_supported(command, arg, root_helper=None):
\OpenStack\neutron-2014.1\neutron\agent\linux\ovsdb_monitor.py
class OvsdbMonitor(async_process.AsyncProcess):
def __init__(self, table_name, columns=None, format=None, root_helper=None, respawn_interval=None):
def _read_stdout(self):
def _read_stderr(self):
class SimpleInterfaceMonitor(OvsdbMonitor):
def __init__(self, root_helper=None, respawn_interval=None):
def is_active(self):
def has_updates(self):
def start(self, block=False, timeout=5):
def _kill(self, *args, **kwargs):
def _read_stdout(self):
\OpenStack\neutron-2014.1\neutron\agent\linux\ovs_lib.py
class VifPort:
def __init__(self, port_name, ofport, vif_id, vif_mac, switch):
def __str__(self):
class BaseOVS(object):
def __init__(self, root_helper):
def run_vsctl(self, args, check_error=False):
def add_bridge(self, bridge_name):
def delete_bridge(self, bridge_name):
def bridge_exists(self, bridge_name):
def get_bridge_name_for_port_name(self, port_name):
def port_exists(self, port_name):
class OVSBridge(BaseOVS):
def __init__(self, br_name, root_helper):
def set_controller(self, controller_names):
def del_controller(self):
def get_controller(self):
def set_protocols(self, protocols):
def create(self):
def destroy(self):
def reset_bridge(self):
def add_port(self, port_name):
def delete_port(self, port_name):
def set_db_attribute(self, table_name, record, column, value):
def clear_db_attribute(self, table_name, record, column):
def run_ofctl(self, cmd, args, process_input=None):
def count_flows(self):
def remove_all_flows(self):
def get_port_ofport(self, port_name):
def get_datapath_id(self):
def add_flow(self, **kwargs):
def mod_flow(self, **kwargs):
def delete_flows(self, **kwargs):
def defer_apply_on(self):
def defer_apply_off(self):
def add_tunnel_port(self, port_name, remote_ip, local_ip, tunnel_type=p_const.TYPE_GRE, vxlan_udp_port=constants.VXLAN_UDP_PORT):
def add_patch_port(self, local_name, remote_name):
def db_get_map(self, table, record, column, check_error=False):
def db_get_val(self, table, record, column, check_error=False):
def db_str_to_map(self, full_str):
def get_port_name_list(self):
def get_port_stats(self, port_name):
def get_xapi_iface_id(self, xs_vif_uuid):
def get_vif_ports(self):
def get_vif_port_set(self):
def get_port_tag_dict(self):
def get_vif_port_by_id(self, port_id):
def delete_ports(self, all_ports=False):
def get_local_port_mac(self):
def get_bridge_for_iface(root_helper, iface):
def get_bridges(root_helper):
def get_installed_ovs_usr_version(root_helper):
def get_installed_ovs_klm_version():
def get_installed_kernel_version():
def get_bridge_external_bridge_id(root_helper, bridge):
def _compare_installed_and_required_version( installed_kernel_version, installed_version, required_version, check_type, version_type):
def check_ovs_vxlan_version(root_helper):
def _build_flow_expr_str(flow_dict, cmd):
\OpenStack\neutron-2014.1\neutron\agent\linux\polling.py
def get_polling_manager(minimize_polling=False, root_helper=None, ovsdb_monitor_respawn_interval=( constants.DEFAULT_OVSDBMON_RESPAWN)):
class BasePollingManager(object):
def __init__(self):
def force_polling(self):
def polling_completed(self):
def _is_polling_required(self):
def is_polling_required(self):
class AlwaysPoll(BasePollingManager):
def is_polling_required(self):
class InterfacePollingMinimizer(BasePollingManager):
def __init__(self, root_helper=None, ovsdb_monitor_respawn_interval=( constants.DEFAULT_OVSDBMON_RESPAWN)):
def start(self):
def stop(self):
def _is_polling_required(self):
\OpenStack\neutron-2014.1\neutron\agent\linux\utils.py
def create_process(cmd, root_helper=None, addl_env=None):
def execute(cmd, root_helper=None, process_input=None, addl_env=None, check_exit_code=True, return_stderr=False):
def get_interface_mac(interface):
def replace_file(file_name, data):
def find_child_pids(pid):
\OpenStack\neutron-2014.1\neutron\agent\linux\__init__.py
\OpenStack\neutron-2014.1\neutron\agent\metadata\agent.py
class MetadataProxyHandler(object):
def __init__(self, conf):
def _get_neutron_client(self):
def __call__(self, req):
def _get_instance_and_tenant_id(self, req):
def _proxy_request(self, instance_id, tenant_id, req):
def _sign_instance_id(self, instance_id):
class UnixDomainHttpProtocol(eventlet.wsgi.HttpProtocol):
def __init__(self, request, client_address, server):
class WorkerService(wsgi.WorkerService):
def start(self):
class UnixDomainWSGIServer(wsgi.Server):
def __init__(self, name):
def start(self, application, file_socket, workers, backlog):
def _run(self, application, socket):
class UnixDomainMetadataProxy(object):
def __init__(self, conf):
def _init_state_reporting(self):
def _report_state(self):
def run(self):
def main():
\OpenStack\neutron-2014.1\neutron\agent\metadata\namespace_proxy.py
class UnixDomainHTTPConnection(httplib.HTTPConnection):
def __init__(self, host, port=None, strict=None, timeout=None, proxy_info=None):
def connect(self):
class NetworkMetadataProxyHandler(object):
def __init__(self, network_id=None, router_id=None):
def __call__(self, req):
def _proxy_request(self, remote_address, method, path_info, query_string, body):
class ProxyDaemon(daemon.Daemon):
def __init__(self, pidfile, port, network_id=None, router_id=None):
def run(self):
def main():
\OpenStack\neutron-2014.1\neutron\agent\metadata\__init__.py
\OpenStack\neutron-2014.1\neutron\agent\netns_cleanup_util.py
class FakeDhcpPlugin(object):
def __getattribute__(self, name):
def fake_method(*args):
\OpenStack\neutron-2014.1\neutron\agent\ovs_cleanup_util.py
def setup_conf():
def collect_neutron_ports(bridges, root_helper):
def delete_neutron_ports(ports, root_helper):
def main():
\OpenStack\neutron-2014.1\neutron\agent\rpc.py
def create_consumers(dispatcher, prefix, topic_details):
class PluginReportStateAPI(proxy.RpcProxy):
def __init__(self, topic):
def report_state(self, context, agent_state, use_call=False):
class PluginApi(proxy.RpcProxy):
def __init__(self, topic):
def get_device_details(self, context, device, agent_id):
def update_device_down(self, context, device, agent_id, host=None):
def update_device_up(self, context, device, agent_id, host=None):
def tunnel_sync(self, context, tunnel_ip, tunnel_type=None):
\OpenStack\neutron-2014.1\neutron\agent\securitygroups_rpc.py
def _is_valid_driver_combination():
def is_firewall_enabled():
def _disable_extension(extension, aliases):
def disable_security_group_extension_by_config(aliases):
class SecurityGroupServerRpcApiMixin(object):
def security_group_rules_for_devices(self, context, devices):
class SecurityGroupAgentRpcCallbackMixin(object):
def _security_groups_agent_not_set(self):
def security_groups_rule_updated(self, context, **kwargs):
def security_groups_member_updated(self, context, **kwargs):
def security_groups_provider_updated(self, context, **kwargs):
class SecurityGroupAgentRpcMixin(object):
def init_firewall(self, defer_refresh_firewall=False):
def prepare_devices_filter(self, device_ids):
def security_groups_rule_updated(self, security_groups):
def security_groups_member_updated(self, security_groups):
def _security_group_updated(self, security_groups, attribute):
def security_groups_provider_updated(self):
def remove_devices_filter(self, device_ids):
def refresh_firewall(self, device_ids=None):
def firewall_refresh_needed(self):
def setup_port_filters(self, new_devices, updated_devices):
class SecurityGroupAgentRpcApiMixin(object):
def _get_security_group_topic(self):
def security_groups_rule_updated(self, context, security_groups):
def security_groups_member_updated(self, context, security_groups):
def security_groups_provider_updated(self, context):
\OpenStack\neutron-2014.1\neutron\agent\__init__.py
\OpenStack\neutron-2014.1\neutron\api\api_common.py
def get_filters(request, attr_info, skips=[]):
def get_previous_link(request, items, id_key):
def get_next_link(request, items, id_key):
def get_limit_and_marker(request):
def _get_pagination_max_limit():
def _get_limit_param(request, max_limit):
def list_args(request, arg):
def get_sorts(request, attr_info):
def get_page_reverse(request):
def get_pagination_links(request, items, limit, marker, page_reverse, key="id"):
class PaginationHelper(object):
def __init__(self, request, primary_key='id'):
def update_fields(self, original_fields, fields_to_add):
def update_args(self, args):
def paginate(self, items):
def get_links(self, items):
class PaginationEmulatedHelper(PaginationHelper):
def __init__(self, request, primary_key='id'):
def update_fields(self, original_fields, fields_to_add):
def paginate(self, items):
def get_links(self, items):
class PaginationNativeHelper(PaginationEmulatedHelper):
def update_args(self, args):
def paginate(self, items):
class NoPaginationHelper(PaginationHelper):
class SortingHelper(object):
def __init__(self, request, attr_info):
def update_args(self, args):
def update_fields(self, original_fields, fields_to_add):
def sort(self, items):
class SortingEmulatedHelper(SortingHelper):
def __init__(self, request, attr_info):
def update_fields(self, original_fields, fields_to_add):
def sort(self, items):
def cmp_func(obj1, obj2):
class SortingNativeHelper(SortingHelper):
def __init__(self, request, attr_info):
def update_args(self, args):
class NoSortingHelper(SortingHelper):
class NeutronController(object):
def __init__(self, plugin):
def _prepare_request_body(self, body, params):
\OpenStack\neutron-2014.1\neutron\api\extensions.py
class PluginInterface(object):
def __subclasshook__(cls, klass):
class ExtensionDescriptor(object):
def get_name(self):
def get_alias(self):
def get_description(self):
def get_namespace(self):
def get_updated(self):
def get_resources(self):
def get_actions(self):
def get_request_extensions(self):
def get_extended_resources(self, version):
def get_plugin_interface(self):
def update_attributes_map(self, extended_attributes, extension_attrs_map=None):
def get_alias_namespace_compatibility_map(self):
class ActionExtensionController(wsgi.Controller):
def __init__(self, application):
def add_action(self, action_name, handler):
def action(self, request, id):
class RequestExtensionController(wsgi.Controller):
def __init__(self, application):
def add_handler(self, handler):
def process(self, request, *args, **kwargs):
class ExtensionController(wsgi.Controller):
def __init__(self, extension_manager):
def _translate(self, ext):
def index(self, request):
def show(self, request, id):
def delete(self, request, id):
def create(self, request):
class ExtensionMiddleware(wsgi.Middleware):
def __init__(self, application, ext_mgr=None):
def factory(cls, global_config, **local_config):
def _factory(app):
def _action_ext_controllers(self, application, ext_mgr, mapper):
def _request_ext_controllers(self, application, ext_mgr, mapper):
def __call__(self, req):
def _dispatch(req):
def plugin_aware_extension_middleware_factory(global_config, **local_config):
def _factory(app):
class ExtensionManager(object):
def __init__(self, path):
def get_resources(self):
def get_actions(self):
def get_request_extensions(self):
def extend_resources(self, version, attr_map):
def _check_extension(self, extension):
def _load_all_extensions(self):
def _load_all_extensions_from_path(self, path):
def add_extension(self, ext):
class PluginAwareExtensionManager(ExtensionManager):
def __init__(self, path, plugins):
def _check_extension(self, extension):
def _plugins_support(self, extension):
def _plugins_implement_interface(self, extension):
def get_instance(cls):
def check_if_plugin_extensions_loaded(self):
class RequestExtension(object):
def __init__(self, method, url_route, handler):
class ActionExtension(object):
def __init__(self, collection, action_name, handler):
class ResourceExtension(object):
def __init__(self, collection, controller, parent=None, path_prefix="", collection_actions={}, member_actions={}, attr_map={}):
def get_extensions_path():
def append_api_extensions_path(paths):
\OpenStack\neutron-2014.1\neutron\api\rpc\agentnotifiers\dhcp_rpc_agent_api.py
class DhcpAgentNotifyAPI(proxy.RpcProxy):
def __init__(self, topic=topics.DHCP_AGENT, plugin=None):
def plugin(self):
def _schedule_network(self, context, network, existing_agents):
def _get_enabled_agents(self, context, network, agents, method, payload):
def _notify_agents(self, context, method, payload, network_id):
def _cast_message(self, context, method, payload, host, topic=topics.DHCP_AGENT):
def _fanout_message(self, context, method, payload):
def network_removed_from_agent(self, context, network_id, host):
def network_added_to_agent(self, context, network_id, host):
def agent_updated(self, context, admin_state_up, host):
def notify(self, context, data, method_name):
\OpenStack\neutron-2014.1\neutron\api\rpc\agentnotifiers\l3_rpc_agent_api.py
class L3AgentNotifyAPI(proxy.RpcProxy):
def __init__(self, topic=topics.L3_AGENT):
def _notification_host(self, context, method, payload, host):
def _agent_notification(self, context, method, router_ids, operation, data):
def _notification(self, context, method, router_ids, operation, data):
def _notification_fanout(self, context, method, router_id):
def agent_updated(self, context, admin_state_up, host):
def router_deleted(self, context, router_id):
def routers_updated(self, context, router_ids, operation=None, data=None):
def router_removed_from_agent(self, context, router_id, host):
def router_added_to_agent(self, context, router_ids, host):
\OpenStack\neutron-2014.1\neutron\api\rpc\agentnotifiers\metering_rpc_agent_api.py
class MeteringAgentNotifyAPI(proxy.RpcProxy):
def __init__(self, topic=topics.METERING_AGENT):
def _agent_notification(self, context, method, routers):
def _notification_fanout(self, context, method, router_id):
def _notification(self, context, method, routers):
def router_deleted(self, context, router_id):
def routers_updated(self, context, routers):
def update_metering_label_rules(self, context, routers):
def add_metering_label(self, context, routers):
def remove_metering_label(self, context, routers):
\OpenStack\neutron-2014.1\neutron\api\rpc\agentnotifiers\__init__.py
\OpenStack\neutron-2014.1\neutron\api\rpc\__init__.py
\OpenStack\neutron-2014.1\neutron\api\v2\attributes.py
def _verify_dict_keys(expected_keys, target_dict, strict=True):
def is_attr_set(attribute):
def _validate_values(data, valid_values=None):
def _validate_not_empty_string_or_none(data, max_len=None):
def _validate_not_empty_string(data, max_len=None):
def _validate_string_or_none(data, max_len=None):
def _validate_string(data, max_len=None):
def _validate_boolean(data, valid_values=None):
def _validate_range(data, valid_values=None):
def _validate_no_whitespace(data):
def _validate_mac_address(data, valid_values=None):
def _validate_mac_address_or_none(data, valid_values=None):
def _validate_ip_address(data, valid_values=None):
def _validate_ip_pools(data, valid_values=None):
def _validate_fixed_ips(data, valid_values=None):
def _validate_nameservers(data, valid_values=None):
def _validate_hostroutes(data, valid_values=None):
def _validate_ip_address_or_none(data, valid_values=None):
def _validate_subnet(data, valid_values=None):
def _validate_subnet_list(data, valid_values=None):
def _validate_subnet_or_none(data, valid_values=None):
def _validate_regex(data, valid_values=None):
def _validate_regex_or_none(data, valid_values=None):
def _validate_uuid(data, valid_values=None):
def _validate_uuid_or_none(data, valid_values=None):
def _validate_uuid_list(data, valid_values=None):
def _validate_dict_item(key, key_validator, data):
def _validate_dict(data, key_specs=None):
def _validate_dict_or_none(data, key_specs=None):
def _validate_dict_or_empty(data, key_specs=None):
def _validate_dict_or_nodata(data, key_specs=None):
def _validate_non_negative(data, valid_values=None):
def convert_to_boolean(data):
def convert_to_int(data):
def convert_kvp_str_to_list(data):
def convert_kvp_list_to_dict(kvp_list):
def convert_none_to_empty_list(value):
def convert_none_to_empty_dict(value):
def convert_to_list(data):
def get_attr_metadata():
\OpenStack\neutron-2014.1\neutron\api\v2\base.py
class Controller(object):
def __init__(self, plugin, collection, resource, attr_info, allow_bulk=False, member_actions=None, parent=None, allow_pagination=False, allow_sorting=False):
def _get_primary_key(self, default_primary_key='id'):
def _is_native_bulk_supported(self):
def _is_native_pagination_supported(self):
def _is_native_sorting_supported(self):
def _is_visible(self, context, attr_name, data):
def _view(self, context, data, fields_to_strip=None):
def _do_field_list(self, original_fields):
def __getattr__(self, name):
def _get_pagination_helper(self, request):
def _get_sorting_helper(self, request):
def _items(self, request, do_authz=False, parent_id=None):
def _item(self, request, id, do_authz=False, field_list=None, parent_id=None):
def _send_dhcp_notification(self, context, data, methodname):
def index(self, request, **kwargs):
def show(self, request, id, **kwargs):
def _emulate_bulk_create(self, obj_creator, request, body, parent_id=None):
def create(self, request, body=None, **kwargs):
def notify(create_result):
def delete(self, request, id, **kwargs):
def update(self, request, id, body=None, **kwargs):
def _populate_tenant_id(context, res_dict, is_create):
def prepare_request_body(context, body, is_create, resource, attr_info, allow_bulk=False):
def _verify_attributes(res_dict, attr_info):
def _validate_network_tenant_ownership(self, request, resource_item):
def create_resource(collection, resource, plugin, params, allow_bulk=False, member_actions=None, parent=None, allow_pagination=False, allow_sorting=False):
\OpenStack\neutron-2014.1\neutron\api\v2\resource.py
class Request(wsgi.Request):
def resource(request):
def translate(translatable, locale):
\OpenStack\neutron-2014.1\neutron\api\v2\resource_helper.py
def build_plural_mappings(special_mappings, resource_map):
def build_resource_info(plural_mappings, resource_map, which_service, action_map=None, register_quota=False, translate_name=False, allow_bulk=False):
\OpenStack\neutron-2014.1\neutron\api\v2\router.py
class Index(wsgi.Application):
def __init__(self, resources):
def __call__(self, req):
class APIRouter(wsgi.Router):
def factory(cls, global_config, **local_config):
def __init__(self, **local_config):
def _map_resource(collection, resource, params, parent=None):
\OpenStack\neutron-2014.1\neutron\api\v2\__init__.py
\OpenStack\neutron-2014.1\neutron\api\versions.py
class Versions(object):
def factory(cls, global_config, **local_config):
def __call__(self, req):
\OpenStack\neutron-2014.1\neutron\api\views\versions.py
def get_view_builder(req):
class ViewBuilder(object):
def __init__(self, base_url):
def build(self, version_data):
def _build_links(self, version_data):
def generate_href(self, version_number):
\OpenStack\neutron-2014.1\neutron\api\views\__init__.py
\OpenStack\neutron-2014.1\neutron\api\__init__.py
\OpenStack\neutron-2014.1\neutron\auth.py
class NeutronKeystoneContext(wsgi.Middleware):
def __call__(self, req):
def pipeline_factory(loader, global_conf, **local_conf):
\OpenStack\neutron-2014.1\neutron\cmd\usage_audit.py
def main():
\OpenStack\neutron-2014.1\neutron\cmd\__init__.py
\OpenStack\neutron-2014.1\neutron\common\config.py
def parse(args):
def setup_logging(conf):
def load_paste_app(app_name):
\OpenStack\neutron-2014.1\neutron\common\constants.py
\OpenStack\neutron-2014.1\neutron\common\exceptions.py
class NeutronException(Exception):
def __init__(self, **kwargs):
def __unicode__(self):
def use_fatal_exceptions(self):
class BadRequest(NeutronException):
class NotFound(NeutronException):
class Conflict(NeutronException):
class NotAuthorized(NeutronException):
class ServiceUnavailable(NeutronException):
class AdminRequired(NotAuthorized):
class PolicyNotAuthorized(NotAuthorized):
class NetworkNotFound(NotFound):
class SubnetNotFound(NotFound):
class PortNotFound(NotFound):
class PortNotFoundOnNetwork(NotFound):
class PolicyFileNotFound(NotFound):
class PolicyRuleNotFound(NotFound):
class PolicyInitError(NeutronException):
class PolicyCheckError(NeutronException):
class StateInvalid(BadRequest):
class InUse(NeutronException):
class NetworkInUse(InUse):
class SubnetInUse(InUse):
class PortInUse(InUse):
class MacAddressInUse(InUse):
class HostRoutesExhausted(BadRequest):
class DNSNameServersExhausted(BadRequest):
class IpAddressInUse(InUse):
class VlanIdInUse(InUse):
class FlatNetworkInUse(InUse):
class TunnelIdInUse(InUse):
class TenantNetworksDisabled(ServiceUnavailable):
class ResourceExhausted(ServiceUnavailable):
class NoNetworkAvailable(ResourceExhausted):
class SubnetMismatchForPort(BadRequest):
class MalformedRequestBody(BadRequest):
class Invalid(NeutronException):
def __init__(self, message=None):
class InvalidInput(BadRequest):
class InvalidAllocationPool(BadRequest):
class OverlappingAllocationPools(Conflict):
class OutOfBoundsAllocationPool(BadRequest):
class MacAddressGenerationFailure(ServiceUnavailable):
class IpAddressGenerationFailure(Conflict):
class BridgeDoesNotExist(NeutronException):
class PreexistingDeviceFailure(NeutronException):
class SudoRequired(NeutronException):
class QuotaResourceUnknown(NotFound):
class OverQuota(Conflict):
class QuotaMissingTenant(BadRequest):
class InvalidQuotaValue(Conflict):
class InvalidSharedSetting(Conflict):
class InvalidExtensionEnv(BadRequest):
class ExtensionsNotFound(NotFound):
class InvalidContentType(NeutronException):
class ExternalIpAddressExhausted(BadRequest):
class TooManyExternalNetworks(NeutronException):
class InvalidConfigurationOption(NeutronException):
class GatewayConflictWithAllocationPools(InUse):
class GatewayIpInUse(InUse):
class NetworkVlanRangeError(NeutronException):
def __init__(self, **kwargs):
OpenStack IndexNext
|