Skip to content

Commit 15a035b

Browse files
committed
Change the release version
1 parent eeb193c commit 15a035b

File tree

3 files changed

+80
-81
lines changed

3 files changed

+80
-81
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
NAPALM driver for HUAWEI Campus Network Switch, support the S5700,S6700 etc.
77

8-
This repository is using some [NAPALM-CE](https://github.com/napalm-automation-community/napalm-ce) code, thanks for thdDaniel's contribution
9-
8+
This repository is reference [NAPALM-CE](https://github.com/napalm-automation-community/napalm-ce) and Cisco IOS code, thanks for thdDaniel's contribution
109

1110
## Instructions
1211

napalm_huawei_vrp/huawei_vrp.py

Lines changed: 78 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232

3333
from datetime import datetime
3434
from napalm.base import NetworkDriver
35-
# from napalm.base.utils import py23_compat
3635
from napalm.base.netmiko_helpers import netmiko_args
3736
from napalm.base.exceptions import (
3837
MergeConfigException,
@@ -361,6 +360,83 @@ def get_config(self, retrieve="all", full=False):
361360
pass
362361
return config
363362

363+
# ok
364+
def load_merge_candidate(self, filename=None, config=None):
365+
"""Open the candidate config and merge."""
366+
if not filename and not config:
367+
raise MergeConfigException('filename or config param must be provided.')
368+
369+
self.merge_candidate += '\n' # insert one extra line
370+
if filename is not None:
371+
with open(filename, "r") as f:
372+
self.merge_candidate += f.read()
373+
else:
374+
self.merge_candidate += config
375+
376+
self.replace = False
377+
self.loaded = True
378+
379+
# developing
380+
def load_replace_candidate(self, filename=None, config=None):
381+
"""Open the candidate config and replace."""
382+
if not filename and not config:
383+
raise ReplaceConfigException('filename or config param must be provided.')
384+
385+
self._replace_candidate(filename, config)
386+
self.replace = True
387+
self.loaded = True
388+
389+
# ok
390+
def commit_config(self, message=""):
391+
"""Commit configuration."""
392+
if self.loaded:
393+
try:
394+
self.backup_file = 'config_' + datetime.now().strftime("%Y%m%d_%H%M") + '.cfg'
395+
if self._check_file_exists(self.backup_file):
396+
self._delete_file(self.backup_file)
397+
self._save_config(self.backup_file)
398+
if self.replace:
399+
self._load_config(self.replace_file.split('/')[-1])
400+
else:
401+
self._commit_merge()
402+
self.merge_candidate = '' # clear the merge buffer
403+
404+
self.changed = True
405+
self.loaded = False
406+
self._save_config()
407+
except Exception as e:
408+
raise CommitError(str(e))
409+
else:
410+
raise CommitError('No config loaded.')
411+
412+
# ok
413+
def compare_config(self):
414+
"""Compare candidate config with running."""
415+
if self.loaded:
416+
if not self.replace:
417+
return self._get_merge_diff()
418+
# return self.merge_candidate
419+
diff = self._get_diff(self.replace_file.split('/')[-1])
420+
return diff
421+
return ''
422+
423+
# ok
424+
def discard_config(self):
425+
"""Discard changes."""
426+
if self.loaded:
427+
self.merge_candidate = '' # clear the buffer
428+
if self.loaded and self.replace:
429+
self._delete_file(self.replace_file)
430+
self.loaded = False
431+
432+
# developing
433+
def rollback(self):
434+
"""Rollback to previous commit."""
435+
if self.changed:
436+
self._load_config(self.backup_file)
437+
self.changed = False
438+
self._save_config()
439+
364440
# verified
365441
def ping(self, destination, source=c.PING_SOURCE, ttl=c.PING_TTL, timeout=c.PING_TIMEOUT, size=c.PING_SIZE,
366442
count=c.PING_COUNT, vrf=c.PING_VRF):
@@ -423,6 +499,7 @@ def ping(self, destination, source=c.PING_SOURCE, ttl=c.PING_TTL, timeout=c.PING
423499
def traceroute(self):
424500
pass
425501

502+
# get information from network device
426503
# verified
427504
def get_interfaces(self):
428505
"""
@@ -680,83 +757,6 @@ def process_counts(tup):
680757
})
681758
return interfaces
682759

683-
# ok
684-
def load_merge_candidate(self, filename=None, config=None):
685-
"""Open the candidate config and merge."""
686-
if not filename and not config:
687-
raise MergeConfigException('filename or config param must be provided.')
688-
689-
self.merge_candidate += '\n' # insert one extra line
690-
if filename is not None:
691-
with open(filename, "r") as f:
692-
self.merge_candidate += f.read()
693-
else:
694-
self.merge_candidate += config
695-
696-
self.replace = False
697-
self.loaded = True
698-
699-
# developing
700-
def load_replace_candidate(self, filename=None, config=None):
701-
"""Open the candidate config and replace."""
702-
if not filename and not config:
703-
raise ReplaceConfigException('filename or config param must be provided.')
704-
705-
self._replace_candidate(filename, config)
706-
self.replace = True
707-
self.loaded = True
708-
709-
# ok
710-
def commit_config(self, message=""):
711-
"""Commit configuration."""
712-
if self.loaded:
713-
try:
714-
self.backup_file = 'config_' + datetime.now().strftime("%Y%m%d_%H%M") + '.cfg'
715-
if self._check_file_exists(self.backup_file):
716-
self._delete_file(self.backup_file)
717-
self._save_config(self.backup_file)
718-
if self.replace:
719-
self._load_config(self.replace_file.split('/')[-1])
720-
else:
721-
self._commit_merge()
722-
self.merge_candidate = '' # clear the merge buffer
723-
724-
self.changed = True
725-
self.loaded = False
726-
self._save_config()
727-
except Exception as e:
728-
raise CommitError(str(e))
729-
else:
730-
raise CommitError('No config loaded.')
731-
732-
# ok
733-
def compare_config(self):
734-
"""Compare candidate config with running."""
735-
if self.loaded:
736-
if not self.replace:
737-
return self._get_merge_diff()
738-
# return self.merge_candidate
739-
diff = self._get_diff(self.replace_file.split('/')[-1])
740-
return diff
741-
return ''
742-
743-
# ok
744-
def discard_config(self):
745-
"""Discard changes."""
746-
if self.loaded:
747-
self.merge_candidate = '' # clear the buffer
748-
if self.loaded and self.replace:
749-
self._delete_file(self.replace_file)
750-
self.loaded = False
751-
752-
# developing
753-
def rollback(self):
754-
"""Rollback to previous commit."""
755-
if self.changed:
756-
self._load_config(self.backup_file)
757-
self.changed = False
758-
self._save_config()
759-
760760
# verified
761761
def get_lldp_neighbors(self):
762762
"""

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
setup(
1313
name="napalm-huawei-vrp",
14-
version="0.1.5",
14+
version="1.0.0",
1515
packages=find_packages(),
1616
author="Locus Li",
1717
author_email="locus@byto.top",

0 commit comments

Comments
 (0)