DESCRIPTION
-----------
-The **gnt-network** command is used for network definition administration
-in the Ganeti system.
+The **gnt-network** command is used for network definition and
+administration in the Ganeti system. Each instance NIC can be connected
+to a network via the ``network`` NIC parameter. See **gnt-instance**\(8)
+for more details.
+
+BUGS
+----
+
+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.
COMMANDS
--------
~~~
| **add**
-| [--network=*NETWORK*]
-| [--gateway=*GATEWAY*]
-| [--add-reserved-ips=*RESERVEDIPS*]
-| [--network6=*NETWORK6*]
-| [--gateway6=*GATEWAY6*]
-| [--mac-prefix=*MACPREFIX*]
-| [--network-type=*NETWORKTYPE*]
+| [\--network=*NETWORK*]
+| [\--gateway=*GATEWAY*]
+| [\--add-reserved-ips=*RESERVEDIPS*]
+| [\--network6=*NETWORK6*]
+| [\--gateway6=*GATEWAY6*]
+| [\--mac-prefix=*MACPREFIX*]
+| [\--submit] [\--print-job-id]
+| [\--no-conflicts-check]
| {*network*}
Creates a new network with the given name. The network will be unused
initially. To connect it to a node group, use ``gnt-network connect``.
``--network`` option is mandatory. All other are optional.
-The ``--network`` option allows you to specify the network in a CIDR notation.
+The ``--network`` option allows you to specify the network in a CIDR
+notation.
-The ``--gateway`` option allows you to specify the default gateway for this
-network.
-
-The ``--network-type`` can be none, private or public.
+The ``--gateway`` option allows you to specify the default gateway for
+this network.
IPv6 semantics can be assigned to the network via the ``--network6`` and
-``--gateway6`` options. IP pool is meaningless for ipv6 so those two values
-can be used for EUI64 generation from a NIC's mac value.
+``--gateway6`` options. IP pool is meaningless for IPV6 so those two
+values can be used for EUI64 generation from a NIC's MAC address.
+
+The ``--no-conflicts-check`` option can be used to skip the check for
+conflicting IP addresses.
+
+Note that a when connecting a network to a node group (see below) you
+can specify also the NIC mode and link that will be used by instances on
+that group to physically connect to this network. This allows the system
+to work even if the parameters (eg. the VLAN number) change between
+groups.
+
+See **ganeti**\(7) for a description of ``--submit`` and other common
+options.
MODIFY
~~~~~~
| **modify**
-| [--gateway=*GATEWAY*]
-| [--add-reserved-ips=*RESERVEDIPS*]
-| [--remove-reserved-ips=*RESERVEDIPS*]
-| [--network6=*NETWORK6*]
-| [--gateway6=*GATEWAY6*]
-| [--mac-prefix=*MACPREFIX*]
-| [--network-type=*NETWORKTYPE*]
+| [\--gateway=*GATEWAY*]
+| [\--add-reserved-ips=*RESERVEDIPS*]
+| [\--remove-reserved-ips=*RESERVEDIPS*]
+| [\--network6=*NETWORK6*]
+| [\--gateway6=*GATEWAY6*]
+| [\--mac-prefix=*MACPREFIX*]
+| [\--submit] [\--print-job-id]
| {*network*}
Modifies parameters from the network.
-Unable to modify network (ip range). Create a new network if you want to do
-so. All other options are documented in the **add** command above.
+Unable to modify network (IP address range). Create a new network if you
+want to do so. All other options are documented in the **add** command
+above.
+
+See **ganeti**\(7) for a description of ``--submit`` and other common
+options.
REMOVE
~~~~~~
-| **remove** {*network*}
+| **remove** [\--submit] [\--print-job-id] {*network*}
Deletes the indicated network, which must be not connected to any node group.
+See **ganeti**\(7) for a description of ``--submit`` and other common options.
+
LIST
~~~~
-| **list** [--no-headers] [--separator=*SEPARATOR*] [-v]
+| **list** [\--no-headers] [\--separator=*SEPARATOR*] [-v]
| [-o *[+]FIELD,...*] [network...]
-Lists all existing networks in the cluster.
+Lists all existing networks in the cluster. If no group names are given,
+then all groups are included. Otherwise, only the named groups will be
+listed.
The ``--no-headers`` option will skip the initial header line. The
-``--separator`` option takes an argument which denotes what will be
-used between the output fields. Both these options are to help
-scripting.
+``--separator`` option takes an argument which denotes what will be used
+between the output fields. Both these options are to help scripting.
The ``-v`` option activates verbose mode, which changes the display of
-special field states (see **ganeti(7)**).
+special field states (see **ganeti**\(7)).
-The ``-o`` option takes a comma-separated list of output fields.
-If the value of the option starts with the character ``+``, the new
-fields will be added to the default list. This allows to quickly
-see the default list plus a few other fields, instead of retyping
-the entire list of fields.
+The ``-o`` option takes a comma-separated list of output fields. If the
+value of the option starts with the character ``+``, the new fields will
+be added to the default list. This allows to quickly see the default
+list plus a few other fields, instead of retyping the entire list of
+fields.
The available fields and their meaning are:
-name
- the group name
+@QUERY_FIELDS_NETWORK@
-group_count
- the number of nodegroups connected to the network
+LIST-FIELDS
+~~~~~~~~~~~
-group_list
- the list of nodegroups connected to the network
+**list-fields** [field...]
-inst_cnt
- the number of instances use the network
+List available fields for networks.
-inst_list
- the list of instances that at least one of their NICs is assigned
- to the network
+INFO
+~~~~
-external_reservations
- the IPs that cannot be assigned to an instance
+| **info** [network...]
-free_count
- how many IPs have left in the pool
+Displays information about a given network.
-gateway
- the networks gateway
+CONNECT
+~~~~~~~
-map
- a nice text depiction of the available/reserved IPs in the network
+| **connect**
+| [\--no-conflicts-check]
+| {*network*} {*mode*} {*link*} [*groups*...]
-reserved_count
- how many IPs have been reserved so far in the network
+Connect a network to given node groups (all if not specified) with the
+network parameters *mode* and *link*. Every network interface will
+inherit those parameters if assigned in a network.
-network6
- the ipv6 prefix of the network
+The ``--no-conflicts-check`` option can be used to skip the check for
+conflicting IP addresses.
-gateway6
- the ipv6 gateway of the network
+DISCONNECT
+~~~~~~~~~~
-mac_prefix
- the mac_prefix of the network (if a NIC is assigned to the network it
- it gets the mac_prefix of the network)
+| **disconnect** {*network*} [*groups*...]
-network_type
- the type of the network (public, private)
+Disconnect a network from given node groups (all if not specified). This
+is possible only if no instance is using the network.
-If no group names are given, then all groups are included. Otherwise,
-only the named groups will be listed.
-LIST-FIELDS
-~~~~~~~~~~~
+Tags
+~~~~
-**list-fields** [field...]
+ADD-TAGS
+^^^^^^^^
-List available fields for networks.
+**add-tags** [\--from *file*] {*networkname*} {*tag*...}
-RENAME
-~~~~~~
+Add tags to the given network. If any of the tags contains invalid
+characters, the entire operation will abort.
-| **rename** {*oldname*} {*newname*}
+If the ``--from`` option is given, the list of tags will be extended
+with the contents of that file (each line becomes a tag). In this case,
+there is not need to pass tags on the command line (if you do, both
+sources will be used). A file name of ``-`` will be interpreted as
+stdin.
-Renames a given network from *oldname* to *newname*. NOT implemeted yet
+LIST-TAGS
+^^^^^^^^^
-INFO
-~~~~
+**list-tags** {*networkname*}
-| **info** [network...]
+List the tags of the given network.
-Displays information about a given network.
+REMOVE-TAGS
+^^^^^^^^^^^
-CONNECT
-~~~~~~~
-| **connect** {*network*} {*group*} {*mode*} {*link*}
+**remove-tags** [\--from *file*] {*networkname*} {*tag*...}
-Connect a network to a given nodegroup with the netparams (*mode*, *link*).
-Every nic will inherit those netparams if assigned in a network.
-*group* can be ``all`` if you want to connect to all existing nodegroups
+Remove tags from the given network. If any of the tags are not existing
+on the network, the entire operation will abort.
-DISCONNECT
-~~~~~~~~~~
-| **disconnect** {*network*} {*group*}
+If the ``--from`` option is given, the list of tags to be removed will
+be extended with the contents of that file (each line becomes a tag). In
+this case, there is not need to pass tags on the command line (if you
+do, tags from both sources will be removed). A file name of ``-`` will
+be interpreted as stdin.
-Disconnect a network to a nodegroup. This is possible only if no instance
-is using the network.
+.. vim: set textwidth=72 :
+.. Local Variables:
+.. mode: rst
+.. fill-column: 72
+.. End: