Puncte:0

Salt-sproxy cu Junos 18.x

drapel cn
Mou

Am folosit salt-sproxy pentru o vreme cu rețeaua noastră bazată pe Juniper și totul funcționa bine.

Am început să găsesc câteva probleme cu noul cod Junos pe care îl folosim (18.x)

Pot comunica cu dispozitivul (net.connected, net.cli, grains....etc), dar nu pot configura nimic pe el nici prin net.cli, nici prin net.load_config/template, dispozitivul nu raportează înapoi orice diferență și vede că noile configurații sunt deja configurate, chiar dacă noul fișier set conține noi configurații neconfigurate pe dispozitiv cu siguranță.

Și nu văd nimic care se întoarce de la dispozitiv prin rpc-reply în timp ce depanez cererea.

Am testat asta pentru mai multe dispozitive Juniper cu același cod și toate au același comportament greșit.

salt-sproxy '10-220-1-9' net.load_config text='set vlans vlan888 vlan-id 888'
10-220-1-9:
    ----------
    deja_configurat:
        Adevărat
    cometariu:
        Deja configurat.
    diferenta:
    loaded_config:
    rezultat:
        Adevărat


mkh@sw220-1-9> arată configurația vlans vlan888

{master:0}
mkh@sw220-1-9>

Debug arată același lucru

[INFO] [host 10.220.1.9 session-id 82730] Se solicită „ExecuteRpc”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:ff66d123-c081-487d-971f-5d7e2932524a"><lock-configuration/></nc:rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :ff66d123-c081-487d-971f-5d7e2932524a"><lock-configuration/></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ff66d123-c081-487d-971f-5d7e2932524a">
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ff66d123-c081-487d- 971f-5d7e2932524a">
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.operations.rpc.RPCReplyListener obiect la 0x7fa31e732670>
[DEBUG ] [host 10.220.1.9 session-id 82730] Livrarea către <ncclient.operations.third_party.juniper.rpc.ExecuteRpc obiect la 0x7fa31efeac10>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.transport.session.NotificationHandler object at 0x7fa31e644130>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <jnpr.junos.device.DeviceSessionListener obiect la 0x7fa31e628370>
[INFO] [host 10.220.1.9 session-id 82730] Se solicită „ExecuteRpc”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:5f53421e-6d44-4c58-91e1-c19ccea38b1e"><load-configuration format="text" action="set"><configuration-set>set vlans vlan888 vlan -id 888
</configuration-set></load-configuration></nc:rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :5f53421e-6d44-4c58-91e1-c19ccea38b1e"><load-configuration format="text" action="set"><configuration-set>set vlans vlan888 vlan-id 888
</configuration-set></load-configuration></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:5f53421e-6d44-4c58-91e1-c19ccea38b1e">
<load-configuration-results>
<ok/>
</load-configuration-results>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:5f53421e-6d44-4c58- 91e1-c19ccea38b1e">
<load-configuration-results>
<ok/>
</load-configuration-results>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.operations.rpc.RPCReplyListener obiect la 0x7fa31e732670>
[DEBUG ] [host 10.220.1.9 session-id 82730] Livrarea către <ncclient.operations.third_party.juniper.rpc.ExecuteRpc obiect la 0x7fa31f160fd0>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.transport.session.NotificationHandler object at 0x7fa31e644130>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <jnpr.junos.device.DeviceSessionListener obiect la 0x7fa31e628370>
[INFO] [host 10.220.1.9 session-id 82730] Se solicită „ExecuteRpc”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:aa19bafc-a8b9-42ee-a9ae-f18de0448176"><get-configuration compare="rollback" rollback="0" format="text"/></nc :rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :aa19bafc-a8b9-42ee-a9ae-f18de0448176"><get-configuration compare="rollback" rollback="0" format="text"/></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:aa19bafc-a8b9-42ee-a9ae-f18de0448176">
<informații-configurare>
<configurare-ieșire>
</configuration-output>
</configuration-information>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:aa19bafc-a8b9-42ee- a9ae-f18de0448176">
<informații-configurare>
<configurare-ieșire>
</configuration-output>
</configuration-information>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.operations.rpc.RPCReplyListener obiect la 0x7fa31e732670>
[DEBUG ] [host 10.220.1.9 session-id 82730] Livrarea către <ncclient.operations.third_party.juniper.rpc.ExecuteRpc obiect la 0x7fa31f0edb80>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.transport.session.NotificationHandler object at 0x7fa31e644130>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <jnpr.junos.device.DeviceSessionListener obiect la 0x7fa31e628370>
[DEBUG] Renunțarea la config
[DEBUG ] {'rezultat': True, 'comment': '', 'already_configured': False, 'loaded_config': '', 'diff': ''}
[INFO] [host 10.220.1.9 session-id 82730] Se solicită „ExecuteRpc”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:4ef1fa52-c32d-49c4-aab2-e2db867a3761"><load-configuration compare="rollback" rollback="0"/></nc:rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :4ef1fa52-c32d-49c4-aab2-e2db867a3761"><load-configuration compare="rollback" rollback="0"/></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4ef1fa52-c32d-49c4-aab2-e2db867a3761">
<load-configuration-results>
<ok/>
</load-configuration-results>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4ef1fa52-c32d-49c4- aab2-e2db867a3761">
<load-configuration-results>
<ok/>
</load-configuration-results>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.operations.rpc.RPCReplyListener obiect la 0x7fa31e732670>
[DEBUG ] [host 10.220.1.9 session-id 82730] Livrarea către <ncclient.operations.third_party.juniper.rpc.ExecuteRpc obiect la 0x7fa31f160f70>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.transport.session.NotificationHandler object at 0x7fa31e644130>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <jnpr.junos.device.DeviceSessionListener obiect la 0x7fa31e628370>
[INFO] [host 10.220.1.9 session-id 82730] Se solicită „ExecuteRpc”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:ddb0f24c-387a-4366-9703-9a618e7ad6f4"><unlock-configuration/></nc:rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :ddb0f24c-387a-4366-9703-9a618e7ad6f4"><unlock-configuration/></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ddb0f24c-387a-4366-9703-9a618e7ad6f4">
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ddb0f24c-387a-4366- 9703-9a618e7ad6f4">
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.operations.rpc.RPCReplyListener obiect la 0x7fa31e732670>
[DEBUG ] [host 10.220.1.9 session-id 82730] Livrare către <ncclient.operations.third_party.juniper.rpc.ExecuteRpc obiect la 0x7fa31f0ed430>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <ncclient.transport.session.NotificationHandler object at 0x7fa31e644130>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către ascultător: <jnpr.junos.device.DeviceSessionListener obiect la 0x7fa31e628370>
[INFO] [host 10.220.1.9 session-id 82730] Se solicită „CloseSession”
[DEBUG ] [host 10.220.1.9 session-id 82730] coadă <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns: netconf:base:1.0" message-id="urn:uuid:f8b65a65-5563-46b3-a7a1-36f2da78487e"><nc:close-session/></nc:rpc>
[DEBUG ] [host 10.220.1.9 session-id 82730] Solicitare de sincronizare, va aștepta timeout=60
[DEBUG ] [host 10.220.1.9 session-id 82730] Se trimite mesaj
[INFO] [host 10.220.1.9 session-id 82730] Se trimite:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid :f8b65a65-5563-46b3-a7a1-36f2da78487e"><nc:close-session/></nc:rpc>]]>]]>
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[DEBUG] [host 10.220.1.9 session-id 82730] parsing netconf v1.0
[INFO] [host 10.220.1.9 session-id 82730] S-a primit mesaj de la gazdă
[DEBUG ] [host 10.220.1.9 session-id 82730] Primit:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos" xmlns:nc=" urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:f8b65a65-5563-46b3-a7a1-36f2da78487e">
<ok/>
</rpc-reply>
[DEBUG ] [host 10.220.1.9 session-id 82730] trimiterea unui mesaj către diferiți ascultători: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http:/ /xml.juniper.net/junos/18.2R3/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:f8b65a65-5563-46b3- a7a1-36f2da78487e">
<ok/>
</rpc-reply>

Încă un punct că același fișier set + comenzi net funcționează pentru un alt cod Junos diferit de 18, testat pe 20.4 și 15.1 fără nicio problemă similară.

Am adăugat acest lucru la proiectul Salt-sproxy, așa cum se arată mai jos, și m-am asigurat că problema nu este nici cu napalm, nici cu netconf, care au fost testate individual și au funcționat:

https://github.com/mirceaulinic/salt-sproxy/issues/255

Apreciez orice sprijin și cele mai bune salutări, Mou

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.