diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/cfg_network.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/cfg_network.rst new file mode 100644 index 000000000..aa0e78f03 --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/cfg_network.rst @@ -0,0 +1,121 @@ +Advanced Networking Configuration +================================= + +The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support VLAN, BONDs, and BRIDGES. In order to use the ``confignetwork`` postscript, the following attributes must be configured for the node in the ``nics`` table: + + * ``nicips`` + * ``nictypes`` + * ``nicnetworks`` + * ``nicdevices`` - resolves the relationship among the physical network intereface devices + +The following example set the xCAT properties for compute node ``cn1`` to achieve the following network configuration using the ``confignetwork`` postscript: + + * Compute node ``cn1`` has two physical NICs: eth2 and eth3 + * Bond eth2 and eth3 as ``bond0`` + * From ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2`` + * Make bridge ``br1`` using ``bond0.1`` with IP (10.0.0.1) + * Make bridge ``br2`` using ``bond0.2`` with IP (20.0.0.1) + +Define attributes in the ``nics`` table +--------------------------------------- + +#. Using the ``mkdef`` or ``chdef`` commands + + a. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` :: + + chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet + + b. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` :: + + chdef cn1 nictypes.bond0=bond \ + nicdevices.bond0="eth2|eth3" + + c. Fom ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2`` :: + + chdef cn1 nictypes.bond0.1=vlan \ + nictypes.bond0.2=vlan \ + nicdevices.bond0.1=bond0 \ + nicdevices.bond0.2=bond0 + + d. Create bridge ``br1`` using ``bond0.1`` with IP (10.0.0.1) :: + + chdef cn1 nictypes.br1=bridge \ + nicdevices.br1=bond0.1 \ + nicips.br1=10.0.0.1 \ + nicnetworks.br1="net10" + + e. Create bridge ``br2`` using ``bond0.2`` with IP (20.0.0.1) :: + + chdef cn1 nictypes.br2=bridge \ + nicdevices.br2=bond0.2 \ + nicips.br2=20.0.0.1 \ + nicnetworks.br2="net20" + +#. Using an xCAT stanza file + + - Prepare a stanza file ``.stanza`` with content similiar to the following: :: + + # + cn1: + objtype=node + arch=x86_64 + groups=kvm,vm,all + nicdevices.br1=bond0.1 + nicdevices.br2=bond0.2 + nicdevices.bond0.1=bond0 + nicdevices.bond0.2=bond0 + nicdevices.bond0=eth2|eth3 + nictypes.eth2=ethernet + nictypes.eth3=ethernet + nictypes.bond0=bond + nictypes.bond0.1=vlan + nictypes.bond0.2=vlan + nictypes.br1=bridge + nictypes.br2=bridge + nicips.br1=10.0.0.1 + nicips.br2=20.0.0.1 + nicnetworks.br1=net10 + nicnetworks.br2=net20 + + - Using the ``mkdef -z`` option, define the stanza file to xCAT: :: + + cat .stanza | mkdef -z + +#. Using ``tabedit`` to edit the ``nics`` database table directly + + The ``tabedit`` command opens the specified xCAT database table in a ``vi`` like editor and allows the user to edit any text and write the changes back to the database table. + + After changing the content of the ``nics`` table, here is the result from ``tabdump nics`` :: + + # tabdump nics + #node,nicips,nichostnamesuffixes,nichostnameprefixes,nictypes,niccustomscripts,nicnetworks,nicaliases,nicextraparams,nicdevices,comments,disable + "cn1","br1!10.0.0.1,br2!20.0.0.1",,,"br1!bridge,eth2!ethernet,eth3!ethernet,bond0.2!vlan,bond0!bond,br2!bridge,bond0.1!vlan",,"br1!net10,br2!net20",,,"br1!bond0.1,bond0!eth2|eth3,bond0.2!bond0,bond0.1!bond0,br2!bond0.2",, + +Add network object into the networks table +------------------------------------------ + +The ``nicnetworks`` attribute only defines the nic that uses the IP address. +Other information about the network should be defined in the ``networks`` table. + +Use the ``chdef`` command to add/modify the networks in the ``networks`` table :: + + chdef -t network net10 net=10.0.0.0 mask=255.0.0.0 mgtifname=eth0 + chdef -t network net20 net=20.0.0.0 mask=255.0.0.0 mgtifname=eth1 + +Add ``confignetwork`` into the node's postscripts list +------------------------------------------------------ + +Using below command to add ``confignetwork`` into the node's postscripts list :: + + chdef cn1 -p postscripts=confignetwork + + +During OS deployment on compute node, ``confignetwork`` will be run in postscript. +If the compute node has OS, use ``updatenode`` command to run ``confignetwork`` :: + + updatenode cn1 -P confignetwork + + + + + diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network.rst new file mode 100644 index 000000000..27d35cf7d --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network.rst @@ -0,0 +1 @@ +.. include:: ../../../common/deployment/cfg_network.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network_adapter.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network_adapter.rst new file mode 100644 index 000000000..e68b5756f --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_network_adapter.rst @@ -0,0 +1,8 @@ +Customize network adapter +========================= + +.. toctree:: + :maxdepth: 2 + + cfg_second_adapter.rst + cfg_network.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/index.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/index.rst index fc12ba338..5b0cecea4 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/index.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/index.rst @@ -11,6 +11,6 @@ Optional means all the subitems in this page are not necessary to finish an OS d pre_post_script.rst syncfile.rst additional_pkg.rst - cfg_second_adapter.rst + cfg_network_adapter.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network.rst new file mode 100644 index 000000000..27d35cf7d --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network.rst @@ -0,0 +1 @@ +.. include:: ../../../common/deployment/cfg_network.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network_adapter.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network_adapter.rst new file mode 100644 index 000000000..e68b5756f --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_network_adapter.rst @@ -0,0 +1,8 @@ +Customize network adapter +========================= + +.. toctree:: + :maxdepth: 2 + + cfg_second_adapter.rst + cfg_network.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/index.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/index.rst index c9bd53ae8..c790d1dd3 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/index.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/index.rst @@ -10,7 +10,7 @@ Optional means all the subitems in this page are not necessary to finish an OS d pre_post_script.rst syncfile.rst additional_pkg.rst - cfg_second_adapter.rst + cfg_network_adapter.rst enable_kdump.rst install_new_kernel.rst acc_initrd_rootimg_gen_ppc64le.rst