XCP-ng

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Netbox Plugin: Error: ipaddr: the address has neither IPv6 nor IPv4 format

    Xen Orchestra
    bugs blocked
    4
    26
    1308
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pdonias
      pdonias Vates 🪐 XO Team 🔭 @notscottsmith last edited by

      @notscottsmith So apparently, the old protocol also adds x/ipv4/x fields with space-delimited IPs. That's what causing the issue, so we'll have to handle them too. Thanks!

      N 1 Reply Last reply Reply Quote 0
      • N
        notscottsmith @pdonias last edited by

        @pdonias

        So I've dug into the issue and written a few workarounds which will tide me over until a fix comes out - appreciate your work on this.

        I've added a few features in, too. The plugin now:

        • Allows the choice of whether IPv4, IPv6 or Both types of IPs are synchronised
        • Allows you to enter in tags which will deem a VM to be "ignored" if they have one of these tags
        • Allows you to enter in text which if the name label contains it, it will also be ignored (we have a use case where we have several VMs which are decommissioned but are kept in XCP for various reasons as well as our backup process which maintains a series of VMs with the prefix XCP-BACKUP, which we don't want kept in Netbox)
        • Allows you to configure the ID of the configured VRF in Netbox (if needed) that the particular IP ranges relate to
        • Synchronises the platform that the VM is running
        • Brings across all the tags and puts them into Netbox (this is for our monitoring solution, OpenNMS, which uses Netbox to generate its requisitions and categories to automate the provisioning process)

        I will submit these changes back into the Git repo tomorrow when I'm back in the office and you can have a look and see what you want to use. 🙂

        theAeon 1 Reply Last reply Reply Quote 3
        • theAeon
          theAeon @notscottsmith last edited by

          @notscottsmith @pdonias

          any updates on this? Currently running into this error myself.

          1 Reply Last reply Reply Quote 0
          • olivierlambert
            olivierlambert Vates 🪐 Founder & CEO 🦸 last edited by

            Are you up to date? I think we fixed that already 🤔

            theAeon 1 Reply Last reply Reply Quote 0
            • theAeon
              theAeon @olivierlambert last edited by theAeon

              5c8e37d9-f197-403f-85d3-3281ebe65afe-image.png 9791c84c-d46b-446b-a401-3ebb28a4efe5-image.png

              I think so? Unless my script isn't updating the plugins, which is totally possible.

              edit: quick look at github says my plugins are fine

              1 Reply Last reply Reply Quote 0
              • olivierlambert
                olivierlambert Vates 🪐 Founder & CEO 🦸 last edited by

                Not the latest commit but I don't think it matters in your case. @pdonias any idea?

                theAeon 1 Reply Last reply Reply Quote 1
                • theAeon
                  theAeon @olivierlambert last edited by

                  Its the 5.66.1 release commit-so its damn close.

                  pdonias 1 Reply Last reply Reply Quote 0
                  • pdonias
                    pdonias Vates 🪐 XO Team 🔭 @theAeon last edited by

                    Hi @theaeon, this should already be fixed, could you check the full log for that error in Settings > Logs? It should give you more details.

                    theAeon 1 Reply Last reply Reply Quote 2
                    • theAeon
                      theAeon @pdonias last edited by

                      Same as the OP.

                      netbox.synchronize
                      {
                        "pools": [
                          "582481e9-4e61-a060-6c09-530e35606504"
                        ]
                      }
                      {
                        "message": "ipaddr: the address has neither IPv6 nor IPv4 format",
                        "name": "Error",
                        "stack": "Error: ipaddr: the address has neither IPv6 nor IPv4 format
                          at Object.parse (/opt/xo/xo-builds/xen-orchestra-202112260451/packages/xo-server-netbox/node_modules/ipaddr.js/lib/ipaddr.js:929:19)
                          at Netbox.#synchronize (/opt/xo/xo-builds/xen-orchestra-202112260451/packages/xo-server-netbox/src/index.js:560:35)
                          at Api.callApiMethod (file:///opt/xo/xo-builds/xen-orchestra-202112260451/packages/xo-server/src/xo-mixins/api.mjs:307:20)"
                      }
                      pdonias 1 Reply Last reply Reply Quote 0
                      • pdonias
                        pdonias Vates 🪐 XO Team 🔭 @theAeon last edited by

                        Thanks @theaeon. Could you check if some of your VMs on that pool have invalid IP addresses? You can do that from the home page by filtering only the VMs on that pool (Pools selector at the top of the page) and expanding the details for all the VMs to show the IP addresses (hamburger button at the top right hand corner). Each IP address must be in its own blue rectangle and with the correct format for either IPv4 or IPv6. Let me know if this is too hard to check, we'll find another way.

                        theAeon 1 Reply Last reply Reply Quote 0
                        • theAeon
                          theAeon @pdonias last edited by

                          @pdonias One of my VMs isn't reporting an IP address. Do you think that could do it?

                          pdonias 1 Reply Last reply Reply Quote 0
                          • pdonias
                            pdonias Vates 🪐 XO Team 🔭 @theAeon last edited by

                            @theaeon No, that's a normal case and it's handled properly. The issue would be if one of the IPs has 2 IPs in the same field separated by a white space like: "x.x.x.x y.y.y.y", or if the field is just empty or anything else that doesn't look like a proper IP address.

                            If you want to check the addresses more thoroughly, you can install xo-cli with npm i -g xo-cli, log into your XO with xo-cli --register <XO-Server URL> <username> <password> and then run xo-cli --list-objects --addresses type=VM \$pool=<pool ID>.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post