diff --git a/docs/source/guides/install-guides/common_sections.rst b/docs/source/guides/install-guides/common_sections.rst index 347808c33..fc63ab6bd 100644 --- a/docs/source/guides/install-guides/common_sections.rst +++ b/docs/source/guides/install-guides/common_sections.rst @@ -143,12 +143,23 @@ Unless you are downloading ``xcat-dep`` to match a specific version of xCAT, it' cd / ./mklocalrepo.sh -#. Configure the common repository from the same mirror. This repository is - independent of the management-node operating system and architecture: :: +#. Configure the common repository if ``common`` is present in the archive. + This repository is independent of the management node operating system and + architecture: :: cd ~/xcat/xcat-dep/common ./mklocalrepo.sh + If ``common`` is not in the archive, mirror it before disconnecting the + installation network: :: + + mkdir -p ~/xcat/xcat-dep/common + dnf reposync --repoid=xcat-dep-common --download-metadata \ + --download-path ~/xcat/xcat-dep/common --norepopath + + Run ``mklocalrepo.sh`` from the mirrored directory after copying the mirror + to the management node. + .. END_configure_xcat_local_repo_xcat-dep_RPM .. BEGIN_configure_xcat_local_repo_xcat-dep_DEBIAN diff --git a/xCAT-client/pods/man8/mknb.8.pod b/xCAT-client/pods/man8/mknb.8.pod index 422a02a2a..59c73a9c2 100644 --- a/xCAT-client/pods/man8/mknb.8.pod +++ b/xCAT-client/pods/man8/mknb.8.pod @@ -14,13 +14,15 @@ It creates a network boot root image (used for node discovery, BMC programming, for the same architecture that the management node is. So you normally do not need to run the B command yourself. -If you make custom changes to the network boot root image, you will need to run B again to regenerate the diskless image to include your changes. If you have an xCAT Hierarchical Cluster with Service Nodes having local /tftpboot directories (site.sharedtftp=0), you will need to copy the generated root image to each Service Node. +If you make custom changes to the network boot root image, run B again to regenerate it. In an xCAT hierarchical cluster where service nodes have local C directories (C), copy the generated image to each service node. -An exported Genesis image is identified by C, which records its format version and architecture. The directory also contains C, C, and C in C. B verifies the manifest and both boot files before publishing them under the configured TFTP root. An incomplete or invalid export leaves the current boot files unchanged. The legacy C layout remains supported and is packed locally. +An OpenEmbedded Genesis package installs an exported image under C. B prefers that image when it is installed. Otherwise it uses the old image under C. + +An export is identified by C, which records its format version and architecture. The directory also contains C, C, and C. B verifies the manifest and both boot files before publishing them under the configured TFTP root. An incomplete or invalid export leaves the current boot files unchanged. The legacy C layout remains supported and is packed locally. When multiple IPv4 addresses are configured for the same network, B uses a locally assigned C for the xcatd endpoint, or the first address reported by the operating system when C is not local. POWER discovery configurations also use this address for their kernel and initrd URLs. -Presently, the architectures x86_64 and ppc64 are supported. For ppc64le, use the ppc64 architecture. +OpenEmbedded images use the exact architecture names C, C, C, C, C, C, and C. If an OpenEmbedded C image is not installed, B keeps the old behavior and uses the legacy C image. =head1 OPTIONS diff --git a/xCAT-server/lib/xcat/plugins/mknb.pm b/xCAT-server/lib/xcat/plugins/mknb.pm index 2bce21f7b..448975226 100644 --- a/xCAT-server/lib/xcat/plugins/mknb.pm +++ b/xCAT-server/lib/xcat/plugins/mknb.pm @@ -379,7 +379,9 @@ sub process_request { } if ($requested_arch eq 'ppc64el') { $callback->({ data => 'Using the canonical architecture name ppc64le' }); - } elsif ($requested_arch eq 'ppc64le' && $arch eq 'ppc64') { + } + if (($requested_arch eq 'ppc64le' || $requested_arch eq 'ppc64el') + && $arch eq 'ppc64') { $callback->({ data => 'OpenEmbedded ppc64le is not installed, using the legacy ppc64 image' }); } $request->{arg}->[0] = $arch; diff --git a/xCAT-server/share/xcat/tools/go-xcat b/xCAT-server/share/xcat/tools/go-xcat index 2fcfd97a5..24bc01be1 100755 --- a/xCAT-server/share/xcat/tools/go-xcat +++ b/xCAT-server/share/xcat/tools/go-xcat @@ -487,7 +487,7 @@ function debug_trace() return "${rc}" } -[[ ${GO_XCAT_LIBRARY_ONLY:-0} == 1 ]] || internal_setup +internal_setup # Check operating system function check_os() @@ -2320,12 +2320,6 @@ function boo_boo_if_bad() # # Main program goes here. -if [[ ${GO_XCAT_LIBRARY_ONLY:-0} == 1 ]] -then - # shellcheck disable=SC2317 - return 0 2>/dev/null || exit 0 -fi - declare -a GO_XCAT_YES=() GO_XCAT_ACTION="" GO_XCAT_CORE_URL=""