{"id":18907,"date":"2025-12-13T07:16:20","date_gmt":"2025-12-12T22:16:20","guid":{"rendered":"https:\/\/aireviewirush.com\/?p=18907"},"modified":"2025-12-13T07:16:21","modified_gmt":"2025-12-12T22:16:21","slug":"two-new-methods-to-convey-netbox-into-your-cml-networks","status":"publish","type":"post","link":"https:\/\/aireviewirush.com\/?p=18907","title":{"rendered":"Two New Methods to Convey NetBox Into Your CML Networks"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>I had a really busy fall this 12 months, and now I can\u2019t imagine\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">it\u2019s been three months since my final weblog,\u00a0<a href=\"https:\/\/blogs.cisco.com\/learning\/bringing-some-source-of-truth-to-your-netai-agentic-playground\" target=\"_blank\" rel=\"noopener\">\u201cBringing Some Supply of Fact to Your NetAI Agentic Playground<\/a>.\u201d<\/span>\u00a0That\u2019s far longer than I had deliberate after I made my \u201cpublic accountability assertion\u201d about my subsequent weblog submit being in regards to the work I had executed to convey NetBox into my CML simulations in a simple and seamless trend.<\/p>\n<p>However immediately, I\u2019m again. And wanting to reveal two new contributions to the Cisco Modeling Labs (CML) group to your speedy use:<\/p>\n<ol>\n<li><a href=\"https:\/\/github.com\/CiscoDevNet\/cml-community\/tree\/master\/node-definitions\/opensource\/netbox-server\" target=\"_blank\" rel=\"noopener\">A CML node and picture definition for a NetBox server<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/cml2netbox\/\" target=\"_blank\" rel=\"noopener\">CML2NetBox<\/a>, a Python utility that auto-populates NetBox primarily based on a CML lab<\/li>\n<\/ol>\n<p>Let\u2019s dive into every of those choices and see how they work!<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_53 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\" role=\"button\"><label for=\"item-69e859ba12fdb\" ><span class=\"\"><span style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input aria-label=\"Toggle\" aria-label=\"item-69e859ba12fdb\"  type=\"checkbox\" id=\"item-69e859ba12fdb\"><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/aireviewirush.com\/?p=18907\/#NetBox_server_node_for_Cisco_Modeling_Labs\" title=\"NetBox server node for Cisco Modeling Labs\">NetBox server node for Cisco Modeling Labs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/aireviewirush.com\/?p=18907\/#CML2NetBox_A_Python_utility_for_EVERYONE\" title=\"CML2NetBox: A Python utility for EVERYONE!\">CML2NetBox: A Python utility for EVERYONE!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/aireviewirush.com\/?p=18907\/#And_executed\" title=\"And executed!\">And executed!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/aireviewirush.com\/?p=18907\/#Study_with_Cisco\" title=\"Study with Cisco\">Study with Cisco<\/a><ul class='ez-toc-list-level-4'><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4'><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/aireviewirush.com\/?p=18907\/#X%E2%80%AF%E2%80%AFThreads_Fb%E2%80%AF%E2%80%AFLinkedIn%E2%80%AF%E2%80%AFInstagram%E2%80%AF%E2%80%AFYouTube\" title=\"X\u202f|\u202fThreads\u00a0|\u00a0Fb\u202f|\u202fLinkedIn\u202f|\u202fInstagram\u202f|\u202fYouTube\">X\u202f|\u202fThreads\u00a0|\u00a0Fb\u202f|\u202fLinkedIn\u202f|\u202fInstagram\u202f|\u202fYouTube<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"NetBox_server_node_for_Cisco_Modeling_Labs\"><\/span><strong>NetBox server node for Cisco Modeling Labs<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Not each CML community I construct wants a NetBox server, however at any time when I\u2019m engaged on a brand new community automation venture, or one thing that includes creating a duplicate (or shut duplicate) of our manufacturing community\u2014a \u201cdigital cousin,\u201d so to talk\u2014I&#8217;ll need to have a supply of reality populated with knowledge from the community simulation.<\/p>\n<p>Prior to now, I&#8217;ve manually populated NetBox with knowledge utilizing APIs, scripts, or CSV imports. Nonetheless, these choices aren\u2019t nice, they usually weren\u2019t a part of the lab itself. That\u2019s the place this new <a href=\"https:\/\/github.com\/CiscoDevNet\/cml-community\/tree\/master\/node-definitions\/opensource\/netbox-server\" target=\"_blank\" rel=\"noopener\">node definition<\/a> is available in.<\/p>\n<p>Now I can merely drag the \u201cNetBox\u201d node into the topology and configure it to auto-populate from the CML lab definition itself.<\/p>\n<figure id=\"attachment_482449\" aria-describedby=\"caption-attachment-482449\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden wp-image-482449 size-full\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-01.jpg\" alt=\"Showing the new NetBox node for CML in the web GUI\" width=\"800\" height=\"599\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-482449 size-full\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-01.jpg\" alt=\"Showing the new NetBox node for CML in the web GUI\" width=\"800\" height=\"599\"\/><\/noscript><figcaption id=\"caption-attachment-482449\" class=\"wp-caption-text\">Including NetBox to a community topology in CML<\/figcaption><\/figure>\n<p>After that, simply begin the lab, and the node will learn the CML lab info and routinely create websites, gadgets, IP addresses, and even cables connecting interfaces throughout all nodes within the topology.<\/p>\n<p>\u00a0<\/p>\n<figure id=\"attachment_482451\" aria-describedby=\"caption-attachment-482451\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-02.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden size-large wp-image-482451\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-02-1024x817.jpg\" alt=\"Showing the NetBox web interface with data auto populated from CML\" width=\"1024\" height=\"817\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-482451\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-02-1024x817.jpg\" alt=\"Showing the NetBox web interface with data auto populated from CML\" width=\"1024\" height=\"817\"\/><\/noscript><\/a><figcaption id=\"caption-attachment-482451\" class=\"wp-caption-text\">NetBox knowledge matches the CML topology<\/figcaption><\/figure>\n<p>Fairly neat, proper? For these of you interested by some technical particulars, let\u2019s dive in slightly deeper.<\/p>\n<p>First up, the node definition, or extra precisely, the\u00a0<em><strong>picture definition<\/strong><\/em> that has been constructed and shared, relies on the Alpine 3.21 picture included on the CML 2.9 reference platform. The NetBox-Docker venture was then used to deploy NetBox Neighborhood v4.4.5.<\/p>\n<p>This NetBox server is meant to run inside CML as a part of lab topologies, and I wished it to be very straightforward to make use of in these labs. So I made some \u201copinionated\u201d decisions in its configuration.<\/p>\n<p>To align with different default credentials for nodes inside CML, the admin consumer for NetBox has been pre-created with a username and password of <strong>cisco<\/strong>.<\/p>\n<p>I additionally created an API token \u201c<strong>0123456789012345678901234567890123456789<\/strong>\u201d for this consumer. (You might be welcome to vary these default credentials after you begin the node, however having an admin account and API entry accessible at node startup helps you to get began along with your community automation work instantly while not having to arrange NetBox your self.)<\/p>\n<p>As well as, I&#8217;ve pre-populated a\u00a0<strong>Producer<\/strong> referred to as \u201cCML\u201d together with\u00a0<strong>Machine Varieties<\/strong> for every of the CML node sorts within the reference platform, in addition to a number of further node definitions from the cml-community and my private use. Having them pre-created hurries up including gadgets to NetBox. Nonetheless, if in case you have a node definition that&#8217;s NOT included within the base picture, don\u2019t fear. The code that populates NetBox will dynamically create new <strong>Machine Varieties<\/strong> as wanted.<\/p>\n<p>Whereas I labored to make utilizing the NetBox node as straightforward as attainable, there are necessities for including it to a lab so it could possibly entry the CML lab particulars to populate NetBox. I\u2019ve offered full particulars within the <a href=\"https:\/\/github.com\/CiscoDevNet\/cml-community\/tree\/master\/node-definitions\/opensource\/netbox-server#requirments-for-use-in-a-topology\" target=\"_blank\" rel=\"noopener\">CML Neighborhood README for the node, <\/a>and I encourage you to learn them whenever you arrange the brand new node by yourself CML server. I\u2019ll cowl the highlights right here as properly.<\/p>\n<p>For starters, the NetBox node will want connectivity to the CML server\u2019s REST API by an \u201cexterior connector\u201d node. It may be both a bridge or a NAT-based exterior connector; nevertheless, for a NAT-based connector, you must replace a firewall rule within the CML Cockpit interface first. Full particulars on the change required and why are documented within the README.<\/p>\n<p>Subsequent, you\u2019ll must replace the default CONFIG for the node with particulars to your CML server and the lab you need to synchronize with. The <a href=\"https:\/\/github.com\/CiscoDevNet\/cml-community\/blob\/master\/node-definitions\/opensource\/netbox-server\/example-netbox-server-default-day0.sh\" target=\"_blank\" rel=\"noopener\">default day 0 config<\/a> supplied with the node contains detailed feedback I left to assist customers perceive the choices and easy methods to use the node. You\u2019ll discover optionally available blocks for customizing the server\u2019s community configuration, however to routinely populate NetBox from CML, you\u2019ll must uncomment and supply particulars for a set of setting variables.<\/p>\n<pre># export VIRL2_URL=https:\/\/192.168.255.1&#13;\n# export VIRL2_USER=admin&#13;\n# export VIRL2_PASS=1234QWer&#13;\n# export VIRL2_VERIFY_SSL=False&#13;\n# export LAB_NAME=\"My CML Lab\"&#13;\n&#13;\n<\/pre>\n<p>These values are wanted as a result of, whereas the NetBox server runs on the CML server, there is no such thing as a manner for the node to routinely \u201cknow\u201d these particulars in regards to the server. So we offer them as ENVs so the scripts that hook up with CML know the tackle, credentials, and which lab on the CML server to synchronize with. I count on that you simply\u2019ll synchronize the identical lab that the NetBox node is operating on, however you don\u2019t need to.\u00a0 You could possibly synchronize any lab from the CML server.<\/p>\n<p>Talking of scripts, you\u2019ll see references to 2 scripts on the finish of the configuration. These scripts first guarantee NetBox is up and operating, then hook up with and sync from CML. The output from each of those scripts is saved on the node in two log recordsdata that you could overview after the node finishes booting. Simply hook up with the NetBox server\u2019s console and overview the contents of the recordsdata.<\/p>\n<pre>((.venv) ) netbox-server:~$ cat startup_log.txt &#13;\n&#13;\nChecking if NetBox (http:\/\/localhost) is responding...&#13;\nWeb site not responding, ready 5 seconds... (try 1\/48)&#13;\n.&#13;\nWeb site not responding, ready 5 seconds... (try 14\/48)&#13;\nWeb site is responding! (try 15)&#13;\n&#13;\nChecking if CML Controller (https:\/\/192.168.255.1) is reachable...&#13;\nWeb site is responding! (try 1)&#13;\n&#13;\nWriting VIRL2 setting variables to \/dwelling\/cisco\/.profile...&#13;\nMaking an attempt to sync topology to NetBox...&#13;\n\ud83d\udd04 Beginning lab topology synchronization...&#13;\n\ud83d\udce1 CML Server: https:\/\/192.168.255.1&#13;\n\ud83d\uddc4\ufe0f  NetBox Server: http:\/\/localhost&#13;\n\ud83e\uddea Lab Identify: Instance NetBox Server Topology&#13;\n&#13;\nStarting lab synchronization now.&#13;\nIncluding 6 nodes from CML lab 'Instance NetBox Server Topology' to NetBox&#13;\n\ud83d\udcca Processed 5\/6 gadgets...&#13;\nIncluding cables for six nodes from CML lab 'Instance NetBox Server Topology' to NetBox&#13;\n\ud83d\udcca Processed cables for five\/6 gadgets...&#13;\n&#13;\nTopology synced efficiently.&#13;\n<\/pre>\n<p>If you are on the console, you&#8217;ll be able to re-run the sync like this.<\/p>\n<pre>((.venv) ) netbox-server:~$ cml2netbox sync lab&#13;\n&#13;\n\ud83d\udd04 Beginning lab topology synchronization...&#13;\n\ud83d\udce1 CML Server: https:\/\/192.168.255.1&#13;\n\ud83d\uddc4\ufe0f NetBox Server: http:\/\/localhost&#13;\n\ud83e\uddea Lab Identify: Instance NetBox Server Topology&#13;\nStarting lab synchronization now.&#13;\nIncluding 7 nodes from CML lab 'Instance NetBox Server Topology' to NetBox&#13;\n\ud83d\udcca Processed 5\/7 gadgets...&#13;\nIncluding cables for 7 nodes from CML lab 'Instance NetBox Server Topology' to NetBox&#13;\n\ud83d\udcca Processed cables for five\/7 gadgets...<\/pre>\n<p>You may marvel why you&#8217;d need to re-run the sync? In the event you add extra nodes to the CML topology after it begins, or add hyperlinks between gadgets, these adjustments shall be routinely added to NetBox.\u00a0 In the event you\u2019ve deleted nodes or cables, the script received\u2019t clear these out; you\u2019ll must delete them manually.<\/p>\n<p>And you may additionally marvel what\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>cml2netbox is<\/strong><\/span>? Effectively, that&#8217;s the underlying \u201cmagic\u201d that makes this node work. And it&#8217;s the topic we\u2019re going to speak about subsequent!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"CML2NetBox_A_Python_utility_for_EVERYONE\"><\/span><strong>CML2NetBox: A Python utility for EVERYONE!<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>I notice that a few of you may want your CML lab knowledge in NetBox, however not in a NetBox occasion operating within the CML lab; relatively, in a NetBox server you have already got operating. If that sounds such as you, then don\u2019t fret, simply <strong>pip set up cml2netbox<\/strong> and have enjoyable!<\/p>\n<p>The reality is that the NetBox server node\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">makes use of\u00a0<a href=\"https:\/\/pypi.org\/project\/cml2netbox\/\" target=\"_blank\" rel=\"noopener\"><strong>cml2netbox<\/strong><\/a> beneath the hood; it\u2019s packaged immediately into the node\/picture definition and routinely configured and run throughout<\/span> node initialization. However now let\u2019s take a look at how we are able to use the utility immediately.<\/p>\n<p>Just like the node configuration, you\u2019ll want to offer values for the CML server you\u2019ll be synchronizing from, and additionally, you will must configure the small print for the NetBox server you\u2019ll be synchronizing to.\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">An\u00a0<a href=\"https:\/\/github.com\/hpreston\/cml2netbox\/blob\/main\/.env.example\" target=\"_blank\" rel=\"noopener\">instance .env file<\/a> is\u00a0<\/span>supplied with the code on GitHub.<\/p>\n<pre># CML2NetBox Configuration Instance&#13;\n# Copy this file to .env and fill in your values&#13;\n&#13;\n# CML Lab Particulars&#13;\nLAB_NAME=\"Your CML Lab\"&#13;\nLAB_ID=\"your-lab-id-uuid-if-needed\"&#13;\n&#13;\n# CML Server Configuration&#13;\n# Also can use VIRL2_* variants for backward compatibility&#13;\nCML2_URL=https:\/\/your-cml-server.instance.com&#13;\nCML2_USER=your-username&#13;\nCML2_PASS=your-password&#13;\nCML2_VERIFY_SSL=True&#13;\n&#13;\n# NetBox Server Configuration&#13;\nNETBOX_URL=https:\/\/your-netbox-server.instance.com&#13;\nNETBOX_API_TOKEN=your-api-token-here&#13;\nNETBOX_VERIFY_SSL=True&#13;\n<\/pre>\n<p>Simply copy this file and supply the info to your personal servers.<\/p>\n<p>For completeness\u2019 sake, you can even present all this knowledge as\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">command-line choices when operating\u00a0<strong>cml2netbox<\/strong>, however I discover setting them in a file is easier than typing them each time I <\/span>run the command.<\/p>\n<p>Let\u2019s see what choices exist for the device.<\/p>\n<pre>cml2netbox sync --help&#13;\nUtilization: cml2netbox sync [OPTIONS] COMMAND [ARGS]...&#13;\n&#13;\n  Synchronization instructions for CML and NetBox integration.&#13;\n&#13;\nChoices:&#13;\n  --help  Present this message and exit.&#13;\n&#13;\nInstructions:&#13;\n  device-types  Sync CML gadget sorts with NetBox gadget sorts.&#13;\n  lab           Sync CML lab topology with NetBox.<\/pre>\n<p>There are two choices. Good.<\/p>\n<p>You possibly can \u201cput together\u201d a NetBox server by creating the CML producer and gadget sorts for all node definitions with <strong>cml2netbox sync device-types<\/strong>. Nonetheless, this isn\u2019t required. In the event you run <strong>cml2netbox sync lab<\/strong> earlier than syncing the gadget sorts, the device will create gadget sorts for every node within the lab. It will take slightly longer the primary time, as new device-types are created. But it surely does imply solely the required gadget sorts shall be created.<\/p>\n<p>However the true enjoyable comes whenever you sync a lab like this.<\/p>\n<pre>cml2netbox sync lab&#13;\n&#13;\n\ud83d\udd04 Beginning lab topology synchronization...&#13;\n\ud83d\udce1 CML Server: https:\/\/100.75.36.232&#13;\n\ud83d\uddc4\ufe0f  NetBox Server: http:\/\/100.75.36.232:6999&#13;\n\ud83e\uddea Lab Identify: CCNA Prep 2025 S3E3 Superior ACL Exploration&#13;\nStarting lab synchronization now.&#13;\nIncluding 8 nodes from CML lab 'CCNA Prep 2025 S3E3 Superior ACL Exploration' to NetBox&#13;\n\ud83d\udcca Processed 5\/8 gadgets...&#13;\nIncluding cables for 8 nodes from CML lab 'CCNA Prep 2025 S3E3 Superior ACL Exploration' to NetBox&#13;\n<\/pre>\n<p>On this instance, I synchronized a 2nd CML lab from the topology above into the NetBox server to exhibit what occurs whenever you sync a number of CML labs into the identical NetBox server and the way they&#8217;re differentiated.<\/p>\n<figure id=\"attachment_482465\" aria-describedby=\"caption-attachment-482465\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-03.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden size-full wp-image-482465\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-03.jpg\" alt=\"Sites view of the NetBox web interface showing two sites, one for each CMl topology synchronized.\" width=\"800\" height=\"596\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-482465\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2025\/12\/cmlnetbox-03.jpg\" alt=\"Sites view of the NetBox web interface showing two sites, one for each CMl topology synchronized.\" width=\"800\" height=\"596\"\/><\/noscript><\/a><figcaption id=\"caption-attachment-482465\" class=\"wp-caption-text\">Every CML topology corresponds to a NetBox Web site<\/figcaption><\/figure>\n<p>CML2NetBox will create a brand new NetBox <strong>Web site<\/strong> for every CML lab synchronized.\u00a0 Because of this you should use a single NetBox server to carry knowledge from 1, 10, and even 100 CML topologies!<\/p>\n<p>And one final observe\u2026 cml2netbox will create a .log file for every run of the device. By default, the logging degree is INFO, however in case you run in \u201cverbose\u201d mode, you\u2019ll get DEBUG degree logging within the file. This may be useful if\/when one thing goes improper in a sync job, so you&#8217;ll be able to determine what occurred. In my testing, this most frequently occurs when you will have a number of labs on a single NetBox server and encounter duplicate or conflicting objects.<\/p>\n<pre>cml2netbox -v sync lab&#13;\n&#13;\ntail -n 10 .\/20251202-140246-cml2netbox.log&#13;\n&#13;\n&#13;\n2025-12-02 14:03:13 - httpcore.http11 - DEBUG - response_closed.began&#13;\n2025-12-02 14:03:13 - httpcore.http11 - DEBUG - response_closed.full&#13;\n2025-12-02 14:03:13 - urllib3.connectionpool - DEBUG - http:\/\/100.75.36.232:6999 \"GET \/api\/dcim\/gadgets\/?identify=server-sw&amp;site_id=2&amp;restrict=0 HTTP\/1.1\" 200 1924&#13;\n2025-12-02 14:03:13 - urllib3.connectionpool - DEBUG - http:\/\/100.75.36.232:6999 \"GET \/api\/dcim\/interfaces\/?device_id=14&amp;identify=port0&amp;restrict=0 HTTP\/1.1\" 200 2333&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.netbox_helpers - INFO - Interface port0 already has a cable: 11&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.netbox_helpers - INFO - No cables created for node server-sw&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.netbox_helpers - INFO - Connecting cables for CML node setup-installation&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.netbox_helpers - DEBUG - Skipping hyperlink the place present node will not be interface_a&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.netbox_helpers - INFO - No cables created for node setup-installation&#13;\n2025-12-02 14:03:13 - cml2netbox_pkg.cli - INFO - Accomplished synchronization of 8 nodes to NetBox&#13;\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"And_executed\"><\/span><strong>And executed!<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let it not be stated that Hank doesn\u2019t preserve his guarantees\u2026 it simply may take me 3 months to get to it \ud83d\ude09<\/p>\n<p>Anyway, I hope you loved this weblog submit, and much more so, that you simply make the most of one or each of the choices I shared.<\/p>\n<p>In case you are new to CML, please take a look at <a href=\"https:\/\/u.cisco.com\/paths\/introduction-network-simulations-with-cisco-modeling-labs-243?utm_campaign=cml&amp;utm_source=blog-cisco&amp;utm_medium=blog-two-new-ways-to-bring-netbox-into-your-cml-networks\" target=\"_blank\" rel=\"noopener\">Introduction to Community Simulations with Cisco Modeling Labs | CMLLAB<\/a> Studying Path in Cisco U.\u00a0 You too can get began with <a href=\"https:\/\/developer.cisco.com\/docs\/modeling-labs\/cml-free\/#cisco-modeling-labs---free\" target=\"_blank\" rel=\"noopener\">Cisco Modeling Labs \u2013 Free Version<\/a> fast and simple.<\/p>\n<p>Till subsequent time!<\/p>\n<p style=\"text-align: center;\"><iframe class=\"lazy lazy-hidden\" loading=\"lazy\" title=\"Everything You Need to Know About Cisco Modeling Labs (CML)\" width=\"640\" height=\"360\" data-lazy-type=\"iframe\" data-src=\"https:\/\/www.youtube-nocookie.com\/embed\/j0ndqddtrB8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"><\/iframe><noscript><iframe loading=\"lazy\" title=\"Everything You Need to Know About Cisco Modeling Labs (CML)\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/j0ndqddtrB8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"><\/iframe><\/noscript><\/p>\n<p style=\"text-align: center;\" data-ttstextid=\"38\">Join\u00a0<a href=\"https:\/\/u.cisco.com\/?utm_campaign=ciscou&amp;utm_source=blog-cisco&amp;utm_medium=cu-static-blog-footer\" target=\"_blank\" rel=\"noopener\">Cisco U.<\/a>\u00a0| Be a part of the\u202f\u00a0<a href=\"https:\/\/learningnetwork.cisco.com\/s\/?ccid=learning&amp;dtid=blog&amp;oid=blog-cisco-footer\" target=\"_blank\" rel=\"noopener\">Cisco Studying Community<\/a>\u202fimmediately without spending a dime.<\/p>\n<blockquote data-ttstextid=\"39\">\n<h2 style=\"text-align: center;\" data-ttstextid=\"40\"><span class=\"ez-toc-section\" id=\"Study_with_Cisco\"><\/span><strong>Study with Cisco<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h4 style=\"text-align: center;\" data-ttstextid=\"41\"><span class=\"ez-toc-section\" id=\"X%E2%80%AF%E2%80%AFThreads_Fb%E2%80%AF%E2%80%AFLinkedIn%E2%80%AF%E2%80%AFInstagram%E2%80%AF%E2%80%AFYouTube\"><\/span><strong><a href=\"https:\/\/twitter.com\/LearningatCisco\" target=\"_blank\" rel=\"noopener\">X<\/a>\u202f|\u202f<a href=\"https:\/\/www.threads.net\/@learningatcisco\" target=\"_blank\" rel=\"noopener\">Threads<\/a>\u00a0|\u00a0<a href=\"https:\/\/www.facebook.com\/learningatcisco\" target=\"_blank\" rel=\"noopener\">Fb<\/a>\u202f|\u202f<a href=\"https:\/\/www.linkedin.com\/showcase\/cisco_training_and_certification\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>\u202f|\u202f<a href=\"https:\/\/www.instagram.com\/learningatcisco\/\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/strong><strong>\u202f|\u202f<a href=\"https:\/\/www.youtube.com\/@CiscoUtube\" target=\"_blank\" rel=\"noopener\">YouTube<\/a><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<\/blockquote>\n<p style=\"text-align: center;\" data-ttstextid=\"42\">Use\u202f\u00a0<strong>#CiscoU\u00a0<\/strong>and\u00a0<strong>#CiscoCert<\/strong>\u202fto hitch the dialog.<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"ayw3f80i4l\">\n<p><a href=\"https:\/\/blogs.cisco.com\/learning\/speak-your-lab-into-existence-with-ai-driven-cisco-modeling-labs-and-mcp\" target=\"_blank\" rel=\"noopener\">Communicate Your Lab into Existence with AI-Pushed Cisco Modeling Labs and MCP<\/a><\/p>\n<\/blockquote>\n<p><iframe loading=\"lazy\" class=\"lazy lazy-hidden wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cSpeak Your Lab into Existence with AI-Driven Cisco Modeling Labs and MCP\u201d \u2014 Cisco Blogs\" data-lazy-type=\"iframe\" data-src=\"https:\/\/blogs.cisco.com\/learning\/speak-your-lab-into-existence-with-ai-driven-cisco-modeling-labs-and-mcp\/embed#?secret=zlneIIO29K#?secret=ayw3f80i4l\" data-secret=\"ayw3f80i4l\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><noscript><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cSpeak Your Lab into Existence with AI-Driven Cisco Modeling Labs and MCP\u201d \u2014 Cisco Blogs\" src=\"https:\/\/blogs.cisco.com\/learning\/speak-your-lab-into-existence-with-ai-driven-cisco-modeling-labs-and-mcp\/embed#?secret=zlneIIO29K#?secret=ayw3f80i4l\" data-secret=\"ayw3f80i4l\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/noscript><\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"6GwO7fdiXE\">\n<p><a href=\"https:\/\/blogs.cisco.com\/developer\/gitlabcicdpipelines01\" target=\"_blank\" rel=\"noopener\">Utilizing CI\/CD Pipelines for Infrastructure Configuration and Administration<\/a><\/p>\n<\/blockquote>\n<p><iframe loading=\"lazy\" class=\"lazy lazy-hidden wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cUsing CI\/CD Pipelines for Infrastructure Configuration and Management\u201d \u2014 Cisco Blogs\" data-lazy-type=\"iframe\" data-src=\"https:\/\/blogs.cisco.com\/developer\/gitlabcicdpipelines01\/embed#?secret=3GaimIF1gj#?secret=6GwO7fdiXE\" data-secret=\"6GwO7fdiXE\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><noscript><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cUsing CI\/CD Pipelines for Infrastructure Configuration and Management\u201d \u2014 Cisco Blogs\" src=\"https:\/\/blogs.cisco.com\/developer\/gitlabcicdpipelines01\/embed#?secret=3GaimIF1gj#?secret=6GwO7fdiXE\" data-secret=\"6GwO7fdiXE\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/noscript><\/p>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><script async defer src=\"https:\/\/platform.instagram.com\/en_US\/embeds.js\"><\/script><br \/>\n<br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I had a really busy fall this 12 months, and now I can\u2019t imagine\u00a0it\u2019s been three months since my final weblog,\u00a0\u201cBringing Some Supply of Fact to Your NetAI Agentic Playground.\u201d\u00a0That\u2019s far longer than I had deliberate after I made my \u201cpublic accountability assertion\u201d about my subsequent weblog submit being in regards to the work I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":18909,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":{"0":"post-18907","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloud-computing"},"_links":{"self":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18907"}],"version-history":[{"count":1,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18907\/revisions"}],"predecessor-version":[{"id":18908,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18907\/revisions\/18908"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/media\/18909"}],"wp:attachment":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}