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 {
17 function jump_server_os {
18 case $(awk '/m.vm.box = / {print $3}' ${ICNDIR}/Vagrantfile | tr -d "'") in
19 "intergratedcloudnative/ubuntu2004") version="Ubuntu 20.04" ;;
20 *) version="UNKNOWN" ;;
22 echo "|OS|${version}|"
25 function kubespray_version {
26 awk -F= '/KUBESPRAY_VERSION=/ {print $2}' ${ICNDIR}/deploy/kud/kud_bm_launch.sh
29 function jump_server_k8s {
30 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}')
31 echo "|K8s|${version} (Kubespray $(kubespray_version))|"
34 function jump_server_cri {
35 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 "'")
36 echo "|Docker|${version} (Kubespray $(kubespray_version))|"
39 function jump_server_cni {
40 # kud/hosting_providers/vagrant/inventory/group_vars/k8s-cluster.yml:kube_network_plugin: flannel
41 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 '"')
42 echo "|Flannel|${version} (Kubespray $(kubespray_version))|"
45 function jump_server_addons {
47 |Ironic|${BMO_VERSION}|
48 |cert-manager|${CERT_MANAGER_VERSION}|
49 |Bare Metal Operator|${BMO_VERSION}|
50 |Cluster API|${CAPI_VERSION}|
51 |Flux|${FLUX_VERSION}|
55 function jump_server {
64 function compute_cluster_os {
65 case $(awk '/imageName:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml) in
66 "focal-server-cloudimg-amd64.img") version="Ubuntu 20.04" ;;
67 *) version="UNKNOWN" ;;
69 echo "|OS|${version}|"
72 function compute_cluster_k8s {
73 local -r version=$(awk '/k8sVersion:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml)
74 echo "|K8s|${version}|"
77 function compute_cluster_cri {
78 local -r version=$(awk '/containerdVersion:/ {print $2}' ${ICNDIR}/deploy/cluster/values.yaml)
79 echo "|containerd|${version}|"
82 function compute_cluster_cni {
83 echo "|Calico|${CALICO_VERSION}|"
86 function git_repository_tag {
87 local -r source_yaml=$1
88 awk '/tag:/ {print $2}' ${source_yaml}
92 local -r source_yaml=$1
93 local -r image_name=$2
94 awk -F: '/image:.*'"${image_name}"'/ {print $3}' ${source_yaml} | tr -d '"'
98 local -r kustomization_yaml=$1
99 awk -F= '/?ref=/ {print $2}' ${kustomization_yaml} | tr -d "'"
102 function compute_cluster_addons {
104 |Containerized Data Importer|${CDI_VERSION}|
105 |cert-manager|${CERT_MANAGER_VERSION}|
106 |CPU Manager for Kubernetes|${CPU_MANAGER_VERSION}|
107 |EMCO|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-emco-management/emco-source.yaml)|
108 |Flux|${FLUX_VERSION}|
109 |Intel Network Adapter Virtual Function Driver Installer|$(image_tag ${ICNDIR}/deploy/iavf-driver-installer/icn/daemonset.yaml iavf-driver-installer)|
110 |Istio|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-addons/istio-source.yaml)|
111 |Kata Containers|${KATA_VERSION}|
112 |KubeVirt|${KUBEVIRT_VERSION}|
113 |Multus|${MULTUS_VERSION}|
114 |Node Feature Discovery|$(ref_tag ${ICNDIR}/deploy/node-feature-discovery/icn/kustomization.yaml)|
115 |Nodus|${NODUS_VERSION}|
116 |Intel QAT Device Plugin|${QAT_VERSION}|
117 |Intel QAT Driver Installer|$(image_tag ${ICNDIR}/deploy/qat-driver-installer/icn/daemonset.yaml qat-driver-installer)|
118 |SR-IOV Network Operator|$(git_repository_tag ${ICNDIR}/deploy/sriov-network-operator/icn/source.yaml)|
122 function compute_cluster {
128 compute_cluster_addons
131 cat <<EOF >${ICNDIR}/doc/software-bom.md
132 <!-- Markdown generated from tools/software-bom.sh. DO NOT EDIT. -->