|
|
|
@ -43,7 +43,10 @@ class NxapiConfigMixin(object):
|
|
|
|
|
|
|
|
|
|
def load_config(self, config):
|
|
|
|
|
checkpoint = 'ansible_%s' % int(time.time())
|
|
|
|
|
try:
|
|
|
|
|
self.execute(['checkpoint %s' % checkpoint], output='text')
|
|
|
|
|
except TypeError:
|
|
|
|
|
self.execute(['checkpoint %s' % checkpoint])
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
self.configure(config)
|
|
|
|
@ -51,14 +54,21 @@ class NxapiConfigMixin(object):
|
|
|
|
|
self.load_checkpoint(checkpoint)
|
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
self.execute(['no checkpoint %s' % checkpoint], output='text')
|
|
|
|
|
except TypeError:
|
|
|
|
|
self.execute(['no checkpoint %s' % checkpoint])
|
|
|
|
|
|
|
|
|
|
def save_config(self, **kwargs):
|
|
|
|
|
self.execute(['copy running-config startup-config'])
|
|
|
|
|
|
|
|
|
|
def load_checkpoint(self, checkpoint):
|
|
|
|
|
try:
|
|
|
|
|
self.execute(['rollback running-config checkpoint %s' % checkpoint,
|
|
|
|
|
'no checkpoint %s' % checkpoint], output='text')
|
|
|
|
|
except TypeError:
|
|
|
|
|
self.execute(['rollback running-config checkpoint %s' % checkpoint,
|
|
|
|
|
'no checkpoint %s' % checkpoint])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Nxapi(NxapiConfigMixin):
|
|
|
|
|