This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack-installer.git
commit a1dfa0d1ff85268f0568887593a6d6cd1209e0e4 Author: Rohit Yadav <[email protected]> AuthorDate: Mon May 13 14:58:41 2024 +0000 install.sh: complete deployment but not zone deployment Signed-off-by: Rohit Yadav <[email protected]> --- install.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index 234837f..6ef3314 100644 --- a/install.sh +++ b/install.sh @@ -29,6 +29,7 @@ CS_VERSION=4.18 INTERFACE= BRIDGE=cloudbr0 HOST_IP= +GATEWAY= # --- helper functions for logs --- info() @@ -69,7 +70,7 @@ warn "Work in progress, try again while this is being hacked" ### Setup Prerequisites ### info "Installing dependencies" #apt-get update -apt-get install -y openssh-server sudo vim htop tar bridge-utils +apt-get install -y openssh-server sudo wget jq htop tar nmap bridge-utils ### Setup Bridge ### @@ -215,14 +216,52 @@ deploy_cloudstack() { cloudstack-setup-management } -setup_completed() { +install_completed() { info "CloudStack installation completed!" - info "Access CloudStack UI at: http://$HOST_IP:8080/client (username: admin, password: password)" + info "Access CloudStack UI at: http://$HOST_IP:8080/client with username 'admin' and password 'password'" echo } deploy_zone() { info "Deploying CloudStack Zone" + wget -q https://github.com/apache/cloudstack-cloudmonkey/releases/download/6.4.0/cmk.linux.x86-64 -O /usr/bin/cmk > /dev/null + chmod +x /usr/bin/cmk + cmk set username admin + cmk set password password + cmk set display json + cmk sync + + zone_id=$(cmk create zone dns1=8.8.8.8 internaldns1=$GATEWAY name=AdvZone1 networktype=Advanced | jq '.zone.id') + info "Created CloudStack Zone with ID $zone_id" + + phy_id=$(cmk create physicalnetwork name=cloudbr0 zoneid=$zone_id | jq '.physicalnetwork.id') + cmk add traffictype traffictype=Management physicalnetworkid=$phy_id + cmk add traffictype traffictype=Public physicalnetworkid=$phy_id + cmk add traffictype traffictype=Guest physicalnetworkid=$phy_id + cmk update physicalnetwork state=Enabled id=$phy_id + info "Created CloudStack Physical Network in zone with ID $phy_id" + + nsp_id=$(cmk list networkserviceproviders name=VirtualRouter physicalnetworkid=$phy_id | jq -r '.networkserviceprovider[0].id') + vre_id=$(cmk list virtualrouterelements nspid=$nsp_id | jq -r '.virtualrouterelement[0].id') + cmk configure virtualrouterelement enabled=true id=$vre_id + cmk update networkserviceprovider state=Enabled id=$nsp_id + info "Configured VR Network Service Provider for zone" + + nsp_id=$(cmk list networkserviceproviders name=Internallbvm physicalnetworkid=$phy_id | jq -r '.networkserviceprovider[0].id') + ilbvm_id=$(cmk list internalloadbalancerelements nspid=$nsp_id | jq -r '.internalloadbalancerelement[0].id') + cmk configure internalloadbalancerelement enabled=true id=$ilbvm_id + cmk update networkserviceprovider state=Enabled id=$nsp_id + info "Configured ILBVM Network Service Provider for zone" + + nsp_id=$(cmk list networkserviceproviders name=VpcVirtualRouter physicalnetworkid=$phy_id | jq -r '.networkserviceprovider[0].id') + vpcvre_id=$(cmk list virtualrouterelements nspid=$nsp_id | jq -r '.virtualrouterelement[0].id') + cmk configure virtualrouterelement enabled=true id=$vpcvre_id + cmk update networkserviceprovider state=Enabled id=$nsp_id + info "Configured VPC VR Network Service Provider for zone" + + RANGE=$(echo $GATEWAY | sed 's/\..$//g') + + pod_id=$(cmk create pod name=AdvPod1 zoneid=$zone_id gateway=$GATEWAY netmask=255.255.255.0 startip=$pod_start endip=$pod_end | jq '.pod.id') } display_url() { @@ -241,7 +280,8 @@ Password: password ### Installer: Setup ### setup_bridge -HOST_IP=$(ip -f inet addr show $BRIDGE | sed -En -e 's/.*inet ([0-9.]+).*/\1/p') +export HOST_IP=$(ip -f inet addr show $BRIDGE | sed -En -e 's/.*inet ([0-9.]+).*/\1/p') +export GATEWAY=$(ip route show 0.0.0.0/0 dev $BRIDGE | cut -d\ -f3) info "Bridge $BRIDGE is setup with IP $HOST_IP" configure_repo @@ -250,10 +290,13 @@ configure_mysql configure_storage configure_host deploy_cloudstack -setup_completed + +install_completed ### Installer: Deploy Zone ### -deploy_zone +#deploy_zone + +### Installer: Finish ### display_url
