GitHub user furkandogmus added a comment to the discussion: [ROCKY 9.6 AS 
SETUP] Ne bean named DefaultConfigResources available

Sir @DaanHoogland,
is there something wrong on my setup script?

```
#!/bin/bash

# CloudStack Development Environment Setup for Rocky Linux
# Based on Apache CloudStack Development Documentation

set -e

echo "=== CloudStack Development Environment Setup for Rocky Linux ==="

# Update system
echo "1. Updating system packages..."
sudo dnf update -y

# Install required packages for CloudStack development
echo "2. Installing development packages..."
sudo dnf install -y \
    java-11-openjdk-devel \
    maven \
    mariadb-server \
    mariadb \
    bzip2 \
    nfs-utils \
    util-linux \
    python3-setuptools \
    python3-pip \
    ipmitool \
    genisoimage \
    quota \
    git \
    wget \
    which \
    hostname \
    net-tools

# Install additional dependencies
echo "3. Installing additional tools..."
sudo dnf groupinstall -y "Development Tools"

# Setup JAVA_HOME
echo "4. Setting up Java environment..."
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> ~/.bashrc

# Configure MySQL/MariaDB
echo "5. Configuring MariaDB..."
sudo systemctl enable mariadb
sudo systemctl start mariadb

# Configure MariaDB for CloudStack
echo "6. Configuring MariaDB for CloudStack..."
sudo tee -a /etc/my.cnf.d/cloudstack.cnf > /dev/null <<EOF
[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION"
server_id = 1
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=1000
log-bin=mysql-bin
binlog-format = 'ROW'
default-authentication-plugin=mysql_native_password
bind-address = 127.0.0.1
EOF

sudo systemctl restart mariadb

# Reset MySQL root password to blank for CloudStack
echo "7. Setting up MariaDB root password..."
sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '';" 
2>/dev/null || true
sudo mysql -u root -e "FLUSH PRIVILEGES;" 2>/dev/null || true

# Setup NFS server
echo "8. Setting up NFS server..."
sudo systemctl enable nfs-server
sudo mkdir -p /export/testing/primary /export/testing/secondary
echo "/export  *(rw,async,no_root_squash,no_subtree_check)" | sudo tee 
/etc/exports
sudo systemctl start nfs-server
sudo exportfs -a

# Configure sudoers for CloudStack
echo "9. Configuring sudoers for CloudStack..."
USERNAME=$(whoami)
sudo tee /etc/sudoers.d/cloudstack > /dev/null <<EOF
Cmnd_Alias CLOUDSTACK = /bin/mkdir, /bin/mount, /bin/umount, /bin/cp, 
/bin/chmod, /usr/bin/keytool, /bin/keytool

Defaults:$USERNAME !requiretty

$USERNAME ALL=(ALL) NOPASSWD:CLOUDSTACK
EOF

# Create workspace directory
echo "10. Creating workspace..."
mkdir -p ~/lab
cd ~/lab

# Clone CloudStack repository if not exists
if [ ! -d "cloudstack" ]; then
    echo "11. Cloning CloudStack repository..."
    git clone https://github.com/apache/cloudstack.git
fi

cd cloudstack

# Clone and install nonoss dependencies
echo "12. Setting up nonoss dependencies..."
if [ ! -d "../cloudstack-nonoss" ]; then
    cd ~/lab
    git clone https://github.com/shapeblue/cloudstack-nonoss.git
    cd cloudstack-nonoss
    bash -x install-non-oss.sh
    cd ../cloudstack
fi

# Set Maven options for debugging
echo "13. Setting up Maven debugging options..."
echo 'export MAVEN_OPTS="$MAVEN_OPTS -Xdebug 
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"' >> ~/.bashrc

# Create Python alias if needed
echo "14. Setting up Python alias..."
if ! command -v python &> /dev/null; then
    echo 'alias python=python3' >> ~/.bashrc
fi

# Install Python dependencies
echo "15. Installing Python dependencies..."
pip3 install --user pynose

cd ~/lab/cloudstack && mvn clean install -Dnoredist -P developer,systemvm 
-DskipTests -T8
mvn -Pdeveloper -pl developer -Ddeploydb
mvn -pl :cloud-client-ui jetty:run -Dnoredist -Djava.net.preferIPv4Stack=true


GitHub link: 
https://github.com/apache/cloudstack/discussions/11347#discussioncomment-13934363

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to