gnt-network(8)

πŸ“¦
version 3.1.0~rc2 Β· 4 versions
, in debian trixie, ubuntu questing, ubuntu resolute

🌸 gnt-network β€” Ganeti network administration πŸ’…

okay bestie, welcome to gnt-network, manual section 8. this is the page that shipped with Version 3.1.0~rc2, and it's basically the group chat where you set up and run networks inside a Ganeti system. let's get into it 🫢


✨ SYNOPSIS ✨

gnt-network {command} [arguments...]

πŸ’– DESCRIPTION πŸ’–

so, the gnt-network command is what you use for network definition and administration in the Ganeti system. every instance NIC can be hooked up to a network through the network NIC parameter. if you want the whole saga, go read gnt-instance(8) β€” it's giving details πŸ”₯


πŸ’€ BUGS πŸ’€ (yes, real ones, not the fun kind)

the hail iallocator hasn't been updated to take networks into account in Ganeti 2.7. the only way to guarantee that it works correctly is having your networks connected to all nodegroups. this will be fixed in a future version. periodt.


πŸ‘‘ COMMANDS πŸ‘‘

πŸŽ€ ADD

add
--network=*network*
[--gateway=*gateway*]
[--add-reserved-ips=*reserved-ips*]
[--network6=*network6*]
[--gateway6=*gateway6*]
[--mac-prefix=*macprefix*]
[--submit] [--print-jobid]
[--no-conflicts-check]
{network-name}

creates a brand new network with the name you give it. the network will be unused initially β€” like, no cap, it's just sitting there. to connect it to a node group, use gnt-network connect. the --network option is mandatory, all the others are optional, so don't come for me if you skip them ✨

  • --network β€” lets you specify the network in CIDR notation.
  • --gateway β€” lets you specify the default gateway for this network.
  • --network6 and --gateway6 β€” assign IPv6 semantics to the network. IP pool is meaningless for IPV6, so those two values can be used for EUI64 generation from a NIC's MAC address.
  • --no-conflicts-check β€” skips the check for conflicting IP addresses. use with care bestie πŸ™ˆ
  • note that when you're connecting a network to a node group (see below) you can also specify the NIC mode and link that instances on that group will use to physically connect to this network. this lets the whole thing work even if the parameters (eg. the VLAN number) change between groups. iconic.
  • see ganeti(7) for a description of --submit and other common options.

πŸ¦‹ MODIFY

modify
[--gateway=*gateway*]
[--add-reserved-ips=*reserved-ips*]
[--remove-reserved-ips=*reserved-ips*]
[--network6=*network6*]
[--gateway6=*gateway6*]
[--mac-prefix=*macprefix*]
[--submit] [--print-jobid]
{network}

modifies parameters from the network. glow-up time πŸ’…

Unable to modify network (IP address range). create a new network if you want to do so. all the other options are documented in the add command above.

see ganeti(7) for a description of --submit and other common options.


🌈 REMOVE

remove [--submit] [--print-jobid] {network}

deletes the indicated network, which must be not connected to any node group. so disconnect first, or it's not gonna happen, fr fr.

see ganeti(7) for a description of --submit and other common options.


⭐ LIST

list [--no-headers] [--separator=*separator*] [-v]
[-o [+]field,...] [network-name...]

lists all the existing networks in the cluster. if no group names are given, then all groups are included. otherwise, only the named groups get listed.

  • --no-headers β€” skips the initial header line.
  • --separator β€” takes an argument denoting what gets used between the output fields. both of these options exist to help scripting, iykyk.
  • -v β€” activates verbose mode, which changes the display of special field states (see ganeti(7)).
  • -o β€” takes a comma-separated list of output fields. if the value starts with the character +, the new fields get added to the default list. this lets you quickly see the default list plus a few other fields instead of retyping the entire list of fields. obsessed.

the available fields and their meaning 🧚

  • ctime β€” Creation timestamp
  • external_reservations β€” External reservations
  • free_count β€” Number of available addresses
  • gateway β€” IPv4 gateway
  • gateway6 β€” IPv6 gateway
  • group_cnt β€” Number of nodegroups
  • group_list β€” List of nodegroups (group name, NIC mode, NIC link)
  • inst_cnt β€” Number of instances
  • inst_list β€” List of instances
  • mac_prefix β€” MAC address prefix
  • map β€” Actual mapping
  • mtime β€” Modification timestamp
  • name β€” Name
  • network β€” IPv4 subnet
  • network6 β€” IPv6 subnet
  • reserved_count β€” Number of reserved addresses
  • serial_no β€” Network object serial number, incremented on each modification
  • tags β€” Tags
  • uuid β€” Network UUID

πŸŽ€ LIST-FIELDS

list-fields [field...]

lists the available fields for networks. short, sweet, slays.


πŸ’œ RENAME

rename [--submit] [--print-jobid] {oldname} {newname}

renames a given network from oldname to newname. main character energy fr.

see ganeti(7) for a description of --submit and other common options.


πŸ”₯ INFO

info [network...]

displays information about a given network. the vibe check of networks, honestly.


πŸ’– CONNECT

connect
[--no-conflicts-check]
[{-N|--nic-parameters} nic-param=*value*[,*nic-param*=*value*...]]
{network} [groups...]

connects a network to the given node groups (all of them if you don't specify any) with the network parameters defined via the --nic-parameters option. every network interface will inherit those parameters if assigned to a network. so generous of it.

  • --no-conflicts-check β€” skips the check for conflicting IP addresses.
Passing mode and link as positional arguments along with network and groups is deprecated and not supported any more. like, it's over, we don't do that anymore πŸ’€

🌸 DISCONNECT

disconnect {network} [groups...]

disconnects a network from the given node groups (all of them if you don't specify any). this is possible only if no instance is using the network. no sneaky exits while people are still using it bestie.


🏷️ Tags 🏷️

✨ ADD-TAGS

add-tags [--from file] {network} {tag...}

adds tags to the given network. if any of the tags contains invalid characters, the entire operation will abort. all or nothing, periodt.

if the --from option is given, the list of tags gets extended with the contents of that file (each line becomes a tag). in this case, there's no need to pass tags on the command line β€” but if you do, both sources will be used. a file name of - will be interpreted as stdin. cute.


πŸ¦‹ LIST-TAGS

list-tags {network}

lists the tags of the given network. that's it, that's the whole thing 🫢


🌈 REMOVE-TAGS

remove-tags [--from file] {network} {tag...}

removes tags from the given network. if any of the tags are not existing on the network, the entire operation will abort. so dramatic but okay.

if the --from option is given, the list of tags to be removed gets extended with the contents of that file (each line becomes a tag). in this case, there's no need to pass tags on the command line β€” but if you do, tags from both sources will be removed. a file name of - will be interpreted as stdin.


πŸ™ˆ REPORTING BUGS πŸ™ˆ

report bugs to the project's issue tracker or contact the developers using the Ganeti mailing list. they're nice, i promise.


πŸ’« SEE ALSO πŸ’«

Ganeti overview and specifications: ganeti(7) (general overview), ganeti-os-interface(7) (guest OS definitions), ganeti-extstorage-interface(7) (external storage providers).

Ganeti commands: gnt-cluster(8) (cluster-wide commands), gnt-job(8) (job-related commands), gnt-node(8) (node-related commands), gnt-instance(8) (instance commands), gnt-os(8) (guest OS commands), gnt-storage(8) (storage commands), gnt-group(8) (node group commands), gnt-backup(8) (instance import/export commands), gnt-debug(8) (debug commands).

Ganeti daemons: ganeti-watcher(8) (automatic instance restarter), ganeti-cleaner(8) (job queue cleaner), ganeti-noded(8) (node daemon), ganeti-rapi(8) (remote API daemon).

Ganeti htools: htools(1) (generic binary), hbal(1) (cluster balancer), hspace(1) (capacity calculation), hail(1) (IAllocator plugin), hscan(1) (data gatherer from remote clusters), hinfo(1) (cluster information printer), mon-collector(7) (data collectors interface).


Copyright (C) 2006-2015 Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


and that's the whole page bestie!! πŸ’– this was gnt-network(8) from the Ganeti gang, Version 3.1.0~rc2 β€” go forth and network responsibly, ily πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from