Ravenports generated: 10 Feb 2024 22:55
[ravenports.git] / bucket_D4 / python-netbox-network-importer
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               python-netbox-network-importer
4 VERSION=                1.1.4
5 KEYWORDS=               python
6 VARIANTS=               v11 v12
7 SDESC[v11]=             Tool to import network into Netbox (3.11)
8 SDESC[v12]=             Tool to import network into Netbox (3.12)
9 HOMEPAGE=               https://gitlab.cesnet.cz/701/done/netbox_network_importer
10 CONTACT=                Python_Automaton[python@ironwolf.systems]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            PYPI/n/netbox-network-importer
14 DISTFILE[1]=            netbox_network_importer-1.1.4.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[v11]=             single
17 SPKGS[v12]=             single
18
19 OPTIONS_AVAILABLE=      PY311 PY312
20 OPTIONS_STANDARD=       none
21 VOPTS[v11]=             PY311=ON PY312=OFF
22 VOPTS[v12]=             PY311=OFF PY312=ON
23
24 DISTNAME=               netbox_network_importer-1.1.4
25
26 GENERATED=              yes
27
28 [PY311].BUILDRUN_DEPENDS_ON=            python-click:single:v11
29                                         python-pynetbox:single:v11
30                                         python-python-slugify:single:v11
31                                         python-appdirs:single:v11
32                                         python-PyYAML:single:v11
33                                         python-python-dotenv:single:v11
34                                         python-netutils:single:v11
35                                         python-nornir:single:v11
36                                         python-nornir-netbox:single:v11
37                                         python-nornir-utils:single:v11
38                                         python-nornir-rich:single:v11
39                                         python-deepdiff:single:v11
40                                         python-napalm:single:v11
41                                         python-ncclient:single:v11
42                                         python-loguru:single:v11
43                                         python-dictdiffer:single:v11
44                                         python-json2html:single:v11
45                                         python-jsonpickle:single:v11
46                                         python-pytest-runner:single:v11
47 [PY311].USES_ON=                        python:v11,sutools
48
49 [PY312].BUILDRUN_DEPENDS_ON=            python-click:single:v12
50                                         python-pynetbox:single:v12
51                                         python-python-slugify:single:v12
52                                         python-appdirs:single:v12
53                                         python-PyYAML:single:v12
54                                         python-python-dotenv:single:v12
55                                         python-netutils:single:v12
56                                         python-nornir:single:v12
57                                         python-nornir-netbox:single:v12
58                                         python-nornir-utils:single:v12
59                                         python-nornir-rich:single:v12
60                                         python-deepdiff:single:v12
61                                         python-napalm:single:v12
62                                         python-ncclient:single:v12
63                                         python-loguru:single:v12
64                                         python-dictdiffer:single:v12
65                                         python-json2html:single:v12
66                                         python-jsonpickle:single:v12
67                                         python-pytest-runner:single:v12
68 [PY312].USES_ON=                        python:v12,sutools
69
70 [FILE:2892:descriptions/desc.single]
71 # Netbox Network Importer
72
73 Tool to analyze and synchronize an existing network with a Netbox (SOT).
74
75 The main use cases for the network importer: 
76  - Import an existing network into a Netbox
77  - ~~Check the differences between the running network and the Netbox~~
78
79 ---
80 ## Install
81 1. Clone repository
82    - `git clone git@gitlab.cesnet.cz:701/done/netbox_network_importer.git`
83 2. Go into the repository
84    - `cd netbox_network_importer `
85 3. Create `virtualenv`
86    - `python3 -m venv venv`
87 3. Activate it
88    - `source venv/bin/activate`
89 3. Install the tool
90    - `pip install .`
91 ---
92 ## Pre-requisite
93 To operate, the Netbox Network Importer is dependent on the following
94 items:
95 - Access to Netbox API
96 - Access to Network Devices via SSH
97 - Created Custom Field on Netbox
98 ```json
99    {
100     "display": "Ignore Importer",
101     "content_types": [
102         "dcim.interface",
103    ],
104     "type": {
105         "value": "boolean",
106         "label": "Boolean (true/false)"
107     },
108     "object_type": null,
109     "data_type": "boolean",
110     "name": "ignore_importer",
111     "label": "Ignore Importer",
112     "description": "Will be ignored when processed by Network Importer",
113     "required": true,
114     "filter_logic": {
115         "value": "exact",
116         "label": "Exact"
117     },
118     "default": false,
119     "weight": 100,
120    }
121 ```
122 ---
123 ## Inventory
124 A device inventory must be available in NetBox. 
125
126 To be able to connect to the device the following information needs to be
127 defined :
128 - Primary ip address
129 - Platform (must be a one of the following ['iosxr', 'ios', 'iosxe'])
130 ---
131 ## Configuration file
132 The information to connect to NetBox must be provided via the configuration
133 file. The configuration file below present standard options that can be
134 provided to control the behavior of the Netbox Network Importer.
135
136 Netbox Network Importer try to find the configuration file at:
137 - `/home/<user>/.config/netbox_network_importer/config.yml` 
138 - `/etc/netbox_network_importer/config.yml`
139 - Or you can set path to configuratin file like:
140    - `netbox_network_importer --config path_to_dir_with_config/
141 synchronize`
142 ```
143 ---
144 netbox:
145   NETBOX_API_TOKEN: "API_TOKEN"
146   NETBOX_INSTANCE_URL: "https://netbox.done-test.cesnet.cz/"
147   NETBOX_GRAPHQL_URL: "https://netbox.done-test.cesnet.cz/graphql/"
148 tacacs:
149   TACACS_USERNAME: "username"
150   TACACS_PASSWORD: "password"
151
152 config:
153   LOG_DIR: "path_where_output.log_will_be_stored"
154   LOG_LEVEL: "DEBUG"
155   OUTPUT_DIR: "output_folder_where_results_will_be_stored"
156 ```
157 ---
158 ## Execute
159 The Netbox Network Importer runs only in apply mode.
160 - ~~In check mode, no modification will be made to the SOT, the differences
161 will be printed on the screen~~
162 - In apply mode, the NETBOX will be updated with:
163    - interfaces
164    - IPs
165    - vlans 
166    - LAGs
167
168 ### Apply Mode
169 The Netbox Network Importer will attempt to create/update or delete all
170 elements in the Netbox that do not match what has been observed in the
171
172
173 [FILE:115:distinfo]
174 7bc3ca23b2ec7325c8bf83e0ee145927a2fbc4e1de8ea79bfbe5b4edcd8f9515        25719 netbox_network_importer-1.1.4.tar.gz
175