6
This commit is contained in:
parent
5384a90a85
commit
1ed33bbc50
@ -5,8 +5,11 @@ set -xe # Added -e to stop execution if a command fails
|
||||
|
||||
# Defaults
|
||||
FIRST_INTERFACE="${1:-enp1s0}"
|
||||
|
||||
# enentually will be physnet1 in open stack networks
|
||||
EXTERNAL_INTERFACE="${2:-enp3s0}"
|
||||
|
||||
|
||||
# this should not be pingable in the installtion
|
||||
INTERNAL_IP="${3:-192.168.220.245}"
|
||||
|
||||
@ -81,10 +84,12 @@ sed -i "s@^#kolla_internal_vip_address:.*@kolla_internal_vip_address: \"${INTERN
|
||||
|
||||
# Enable Keystone/Horizon by default (often needed for a working UI)
|
||||
sed -i "s@^#enable_horizon:.*@enable_horizon: \"yes\"@g" "${GLOBALS_FILENAME}"
|
||||
|
||||
sed -i "s@^#enable_cinder:.*@enable_cinder: yes@g" "${GLOBALS_FILENAME}"
|
||||
#sed -i "s@^#enable_cinder_backend_nfs:.*@enable_cinder_backend_nfs: true@g" "${GLOBALS_FILENAME}"
|
||||
sed -i "s@^#enable_cinder_backend_lvm:.*@enable_cinder_backend_lvm: true@g" "${GLOBALS_FILENAME}"
|
||||
sed -i "s@^#cinder_volume_group:.*@cinder_volume_group: \"cinder-volumes\"@g" "${GLOBALS_FILENAME}"
|
||||
|
||||
sed -i "s@^#enable_valkey:.*@enable_valkey: true@g" "${GLOBALS_FILENAME}"
|
||||
|
||||
# to allow load balancer
|
||||
|
||||
@ -79,6 +79,7 @@ else
|
||||
openstack flavor show 2v1g10g || openstack flavor create --vcpus 2 --ram 1024 --disk 10 2v1g10g
|
||||
openstack flavor show 2v2g10g || openstack flavor create --vcpus 2 --ram 2048 --disk 10 2v2g10g
|
||||
openstack flavor show 4v2g10g || openstack flavor create --vcpus 4 --ram 2048 --disk 10 4v2g10g
|
||||
openstack flavor show 2v4g20g || openstack flavor create --vcpus 2 --ram 4096 --disk 20 2v4g20g
|
||||
|
||||
openstack flavor show 1v1g20g || openstack flavor create --vcpus 1 --ram 1024 --disk 20 1v1g20g
|
||||
openstack flavor show 1v2g20g || openstack flavor create --vcpus 1 --ram 2048 --disk 20 1v2g20g
|
||||
@ -203,13 +204,13 @@ upload_image_if_needed "debian-13" "${IMAGES_DIR}/debian-13-generic-amd64.qcow2"
|
||||
UBUNTU_JAMMY_URL="https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"
|
||||
UBUNTU_JAMMY_LOCAL="http://www.ngtech.home/static/cloud-images/jammy-server-cloudimg-amd64.img"
|
||||
[ "$USE_LOCAL" = true ] && curl --fail --silent --head --location "${UBUNTU_JAMMY_LOCAL}" >/dev/null && UBUNTU_JAMMY_URL="${UBUNTU_JAMMY_LOCAL}"
|
||||
upload_image_if_needed "ubuntu-noble" "${IMAGES_DIR}/jammy-server-cloudimg-amd64.img" "${UBUNTU_JAMMY_URL}"
|
||||
upload_image_if_needed "ubuntu-jammy" "${IMAGES_DIR}/jammy-server-cloudimg-amd64.img" "${UBUNTU_JAMMY_URL}"
|
||||
|
||||
# Ubuntu Focal 24.04
|
||||
UBUNTU_FOCAL_URL="https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img"
|
||||
UBUNTU_FOCAL_LOCAL="http://www.ngtech.home/static/cloud-images/focal-server-cloudimg-amd64.img"
|
||||
[ "$USE_LOCAL" = true ] && curl --fail --silent --head --location "${UBUNTU_FOCAL_LOCAL}" >/dev/null && UBUNTU_FOCAL_URL="${UBUNTU_FOCAL_LOCAL}"
|
||||
upload_image_if_needed "ubuntu-noble" "${IMAGES_DIR}/focal-server-cloudimg-amd64.img" "${UBUNTU_FOCAL_URL}"
|
||||
upload_image_if_needed "ubuntu-focal" "${IMAGES_DIR}/focal-server-cloudimg-amd64.img" "${UBUNTU_FOCAL_URL}"
|
||||
|
||||
# Ubuntu Noble (24.04)
|
||||
UBUNTU_NOBLE_URL="https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
|
||||
@ -263,6 +264,87 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
OPNSENSE_URL="https://pkg.opnsense.org/releases/26.1.6/OPNsense-26.1.6-nano-amd64.img.bz2"
|
||||
OPNSENSE_LOCAL="http://www.ngtech.home/static/cloud-images/OPNsense-26.1.6-nano-amd64.img.bz2"
|
||||
OPNSENSE_ARCHIVE="${IMAGES_DIR}/OPNsense-26.1.6-nano-amd64.img.bz2"
|
||||
OPNSENSE_FILE="${IMAGES_DIR}/OPNsense-26.1.6-nano-amd64.img"
|
||||
|
||||
[ "$USE_LOCAL" = true ] && curl --fail --silent --head --location "${OPNSENSE_LOCAL}" >/dev/null && OPNSENSE_URL="${OPNSENSE_LOCAL}"
|
||||
|
||||
if openstack image show "opnsense-26.1.6" >/dev/null 2>&1; then
|
||||
echo "Image 'opnsense-26.1.6' already exists — skipping"
|
||||
else
|
||||
if [ ! -f "${OPNSENSE_FILE}" ]; then
|
||||
if curl --fail --silent --head --location --max-time 12 "${OPNSENSE_URL}" >/dev/null; then
|
||||
echo "Downloading opnsense archive from ${OPNSENSE_URL}"
|
||||
wget --progress=bar "${OPNSENSE_URL}" -O "${OPNSENSE_ARCHIVE}" || { rm -f "${OPNSENSE_ARCHIVE}"; echo "Download failed"; }
|
||||
if [ -f "${OPENEULER_ARCHIVE}" ]; then
|
||||
echo "Decompressing opnsense image..."
|
||||
bunzip2 "${OPNSENSE_ARCHIVE}" || { echo "Decompression failed"; rm -f "${OPNSENSE_ARCHIVE}" "${OPNSENSE_FILE}"; }
|
||||
# mv "${OPNSENSE_ARCHIVE%.bz2}" "${OPNSENSE_FILE}" 2>/dev/null || true
|
||||
fi
|
||||
else
|
||||
echo "opnsense remote not available — skipping"
|
||||
fi
|
||||
fi
|
||||
|
||||
qemu-img convert -O qcow2 "${OPNSENSE_FILE}" "${OPNSENSE_FILE%.img}.qcow2"
|
||||
|
||||
if [ -f "${OPNSENSE_FILE}" ]; then
|
||||
openstack image create "opnsense-26.1.6 " \
|
||||
--disk-format qcow2 \
|
||||
--container-format bare \
|
||||
--file "${OPNSENSE_FILE%.img}.qcow2" \
|
||||
--public || echo "Failed to upload opnsense"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Configuration for NethSecurity 8.7.2
|
||||
NETH_URL="https://updates.nethsecurity.nethserver.org/stable/8.7.2/targets/x86/64/nethsecurity-8.7.2-x86-64-generic-squashfs-combined-efi.img.gz"
|
||||
NETH_LOCAL="http://www.ngtech.home/static/cloud-images/nethsecurity-8.7.2-x86-64-generic-squashfs-combined-efi.img.gz"
|
||||
NETH_ARCHIVE="${IMAGES_DIR}/nethsecurity-8.7.2-x86-64-generic-squashfs-combined-efi.img.gz"
|
||||
NETH_FILE="${IMAGES_DIR}/nethsecurity-8.7.2-x86-64-generic-squashfs-combined-efi.img"
|
||||
|
||||
# Use local mirror if requested and available
|
||||
[ "$USE_LOCAL" = true ] && curl --fail --silent --head --location "${NETH_LOCAL}" >/dev/null && NETH_URL="${NETH_LOCAL}"
|
||||
|
||||
if openstack image show "nethsecurity-8.7.2" >/dev/null 2>&1; then
|
||||
echo "Image 'nethsecurity-8.7.2' already exists — skipping"
|
||||
else
|
||||
if [ ! -f "${NETH_FILE}" ]; then
|
||||
if curl --fail --silent --head --location --max-time 12 "${NETH_URL}" >/dev/null; then
|
||||
echo "Downloading NethSecurity archive from ${NETH_URL}"
|
||||
wget --progress=bar "${NETH_URL}" -O "${NETH_ARCHIVE}" || { rm -f "${NETH_ARCHIVE}"; echo "Download failed"; }
|
||||
|
||||
if [ -f "${NETH_ARCHIVE}" ]; then
|
||||
echo "Decompressing NethSecurity image..."
|
||||
# Using gunzip for .gz files
|
||||
set +e
|
||||
zcat "${NETH_ARCHIVE}" > "${NETH_FILE}"
|
||||
set -e
|
||||
# || { echo "Decompression failed"; rm -f "${NETH_ARCHIVE}" "${NETH_FILE}"; }
|
||||
fi
|
||||
else
|
||||
echo "NethSecurity remote not available — skipping"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Convert to QCOW2 for OpenStack
|
||||
if [ -f "${NETH_FILE}" ]; then
|
||||
echo "Converting image to qcow2..."
|
||||
qemu-img convert -O qcow2 "${NETH_FILE}" "${NETH_FILE%.img}.qcow2"
|
||||
|
||||
echo "Uploading to OpenStack..."
|
||||
openstack image create "nethsecurity-8.7.2" \
|
||||
--disk-format qcow2 \
|
||||
--container-format bare \
|
||||
--file "${NETH_FILE%.img}.qcow2" \
|
||||
--property hw_firmware_type=uefi \
|
||||
--public || echo "Failed to upload NethSecurity"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Keypair (unchanged)
|
||||
openstack keypair show multi || openstack keypair create --public-key multi.pub multi
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user