ignore tag update for Netbox version >= 2.8
This commit is contained in:
parent
1d98d3c8e9
commit
3639662961
3 changed files with 11 additions and 8 deletions
|
@ -2,6 +2,7 @@ import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
from shutil import which
|
from shutil import which
|
||||||
|
|
||||||
|
from slugify import slugify
|
||||||
from netbox_agent.config import netbox_instance as nb
|
from netbox_agent.config import netbox_instance as nb
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,5 +68,5 @@ def create_netbox_tags(tags):
|
||||||
if not nb_tag:
|
if not nb_tag:
|
||||||
nb_tag = nb.extras.tags.create(
|
nb_tag = nb.extras.tags.create(
|
||||||
name=tag,
|
name=tag,
|
||||||
slug=tag,
|
slug=slugify(tag),
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,7 +28,7 @@ class ServerBase():
|
||||||
|
|
||||||
self.network = None
|
self.network = None
|
||||||
|
|
||||||
self.tags = list(set(config.device.tags.split(','))) if config.device.tags else []
|
self.tags = list(set([x.strip() for x in config.device.tags.split(',') if x.strip()])) if config.device.tags else []
|
||||||
if self.tags and len(self.tags):
|
if self.tags and len(self.tags):
|
||||||
create_netbox_tags(self.tags)
|
create_netbox_tags(self.tags)
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ class ServerBase():
|
||||||
site=datacenter.id if datacenter else None,
|
site=datacenter.id if datacenter else None,
|
||||||
tenant=tenant.id if tenant else None,
|
tenant=tenant.id if tenant else None,
|
||||||
rack=rack.id if rack else None,
|
rack=rack.id if rack else None,
|
||||||
tags=self.tags,
|
tags=[{'name': x} for x in self.tags],
|
||||||
)
|
)
|
||||||
return new_chassis
|
return new_chassis
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ class ServerBase():
|
||||||
site=datacenter.id if datacenter else None,
|
site=datacenter.id if datacenter else None,
|
||||||
tenant=tenant.id if tenant else None,
|
tenant=tenant.id if tenant else None,
|
||||||
rack=rack.id if rack else None,
|
rack=rack.id if rack else None,
|
||||||
tags=self.tags,
|
tags=[{'name': x} for x in self.tags],
|
||||||
)
|
)
|
||||||
return new_blade
|
return new_blade
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ class ServerBase():
|
||||||
site=datacenter.id if datacenter else None,
|
site=datacenter.id if datacenter else None,
|
||||||
tenant=tenant.id if tenant else None,
|
tenant=tenant.id if tenant else None,
|
||||||
rack=rack.id if rack else None,
|
rack=rack.id if rack else None,
|
||||||
tags=self.tags,
|
tags=[{'name': x} for x in self.tags],
|
||||||
)
|
)
|
||||||
return new_blade
|
return new_blade
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ class ServerBase():
|
||||||
site=datacenter.id if datacenter else None,
|
site=datacenter.id if datacenter else None,
|
||||||
tenant=tenant.id if tenant else None,
|
tenant=tenant.id if tenant else None,
|
||||||
rack=rack.id if rack else None,
|
rack=rack.id if rack else None,
|
||||||
tags=self.tags,
|
tags=[{'name': x} for x in self.tags],
|
||||||
)
|
)
|
||||||
return new_server
|
return new_server
|
||||||
|
|
||||||
|
@ -383,9 +383,11 @@ class ServerBase():
|
||||||
update += 1
|
update += 1
|
||||||
server.name = self.get_hostname()
|
server.name = self.get_hostname()
|
||||||
|
|
||||||
if sorted(set(server.tags)) != sorted(set(self.tags)):
|
if float(nb.version) < 2.8 and sorted(set(server.tags)) != sorted(set(self.tags)):
|
||||||
server.tags = self.tags
|
server.tags = self.tags
|
||||||
update += 1
|
update += 1
|
||||||
|
else:
|
||||||
|
logging.warning("netbox-agent doesn't support tag updates for Netbox version >=2.8")
|
||||||
|
|
||||||
if config.update_all or config.update_location:
|
if config.update_all or config.update_location:
|
||||||
ret, server = self.update_netbox_location(server)
|
ret, server = self.update_netbox_location(server)
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -14,7 +14,7 @@ setup(
|
||||||
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
|
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
|
||||||
use_scm_version=True,
|
use_scm_version=True,
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'pynetbox==5.0.5',
|
'pynetbox==5.1.0',
|
||||||
'netaddr==0.8.0',
|
'netaddr==0.8.0',
|
||||||
'netifaces==0.10.9',
|
'netifaces==0.10.9',
|
||||||
'pyyaml==5.4.1',
|
'pyyaml==5.4.1',
|
||||||
|
|
Loading…
Reference in a new issue