4 SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
5 LIBDIR="$(dirname ${SCRIPTDIR})/env/lib"
6 ICNDIR="$(dirname ${SCRIPTDIR})"
8 source $LIBDIR/common.sh
10 function table_header {
12 |Component|Link|Version|License|
17 function jump_server_os {
18 case $(awk '/m.vm.box = / {print $3}' ${ICNDIR}/Vagrantfile | tr -d "'") in
19 "intergratedcloudnative/ubuntu2004")
20 link="https://ubuntu.com/"
21 version="Ubuntu 20.04"
30 echo "|OS|${link}|${version}|${license}|"
33 function kubespray_version {
34 awk -F= '/KUBESPRAY_VERSION=/ {print $2}' ${ICNDIR}/deploy/kud/kud_bm_launch.sh
37 function jump_server_k8s {
38 local -r version=$(curl -sL https://raw.githubusercontent.com/kubernetes-sigs/kubespray/v$(kubespray_version)/roles/kubespray-defaults/defaults/main.yaml | awk '/kube_version:/ {print $2}')
39 echo "|Kubespray|https://github.com/kubernetes-sigs/kubespray|$(kubespray_version)|Apache-2.0|"
40 echo "|K8s|https://kubernetes.io/|${version}|Apache-2.0|"
43 function jump_server_cri {
44 local -r version=$(curl -sL https://raw.githubusercontent.com/kubernetes-sigs/kubespray/v$(kubespray_version)/roles/container-engine/docker/defaults/main.yml | awk '/docker_version:/ {print $2}' | tr -d "'")
45 echo "|Docker|https://www.docker.com/|${version}|Apache-2.0|"
48 function jump_server_cni {
49 # kud/hosting_providers/vagrant/inventory/group_vars/k8s-cluster.yml:kube_network_plugin: flannel
50 local -r version=$(curl -sL https://raw.githubusercontent.com/kubernetes-sigs/kubespray/v$(kubespray_version)/roles/download/defaults/main.yml | awk '/flannel_version:/ {print $2}' | tr -d '"')
51 echo "|Flannel|https://github.com/flannel-io/flannel|${version}|Apache-2.0|"
54 function jump_server_addons {
56 |Ironic|https://github.com/metal3-io/baremetal-operator|${BMO_VERSION}|Apache-2.0|
57 |cert-manager|https://cert-manager.io/|${CERT_MANAGER_VERSION}|Apache-2.0|
58 |Bare Metal Operator|https://github.com/metal3-io/baremetal-operator|${BMO_VERSION}|Apache-2.0|
59 |Cluster API|https://cluster-api.sigs.k8s.io/|${CAPI_VERSION}|Apache-2.0|
60 |Flux|https://fluxcd.io/|${FLUX_VERSION}|Apache-2.0|
64 function jump_server {
73 function compute_cluster_os {
74 case $(awk '/imageName:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml) in
75 "focal-server-cloudimg-amd64.img")
76 link="https://ubuntu.com/"
77 version="Ubuntu 20.04"
86 echo "|OS|${link}|${version}|${license}"
89 function compute_cluster_k8s {
90 local -r version=$(awk '/k8sVersion:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml)
91 echo "|K8s|https://kubernetes.io/|${version}|Apache-2.0|"
94 function compute_cluster_cri {
95 local -r version=$(awk '/containerdVersion:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml)
96 echo "|containerd|https://containerd.io/|${version}|Apache-2.0|"
99 function compute_cluster_cni {
100 echo "|Calico|https://www.tigera.io/project-calico/|${CALICO_VERSION}|Apache-2.0|"
103 function git_repository_tag {
104 local -r source_yaml=$1
105 awk '/tag:/ {print $2}' ${source_yaml}
109 local -r source_yaml=$1
110 local -r image_name=$2
111 awk -F: '/image:.*'"${image_name}"'/ {print $3}' ${source_yaml} | tr -d '"'
115 local -r kustomization_yaml=$1
116 awk -F= '/?ref=/ {print $2}' ${kustomization_yaml} | tr -d "'"
119 function iavf_driver_version {
120 eval $(curl -sL https://raw.githubusercontent.com/onap/multicloud-k8s/${KUD_VERSION}/kud/deployment_infra/installers/entrypoint-iavf-driver-installer.sh | awk '/IAVF_DRIVER_VERSION/ {print; exit}')
121 echo ${IAVF_DRIVER_VERSION}
124 function qat_driver_version {
125 eval $(curl -sL https://raw.githubusercontent.com/onap/multicloud-k8s/${KUD_VERSION}/kud/deployment_infra/installers/entrypoint-qat-driver-installer.sh | awk '/QAT_DRIVER_VERSION/ {print; exit}')
126 echo ${QAT_DRIVER_VERSION}
129 function compute_cluster_addons {
131 |Containerized Data Importer|https://github.com/kubevirt/containerized-data-importer|${CDI_VERSION}|Apache-2.0|
132 |cert-manager|https://cert-manager.io/|${CERT_MANAGER_VERSION}|Apache-2.0|
133 |CPU Manager for Kubernetes|https://github.com/intel/CPU-Manager-for-Kubernetes|${CPU_MANAGER_VERSION}|Apache-2.0|
134 |EMCO|https://gitlab.com/project-emco|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-emco-management/emco-source.yaml)|Apache-2.0|
135 |Flux|https://fluxcd.io/|${FLUX_VERSION}|Apache-2.0|
136 |Intel Network Adapter Linux Virtual Function Driver for Intel Ethernet Controller 700 and E810 Series|https://www.intel.com/content/www/us/en/download/18159/intel-network-adapter-linux-virtual-function-driver-for-intel-ethernet-controller-700-and-e810-series.html|$(iavf_driver_version)|GPL-2.0|
137 |Intel Network Adapter Virtual Function Driver Installer|https://gerrit.onap.org/r/#/admin/projects/multicloud/k8s|$(image_tag ${ICNDIR}/deploy/iavf-driver-installer/icn/daemonset.yaml iavf-driver-installer)|Apache-2.0|
138 |Istio|https://istio.io/|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-addons/istio-source.yaml)|Apache-2.0|
139 |Kata Containers|https://katacontainers.io/|${KATA_VERSION}|Apache-2.0|
140 |KubeVirt|https://kubevirt.io/|${KUBEVIRT_VERSION}|Apache-2.0|
141 |Multus|https://github.com/k8snetworkplumbingwg/multus-cni|${MULTUS_VERSION}|Apache-2.0|
142 |Node Feature Discovery|https://github.com/kubernetes-sigs/node-feature-discovery|$(ref_tag ${ICNDIR}/deploy/node-feature-discovery/icn/kustomization.yaml)|Apache-2.0|
143 |Nodus|https://gerrit.akraino.org/r/admin/repos/icn/nodus|${NODUS_VERSION}|Apache-2.0|
144 |Intel QAT Driver for Linux for Intel Server Boards and Systems Based on Intel 62X Chipset|https://www.intel.com/content/www/us/en/download/19081/intel-quickassist-technology-intel-qat-driver-for-linux-for-intel-server-boards-and-systems-based-on-intel-62x-chipset.html|$(qat_driver_version)|GPL-2.0,BSD,OpenSSL,ZLib|
145 |Intel QAT Device Plugin|https://github.com/intel/intel-device-plugins-for-kubernetes|${QAT_VERSION}|Apache-2.0|
146 |Intel QAT Driver Installer|https://gerrit.onap.org/r/#/admin/projects/multicloud/k8s|$(image_tag ${ICNDIR}/deploy/qat-driver-installer/icn/daemonset.yaml qat-driver-installer)|Apache-2.0|
147 |SR-IOV Network Operator|https://github.com/k8snetworkplumbingwg/sriov-network-operator|$(git_repository_tag ${ICNDIR}/deploy/sriov-network-operator/icn/source.yaml)|Apache-2.0|
151 function compute_cluster {
157 compute_cluster_addons
160 cat <<EOF >${ICNDIR}/doc/software-bom.md
161 <!-- Markdown generated from tools/software-bom.sh. DO NOT EDIT. -->