Giter Site home page Giter Site logo

aci-enhancedendpointtracker's People

Contributors

agccie avatar akeru avatar hrishi5 avatar mbshields avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aci-enhancedendpointtracker's Issues

503 error

Hello! I'm getting this quite often.

Loading App
(503) failed to connect to mongo database

The only way to return to normal operation is to disable application and enable again.
APIC 4.0.3d

vrf info missing for MAC ep's on infra BD on restart

Example:
29478||EDT 2018-05-09 01:47:05.634||WARNING||utils.py:(196)||failed to extract vrf/bd/encap from epmMacEp dn(topology/pod-1/node-101/sys/ctx-[vxlan-]/bd-[vxlan-16777209]/db-ep/m
ac-F0:7F:06:52:F5:1F)
29478||EDT 2018-05-09 01:47:05.635||WARNING||ep_subscriber.py:(676)||failed to get delete_jobs for {u'node': u'101', u'addr': u'F0:7F:06:52:F5:1F', u'vnid': u'16777209', u'is_st
ale': False, u'_id': ObjectId('5ab9180b2aa8a2f73949a14c'), u'type': u'mac', u'events': [{u'dn': u'topology/pod-1/node-101/sys/inst-overlay-1/bd-[vxlan-16777209]/db-ep/mac-F0:7F:
06:52:F5:1F', u'status': u'created', u'rw_bd': u'', u'remote': u'', u'addr': u'F0:7F:06:52:F5:1F', u'epg_name': u'', u'vnid_name': u'uni/tn-infra/BD-default', u'ts': 1522079754.
220112, u'pcTag': u'any', u'bd': u'16777209', u'flags': u'local,mac', u'vrf': u'', u'encap': u'', u'ifId': u'eth1/48', u'rw_mac': u'', u'_c': u'epmMacEp'}], u'fabric': u'fab3'}

local user login fails when http is disabled

workaround for fd exhaustion using local post is not working when https redirect is enabled. Need to do a few things:

  1. change default local proxy from http to https (for app mode can set default to http)
  2. disable allow_redirects on requests (since POST is not reposted by default on redirect)
  3. retry on http if https fails. For app mode this is a repeat of the same post but that's fine as we control the container and this issue should not occur

setup_db fails if apic name has space

if apic name has a space, then setup fails due to force_attribute_type failing regex check - check is for app API (standalone only) and throws 400 error. setup_db should relax check and accept value even if 400 error is returned

Traceback (most recent call last):
File "./setup_db.py", line 149, in apic_app_init
attr, control=EP_Settings.META[a])
File "/home/app/src/Service/app/models/utils.py", line 142, in force_attribute_type
if not re.search(regex, nval): abort(400, err)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/exceptions.py", line 646, in call
raise self.mapping[code](*args, **kwargs)
BadRequest: 400: Bad Request

#noissue request for information

Morning,

In short since you have left this ACI app is no longer maintained, which is unfortunate as many of my customers really like this app (myself included) and I was wondering how I could help to keep this app up to date for newer ACI releases and maybe enhancements. You can find me on telegram @adeca09 .

cheers

Alexander

App install failed on APIC 4.2(4i)

Hello!

Do you still support this app? I hope you do, because I'm really was enjoying this app in terms of information visibility.

When I'm trying to install full version 2.1 into APIC I get this error message:

image

What logs do you need to better understand the problem and where to collect them?

Thank you beforehand!

Latest vs Current stale entries is misleading

For each endpoint event (new endpoint, updated endpoint, deleted endpoint), the app runs an analysis across all known nodes to determine if the endpoint stale. If stale, the endpoint is marked with the 'stale' flag in the database. After an endpoint has been stale for the transitory period (default of 300 seconds), AND still stale, an entry is added to the historical stale endpoint database.

When checking the 'Currently Stale Endpoints', this shows endpoints that currently have the 'stale' flag set. When checking the 'Recently Stale Endpoints', this shows endpoints recently added to the historical stale endpoint database. This is misleading. We need to change the names to the following:

Currently Stale Endpoint
Historical Records

clear ip based on VNID

For CSCvd75244 vrf names greater than 64 characters cannot be used in the clear command. The workaround is to use 'clear system internal epm prefix <route/32> vnid '

ignore stale analysis for cached ep and proxy

cached ep's such as undiscovered SPAN destination or VIP for DSR should not be analyzed while in cached state.

Additionally, ep's pointing to proxy tunnel (with our without bounce flag) should be ignored in stale analysis.

multiprocess no_wait queue is unreliable

Example shows 1200 pending events for key where only 13 are found within the queue

### From manager
26889||CEST 2018-08-30 16:45:51.466||WARNING||ep_subscriber.py:(504)||key count(1201) exceeds max threshold(1200) for w(0):|addr:AC:16:2D:C2:0F:3D||type:mac||vnid:16154569|

### From corresponding worker
26935||CEST 2018-08-30 16:45:52.072||DEBUG||ep_worker.py:(1602)||removing all jobs from RxQ with key: {'type': 'mac', 'addr': 'AC:16:2D:C2:0F:3D', 'vnid': '16154569'}
26935||CEST 2018-08-30 16:45:52.085||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:270521
26935||CEST 2018-08-30 16:45:52.101||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:270308
26935||CEST 2018-08-30 16:45:52.111||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:270186
26935||CEST 2018-08-30 16:45:52.123||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:270035
26935||CEST 2018-08-30 16:45:52.135||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:269860
26935||CEST 2018-08-30 16:45:52.145||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:269711
26935||CEST 2018-08-30 16:45:52.163||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:269514
26935||CEST 2018-08-30 16:45:52.185||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:269240
26935||CEST 2018-08-30 16:45:52.252||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:268593
26935||CEST 2018-08-30 16:45:52.270||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:268427
26935||CEST 2018-08-30 16:45:52.318||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:267850
26935||CEST 2018-08-30 16:45:52.329||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:267700
26935||CEST 2018-08-30 16:45:52.346||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:267441
26935||CEST 2018-08-30 16:45:52.367||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:267157
26935||CEST 2018-08-30 16:45:52.380||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:267000
26935||CEST 2018-08-30 16:45:52.404||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:266744
26935||CEST 2018-08-30 16:45:52.422||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:266552
26935||CEST 2018-08-30 16:45:52.491||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:265655
26935||CEST 2018-08-30 16:45:52.500||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:265525
26935||CEST 2018-08-30 16:45:52.513||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:265348
26935||CEST 2018-08-30 16:45:52.523||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:265231
26935||CEST 2018-08-30 16:45:52.536||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:265059
26935||CEST 2018-08-30 16:45:52.548||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:264907
26935||CEST 2018-08-30 16:45:52.559||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:264749
26935||CEST 2018-08-30 16:45:52.571||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:264607
26935||CEST 2018-08-30 16:45:52.583||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:264409
26935||CEST 2018-08-30 16:45:52.669||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:263197
26935||CEST 2018-08-30 16:45:52.685||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:262985
26935||CEST 2018-08-30 16:45:52.695||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:262836
26935||CEST 2018-08-30 16:45:52.706||DEBUG||ep_worker.py:(1615)||no_wait triggered empty with rxQ:262675
26935||CEST 2018-08-30 16:45:52.706||WARNING||ep_worker.py:(1619)||stop waiting for get_nowait
26935||CEST 2018-08-30 16:45:52.707||DEBUG||ep_worker.py:(1625)||removed 13 jobs with key {'type': 'mac', 'addr': 'AC:16:2D:C2:0F:3D', 'vnid': '16154569'} from rxQ
26935||CEST 2018-08-30 16:45:52.707||DEBUG||ep_worker.py:(1626)||re-adding 8185 jobs back onto rxQ
26935||CEST 2018-08-30 16:45:52.736||DEBUG||ep_worker.py:(1631)||notify fail is not enabled

disable apic hostname and username when running in app-mode

The auto-created app username and hostname (docker gateway) should not be configurable by the user while running in app-mode. This is causing some confusion and user may set this to apic out-of-band/inband IP causing the API calls to fail

fabricNode parsing broken on recent build breaks all eptNode tables

227||sub-main||UTC 2019-07-11 14:10:06.696||DEBUG||fabric.py:(372)||add event initializing: building node db to ACIFabric1
227||sub-main||UTC 2019-07-11 14:10:06.696||DEBUG||rest.py:(1635)||fabric update request kwargs: {'_write_all': True, 'fabric': u'ACIFabric1'}
227||sub-main||UTC 2019-07-11 14:10:06.702||DEBUG||ept_subscriber.py:(1053)||initializing node db
227||sub-main||UTC 2019-07-11 14:10:06.702||DEBUG||utils.py:(213)||unexpected format for obj: <generator object _get at 0x76362405ec80>
227||sub-main||UTC 2019-07-11 14:10:06.702||DEBUG||ept_subscriber.py:(1043)||flushing ept.node entries for fabric ACIFabric1
227||sub-main||UTC 2019-07-11 14:10:06.703||DEBUG||rest.py:(1791)||ept.node delete request filters:{'fabric': u'ACIFabric1'}, kwargs: {}

add support for multisite

multisite requires knowledge of other sites that are part of the same multisite fabric along with awareness of vnid/pctag translation and which tunnels representing eteps of remotes sites

TLS Versions

So I have the standalone version (v2.1.2) deployed in my environment, and our security team has discovered that the web server is supporting old TLS versions 1.0 and 1.1. I'd like to disable these, but it appears that the web server/apache components are running inside of Docker and my knowledge of Docker is slim at best. Could we possibly get a new version with TLS 1.0/1.1 disabled and/or instructions on how I may be able to access the apache configs to disable this myself? Any help here is greatly appreciated! Thanks!

Incorrect EPG information for all endpoints in fabric

All endpoints are show up as off subnet because the endpoints are being mapped to the incorrect EPG in EET.

APIC Endpoint Validation

APIC# moquery -c fvIp -f 'fv.Ip.addr=="10.86.11.44"'
Total Objects shown: 2

# fv.Ip
addr             : 10.86.11.44
annotation       : 
baseEpgDn        : uni/tn-DEV/ap-dev_anp/**epg-10.86.11.0_24_epg**
bdDn             : uni/tn-DEV/**BD-10.86.11.0_24_bd**
childAction      : 
createTs         : 1969-12-31T18:00:00.000-06:00
debugMACMessage  : Context: 2883584. First 3 fvCEps: uni/tn-DEV/ap-dev_anp/epg-**10.86.11.0_24_epg**/cep-52:54:30:65:98:74; uni/tn-DEV/ap-dev_anp/epg-10.86.11.0_24_epg/cep-52:54:32:F9:F7:06;
dn               : uni/tn-DEV/ap-dev_anp/esg-dev_esg/cep-52:54:32:F9:F7:06/ip-[10.86.11.44]
esgUsegDn        : 
extMngdBy        : 
fabricPathDn     : topology/pod-1/paths-1101/pathep-[dev]
flags            : 
lcOwn            : local
modTs            : 2021-12-14T23:40:08.992-06:00
monPolDn         : 
rn               : ip-[10.86.11.44]
status           : 
uid              : 0
userdom          : all
vrfDn            : uni/tn-DEV/ctx-global

# fv.Ip
addr             : 10.86.11.44
annotation       : 
baseEpgDn        : 
bdDn             : uni/tn-DEV/BD-10.86.11.0_24_bd
childAction      : 
createTs         : 1969-12-31T18:00:00.000-06:00
debugMACMessage  : Context: 2883584. First 3 fvCEps: uni/tn-DEV/ap-dev_anp/epg-**10.86.11.0_24_epg**/cep-52:54:30:65:98:74; uni/tn-DEV/ap-dev_anp/epg-10.86.11.0_24_epg/cep-52:54:32:F9:F7:06;
dn               : uni/tn-DEV/ap-dev_anp/epg-**10.86.11.0_24_epg/**cep-52:54:32:F9:F7:06/ip-[10.86.11.44]
esgUsegDn        : uni/tn-DEV/ap-dev_anp/esg-dev_esg
extMngdBy        : 
fabricPathDn     : topology/pod-1/paths-1101/pathep-[dev]
flags            : 
lcOwn            : local
modTs            : 2021-12-14T23:40:08.996-06:00
monPolDn         : uni/tn-common/monepg-default
rn               : ip-[10.86.11.44]
status           : 
uid              : 0
userdom          : all
vrfDn            : uni/tn-DEV/ctx-global


```bash
LEAF# moquery -c fvIp -f 'fv.Ip.addr=="10.86.11.44"'
Total Objects shown: 2

# fv.Ip
addr             : 10.86.11.44
annotation       : 
baseEpgDn        : uni/tn-DEV/ap-dev_anp/epg-**10.86.11.0_24_epg**
bdDn             : uni/tn-DEV/BD-**10.86.11.0_24_bd**
childAction      : 
createTs         : 2021-10-19T13:57:18.341-06:00
debugMACMessage  : 
dn               : uni/epp/sec-[uni/tn-DEV/ap-dev_anp/esg-dev_esg]/node-1102/epcont/epdef-52:54:32:F9:F7:06/ip-[10.86.11.44]
esgUsegDn        : 
extMngdBy        : 
fabricPathDn     : topology/pod-1/paths-1102/pathep-[dev_l2_vpc_pg]
flags            : local,local-aged,lrn-dis,vpc-attached
lcOwn            : local
modTs            : 2021-12-14T23:40:04.311-06:00
monPolDn         : 
rn               : ip-[10.86.11.44]
status           : 
uid              : 0
userdom          : all
vrfDn            : uni/tn-DEV/ctx-global

# fv.Ip
addr             : 10.86.11.44
annotation       : 
baseEpgDn        : 
bdDn             : uni/tn-DEV/**BD-10.86.11.0_24_bd**
childAction      : 
createTs         : 2021-10-19T13:57:18.341-06:00
debugMACMessage  : 
dn               : uni/epp/fv-[uni/tn-DEV/ap-dev_anp/**epg-10.86.11.0_24_epg**]/node-1102/epcont/epdef-52:54:32:F9:F7:06/ip-[10.86.11.44]
esgUsegDn        : uni/tn-DEV/ap-dev_anp/esg-dev_esg
extMngdBy        : 
fabricPathDn     : topology/pod-1/paths-1102/pathep-[dev_l2_vpc_pg]
flags            : local,local-aged,lrn-dis,vpc-attached
lcOwn            : local
modTs            : 2021-12-14T23:40:04.311-06:00
monPolDn         : uni/tn-common/monepg-default
rn               : ip-[10.86.11.44]
status           : 
uid              : 0

image

unexpected worker hello timeout

any delay in priority worker (such as handle_event for node/tunnel/vpc rebuild) that takes more than 3 seconds to complete can trigger hello timeouts since hellos generated by priority worker are delayed until job completes.

file descriptor out of range error seen after multiple restarts

After multiple restarts (seen when exceeding max ep jobs), file descriptor out of range errors are seen. I suspect we're not correctly closing sockets on restarts

3163||UTC 2017-11-25 21:32:01.910||ERROR||ep_subscriber.py:(493)||pending jobs(65537) exceeds max threshold(65536)
3163||UTC 2017-11-25 21:32:01.910||INFO||utils.py:(851)||restarting fabric: /bin/bash ./bash/workers.sh -r CC-LAN

7613||UTC 2017-11-25 22:35:30.345||WARNING||utils.py:(594)||exception occurred in get request: Traceback (most recent call last):
File "app/tasks/ept/utils.py", line 591, in get
resp = session.get(turl, timeout=timeout)
File "app/tasks/tools/acitoolkit/acisession.py", line 820, in get
resp = self.session.get(get_url, timeout=timeout, verify=self.verify_ssl, proxies=self._proxies, cookies=cookies)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 370, in send
timeout=timeout
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 559, in urlopen
body=body, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 345, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 782, in _validate_conn
conn.connect()
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connection.py", line 250, in connect
ssl_version=resolved_ssl_version)
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 301, in ssl_wrap_socket
rd, _, _ = select.select([sock], [], [], sock.gettimeout())
ValueError: filedescriptor out of range in select()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.