from linkpair.collect.agent.ovs_agent import OVSAgent
from linkpair.collect.agent.linuxbridge_agent import LinuxBridgeAgent
from linkpair.collect.agent.linuxvlan_agent import LinuxVlanAgent
+from linkpair.collect.agent.sspvxlan_agent import SSPVxlanAgent
from linkpair.collect.agent.libvirt_agent import LibvirtAgent
PEER_FOUND = 1
- def __init__(self, remote_desc, dbu, formatter=GraphEasyFormatter()):
+ def __init__(self, opts, dbu, formatter=GraphEasyFormatter()):
self._devices = {}
self._ports = {}
self._os_info = {}
self._u = CommonUtils()
self._db_enable = False
self._sql_conn = None
- self._remote_desc = remote_desc
+ self._opts = opts
+ self._remote_desc = opts.remote_desc
self._ssh_username = ""
self._ssh_hostname = ""
self._ssh_hostport = 22
''' set parameters '''
[self._ssh_username, self._ssh_hostname,
- self._ssh_hostport] = self._u.parse_remote_desc(remote_desc)
+ self._ssh_hostport] = self._u.parse_remote_desc(self._remote_desc)
self._dbu = dbu
self._formatter = formatter
self._runner = CommandRunner(self._remote_desc)
self._port_to_br, self._iface_to_nss, self._veth_peer)
cu = CollectUtils(
cd, self._dbu, self._formatter)
- os_agent = LinuxAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- os_agent.run()
- namespace_agent = NamespaceAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- namespace_agent.run()
- veth_agent = VethAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- veth_agent.run()
- vlan_agent = LinuxVlanAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- vlan_agent.run()
- ovs_agent = OVSAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- ovs_agent.run()
- bridge_agent = LinuxBridgeAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- bridge_agent.run()
- libvirt_agent = LibvirtAgent(
- self._runner, cu, self._remote_desc, cd, self._formatter)
- libvirt_agent.run()
+ if self._opts.disable_linux_agent == False:
+ os_agent = LinuxAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ os_agent.run()
+ if self._opts.disable_namespace_agent == False:
+ namespace_agent = NamespaceAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ namespace_agent.run()
+ if self._opts.disable_veth_agent == False:
+ veth_agent = VethAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ veth_agent.run()
+ if self._opts.disable_linuxvlan_agent == False:
+ vlan_agent = LinuxVlanAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ vlan_agent.run()
+ if self._opts.disable_sspvxlan_agent == False:
+ vxlan_agent = SSPVxlanAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ vxlan_agent.run()
+ if self._opts.disable_ovs_agent == False:
+ ovs_agent = OVSAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ ovs_agent.run()
+ if self._opts.disable_linuxbridge_agent == False:
+ bridge_agent = LinuxBridgeAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ bridge_agent.run()
+ if self._opts.disable_libvirt_agent == False:
+ libvirt_agent = LibvirtAgent(
+ self._runner, cu, self._remote_desc, cd, self._formatter)
+ libvirt_agent.run()
def get_linkpairs(self):
return self._linkpairs
help="store record to database", metavar="FILE")
p.add_option('-t', '--datatype', dest='datatype', default="json",
help="specify database type(default: json)", metavar="TYPE")
+ g2 = OptionGroup(p, "Collector Agent flags",
+ "disable Collector Agents")
+ g2.add_option(
+ '--disable_ovs_agent', dest='disable_ovs_agent', action="store_true", default=False,
+ help="disable Open vSwitch collector agent")
+ g2.add_option(
+ '--disable_linux_agent', dest='disable_linux_agent', action="store_true", default=False,
+ help="disable linux OS collector agent")
+ g2.add_option(
+ '--disable_linuxbridge_agent', dest='disable_linuxbridge_agent', action="store_true", default=False,
+ help="disable linux bridge collector agent")
+ g2.add_option(
+ '--disable_linuxvlan_agent', dest='disable_linuxvlan_agent', action="store_true", default=False,
+ help="disable linux vlan collector agent")
+ g2.add_option(
+ '--disable_libvirt_agent', dest='disable_libvirt_agent', action="store_true", default=False,
+ help="disable libvirt collector agent")
+ g2.add_option(
+ '--disable_namespace_agent', dest='disable_namespace_agent', action="store_true", default=False,
+ help="disable network namespace collector agent")
+ g2.add_option(
+ '--disable_sspvxlan_agent', dest='disable_sspvxlan_agent', action="store_true", default=False,
+ help="disable SSP VXLAN collector agent")
+ g2.add_option(
+ '--disable_veth_agent', dest='disable_veth_agent', action="store_true", default=False,
+ help="disable veth collector agent")
+ p.add_option_group(g2)
p.add_option(
'-v', '--verbose', dest='verbose', action="store_true", default=False,
help="verbose output.")
else:
format = GraphEasyFormatter()
- col = Collector(opts.remote_desc, dbu, format)
+ col = Collector(opts, dbu, format)
if opts.remote_sshkey is not None:
col.set_remote_sshkey(opts.remote_sshkey)
if opts.remote_password is not None: