Skip to content

Commit

Permalink
Support pallallel node creation and inspection. Add multiple sushy-tools
Browse files Browse the repository at this point in the history
  • Loading branch information
mquhuy authored and Cloud User committed May 31, 2023
1 parent 1be6f42 commit c6bb890
Show file tree
Hide file tree
Showing 31 changed files with 508 additions and 594 deletions.
3 changes: 2 additions & 1 deletion Support/Multitenancy/ironic-env/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ ironicclient.sh
_clouds_yaml/*
kubectl
minikube-linux-amd64
macgen
macaddrs
uuids
sushy-tools-conf/*
11 changes: 5 additions & 6 deletions Support/Multitenancy/ironic-env/01-vm-setup.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/bash
set -e
#install kvm for minikube
dnf -y install qemu-kvm libvirt virt-install net-tools podman firewalld
Expand Down Expand Up @@ -100,11 +101,9 @@ install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# Install Helm
helm_api="https://api.github.com/repos/helm/helm/releases"
curl -sL "${helm_api}" > helm_releases.txt
helm_release_tag="$(cat helm_releases.txt | jq -r ".[].tag_name" | head -n 1 )"
rm -f helm_releases.txt
helm_release_tag="$(curl -sL "${helm_api}" | jq -r ".[].tag_name" | head -n 1 )"
filename="helm-${helm_release_tag}-linux-amd64.tar.gz"
wget -O $filename.tar.gz "https://get.helm.sh/${filename}"
tar -xf $filename.tar.gz
wget -O "$filename.tar.gz" "https://get.helm.sh/${filename}"
tar -xf "$filename.tar.gz"
install -o root -g root -m 0755 linux-amd64/helm /usr/local/bin/helm
rm -rf $filename.tar.gz linux-amd64 minikube-linux-amd64 kubectl
rm -rf "$filename.tar.gz" linux-amd64 minikube-linux-amd64 kubectl
1 change: 1 addition & 0 deletions Support/Multitenancy/ironic-env/02-configure-minikube.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/bash
set -e
minikube config set driver kvm2
minikube config set memory 4096
Expand Down
153 changes: 0 additions & 153 deletions Support/Multitenancy/ironic-env/03-images-and-run-local-services.sh

This file was deleted.

9 changes: 7 additions & 2 deletions Support/Multitenancy/ironic-env/04-start-minikube.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/bash
set -e

# Start Minikube with insecure registry flag
Expand All @@ -8,7 +9,6 @@ sudo su -l -c "minikube ssh sudo brctl addbr ironicendpoint" "${USER}"
sudo su -l -c "minikube ssh sudo ip link set ironicendpoint up" "${USER}"
sudo su -l -c "minikube ssh sudo brctl addif ironicendpoint eth2" "${USER}"

IRONIC_ENDPOINTS=$1
read -ra PROVISIONING_IPS <<< "${IRONIC_ENDPOINTS}"
for PROVISIONING_IP in "${PROVISIONING_IPS[@]}"; do
sudo su -l -c "minikube ssh sudo ip addr add ${PROVISIONING_IP}/24 dev ironicendpoint" "${USER}"
Expand All @@ -17,4 +17,9 @@ done
# Firewall rules
for i in 8000 80 9999 6385 5050 6180 53 5000; do sudo firewall-cmd --zone=public --add-port=${i}/tcp; done
for i in 69 547 546 68 67 5353 6230 6231 6232 6233 6234 6235; do sudo firewall-cmd --zone=libvirt --add-port=${i}/udp; done
sudo firewall-cmd --zone=libvirt --add-port=8000/tcp

for i in $(seq 1 "${N_SUSHY:-5}"); do
port=$(( 8000 + i ))
sudo firewall-cmd --zone=public --add-port=$port/tcp
sudo firewall-cmd --zone=libvirt --add-port=$port/tcp
done
47 changes: 26 additions & 21 deletions Support/Multitenancy/ironic-env/05-apply-manifests.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
set -e
WORKING_DIR="/opt/metal3-dev-env/ironic"

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.yaml

Expand All @@ -11,12 +11,32 @@ if [[ ! -f ~/.ssh/id_rsa.pub ]]; then
ssh-keygen -t ed25519
fi
# Install ironic
IRONIC_ENDPOINTS=$1
read -ra PROVISIONING_IPS <<< "${IRONIC_ENDPOINTS}"
helm install ironic ironic --set sshKey="$(cat ~/.ssh/id_rsa.pub)" --set ironicReplicas={$(echo $IRONIC_ENDPOINTS | sed 's/ /\,/g')} --wait
# read -ra PROVISIONING_IPS <<< "${IRONIC_ENDPOINTS}"
# helm install ironic ironic --set sshKey="$(cat ~/.ssh/id_rsa.pub)" --set ironicReplicas="{$(echo "$IRONIC_ENDPOINTS" | sed 's/ /\,/g')}" --wait
helm install ironic ironic --set sshKey="$(cat ~/.ssh/id_rsa.pub)" --set ironicReplicas="{${IRONIC_ENDPOINTS// /\,}}" --wait

openstack_dir="${PWD}/_clouds_yaml"
ironic_client="ironicclient.sh"
openstack_dir="${PWD}/_clouds_yaml"
rm -rf "${openstack_dir}"
mkdir -p "${openstack_dir}"
cp /opt/metal3-dev-env/ironic/certs/ironic-ca.pem "${openstack_dir}/ironic-ca.crt"
cat << EOT >"${openstack_dir}/clouds.yaml"
clouds:
metal3:
auth_type: none
baremetal_endpoint_override: https://172.22.0.2:6385
baremetal_introspection_endpoint_override: https://172.22.0.2:5050
verify: false
EOT

sudo podman run --net=host --tls-verify=false \
--name openstack-client \
--detach \
--entrypoint='["/bin/sleep", "inf"]' \
-v "${openstack_dir}:/etc/openstack" \
-e OS_CLOUD="${OS_CLOUD:-metal3}" \
"172.22.0.1:5000/localimages/ironic-client"


cat << EOT >"${ironic_client}"
#!/bin/bash
Expand All @@ -35,23 +55,8 @@ if [ \$1 == "baremetal" ] ; then
fi
# shellcheck disable=SC2086
sudo podman run --net=host --tls-verify=false \
-v "${openstack_dir}:/etc/openstack" --rm \
-e OS_CLOUD="${OS_CLOUD:-metal3}" "172.22.0.1:5000/localimages/ironic-client" "\$@"
sudo podman exec openstack-client /usr/bin/baremetal "\$@"
EOT

rm -rf "${openstack_dir}"
mkdir -p "${openstack_dir}"

cp /opt/metal3-dev-env/ironic/certs/ironic-ca.pem "${openstack_dir}/ironic-ca.crt"

cat << EOT >"${openstack_dir}/clouds.yaml"
clouds:
metal3:
auth_type: none
baremetal_endpoint_override: https://172.22.0.2:6385
baremetal_introspection_endpoint_override: https://172.22.0.2:5050
verify: false
EOT
sudo chmod a+x "${ironic_client}"
sudo ln -sf "$PWD/${ironic_client}" "/usr/local/bin/baremetal"
39 changes: 0 additions & 39 deletions Support/Multitenancy/ironic-env/06-create-nodes.sh

This file was deleted.

66 changes: 0 additions & 66 deletions Support/Multitenancy/ironic-env/07-inspect-nodes.sh

This file was deleted.

Loading

0 comments on commit c6bb890

Please sign in to comment.