Juniper / py-junos-netconify

Junos console/bootstrap automation Python module
Apache License 2.0
67 stars 30 forks source link

Write delay needed for writing to vRR console #56

Closed jeffbrl closed 8 years ago

jeffbrl commented 8 years ago

Based on my experimentation, the vRR console port can buffer about 115 characters when characters are rapidly sent to it. This limitation breaks the uploading of a minimal config. The <load-configuration> RPC will terminate prematurely.

Here is how I was able to fix it in tty_telnet.py:

    def rawwrite(self, content):
        """ write content as-is """
        for chunk in [content[i:i+100] for i in range(0, len(content), 100)]:
            self._tn.write(chunk)
            sleep(0.1)

Should this delay to be based on a command line flag? I'd be glad to submit a PR for this.

By the way, I have not tested vmx so I don't know if its console port has similar behavior.

stacywsmith commented 8 years ago

There is already a pull request to address this issue. https://github.com/Juniper/py-junos-netconify/pull/48

That pull request needs to be updated to also include SSH connections, but otherwise I believe it's a reasonable fix.

jeffbrl commented 8 years ago

I verified @mpergament's PR also fixes my issue. I will offer my support to him in adding the ssh bits. I'd motivated to get his fix and #52 merged for fully functioning vRR support. Closing.