From 6914df0be84877758cc8a85bcdc230b241181e4e Mon Sep 17 00:00:00 2001 From: Clement Buisson Date: Fri, 16 Jun 2017 23:02:40 -0700 Subject: [PATCH] Improvements for Xenial * Better management of the Docker containers * New version of chef-server * chef-rundeck is now running in a container --- CHANGELOG | 15 +++++ docker/docker_chef_rundeck.tar.gz | Bin 0 -> 150436 bytes install | 2 +- scripts/check_url.sh | 81 ++++++++++++++++--------- scripts/create_rd_projects.sh | 10 +-- scripts/get_and_install.sh | 29 +++------ scripts/install_docker.sh | 11 ++-- scripts/install_docker_chef-rundeck.sh | 24 ++++++++ scripts/install_docker_chef-server.sh | 42 +++++++------ scripts/install_kvm.sh | 9 ++- scripts/install_rundeck.sh | 19 +++--- scripts/menu_chef.rb | 20 +++--- scripts/menu_main.rb | 22 ++++--- vars | 3 + 14 files changed, 183 insertions(+), 104 deletions(-) create mode 100644 docker/docker_chef_rundeck.tar.gz create mode 100755 scripts/install_docker_chef-rundeck.sh diff --git a/CHANGELOG b/CHANGELOG index 802747f..705e1e4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,21 @@ CHANGELOG ========= +2.5: 2017-06-16 +--------------- +New Features: +- The script ensures knife_admin_key.tar.gz is really accessible before downloading it from the chef-server container. +- Test if br0 interface is present before installing 'kvm-control' with floating IPs. +- New Docker network range. +- Using chef-rundeck in a container. + +Updates: +- Using newer Docker image (v2.3). +- Shell and Ruby lint. +- Output color for the bash scripts. +- New env variable for libvirt. +- chef-server has now is static ip. + 2.4: 2017-03-20 --------------- New Features: diff --git a/docker/docker_chef_rundeck.tar.gz b/docker/docker_chef_rundeck.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..367b107c2692ccde736f3f6d1237172d5ee632f4 GIT binary patch literal 150436 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�?6f6!ubE9#W96(u>XS=7yb`g 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®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 D(yR&+ literal 0 HcmV?d00001 diff --git a/install b/install index fed3def..1469387 100755 --- a/install +++ b/install @@ -6,7 +6,7 @@ echo " |\/| | /__\` /__\` | / \\ |\\ | / \` / \\ |\\ | | |__) / \\ |" echo " | | | .__/ .__/ | \\__/ | \\| ___ \\__, \\__/ | \\| | | \\ \\__/ |___" echo -e "\n\nInstallation is progress...\n" sudo apt-get -q update -sudo apt-get -y install build-essential ruby2.3 ruby2.3-dev +sudo apt-get -y install build-essential curl uuid-runtime ruby2.3 ruby2.3-dev echo "Installing: bundler" sudo gem install bundler --no-ri --no-rdoc bundle install diff --git a/scripts/check_url.sh b/scripts/check_url.sh index a8a4499..4670df6 100755 --- a/scripts/check_url.sh +++ b/scripts/check_url.sh @@ -1,30 +1,57 @@ #!/bin/bash -URL=$1 -CODE=1 +OPTION=$1 +URL=$2 SECONDS=0 -TIMEOUT=$2 - -echo -e "Blocking until <${URL}> responds...\nTimeout: ${TIMEOUT} seconds." - -while [ $CODE -ne 0 ]; do - curl -sfk \ - --connect-timeout 3 \ - --max-time 5 \ - --fail \ - --silent \ - ${URL} >/dev/null - - CODE=$? - - sleep 2 - echo -n "." - - if [ $SECONDS -ge $TIMEOUT ]; then - echo "$URL is not available after $SECONDS seconds...stopping the install!" - exit 1 - fi - -done; - -echo -e "\n\e[1m$URL\e[0m is accessible!" +txtred=$(tput setaf 1) +txtbold=$(tput bold) +txtreset=$(tput sgr0) + +if [ "$OPTION" == "url" ]; then + TIMEOUT=$3 + CODE=1 + echo -e "Blocking until <${URL}> responds...\nTimeout: ${TIMEOUT} seconds." + + while [ "$CODE" -ne 0 ]; do + curl -sfk \ + --connect-timeout 3 \ + --max-time 5 \ + --fail \ + --silent \ + "${URL}" >/dev/null + + CODE=$? + + sleep 2 + echo -n "." + + if [ "$SECONDS" -ge "$TIMEOUT" ]; then + echo "$txtred$URL is not available after $SECONDS seconds...stopping the install!" + exit 1 + fi + done; + +elif [ "$OPTION" == "file" ]; then + TARGET_SIZE=$3 + TIMEOUT=$4 + SIZE=0 + echo -e "Blocking until $URL is accessible...\nTimeout: $TIMEOUT seconds." + + while [ $SIZE -lt $TARGET_SIZE ]; do + SIZE=$(curl -Isk $URL | grep Content-Length | awk '{print $2}' | tr -d '\r\n') + + sleep 2 + echo -n "." + + if [ "$SECONDS" -ge "$TIMEOUT" ]; then + echo "$txtred$URL is not available after $SECONDS seconds...stopping the install!" + exit 1 + fi + done; + +else + echo "$txtred$OPTION is not a valid choice. Please use 'url' or 'file'!" + exit 1 +fi + +echo -e "\n$txtbold$URL$txtreset is accessible!" \ No newline at end of file diff --git a/scripts/create_rd_projects.sh b/scripts/create_rd_projects.sh index b14db42..34526e6 100755 --- a/scripts/create_rd_projects.sh +++ b/scripts/create_rd_projects.sh @@ -1,10 +1,12 @@ #!/bin/bash +txtbold=$(tput bold) + case "$1" in "kvm-control" ) project=$(sudo su - rundeck -c "rd projects list |grep $1") if [[ -z "$project" ]]; then - echo -e "Creating $1 project and jobs!\n" + echo -e "$txtboldCreating $1 project and jobs!\n" sudo su rundeck -c "rd projects create -p kvm-control" sudo su rundeck -c "rd jobs load -r -f $2/rundeck_jobs.xml -p kvm-control" else @@ -14,7 +16,7 @@ case "$1" in "kvm-control_with-Chef" ) project=$(sudo su - rundeck -c "rd projects list |grep $1") if [[ -z "$project" ]]; then - echo -e "Creating $1 project and jobs!\n" + echo -e "$txtboldCreating $1 project and jobs!\n" sudo su rundeck -c "rd projects create -p kvm-control_with-Chef -- --resources.source.2.config.url=http://localhost:9980 --resources.source.2.type=url --resources.source.2.config.timeout=60 --resources.source.2.config.cache=false" sudo su rundeck -c "rd jobs load -r -f $2/chef-rundeck_jobs.xml -p kvm-control_with-Chef" else @@ -24,7 +26,7 @@ case "$1" in "docker-control" ) project=$(sudo su - rundeck -c "rd projects list |grep $1") if [[ -z "$project" ]]; then - echo -e "Creating $1 project and jobs!\n" + echo -e "$txtboldCreating $1 project and jobs!\n" sudo su rundeck -c "rd projects create -p docker-control" sudo su rundeck -c "rd jobs load -r -f $2/rundeck_jobs.xml -p docker-control" else @@ -34,7 +36,7 @@ case "$1" in "chef_server-control" ) project=$(sudo su - rundeck -c "rd projects list |grep $1") if [[ -z "$project" ]]; then - echo -e "Creating $1 project and jobs!\n" + echo -e "$txtboldCreating $1 project and jobs!\n" sudo su rundeck -c "rd projects create -p chef_server-control" sudo su rundeck -c "rd jobs load -r -f $2/rundeck_jobs-chef.xml -p chef_server-control" else diff --git a/scripts/get_and_install.sh b/scripts/get_and_install.sh index a47cd2e..5fdef60 100755 --- a/scripts/get_and_install.sh +++ b/scripts/get_and_install.sh @@ -1,10 +1,12 @@ #!/bin/bash +txtbold=$(tput bold) + case "$1" in "rundeck-cli" ) - file=$(ls /etc/apt/sources.list.d/ |grep rundeck-cli.list) + file=$(for i in /etc/apt/sources.list.d/*; do echo "$i" |grep rundeck-cli.list; done) if [[ -z "$file" ]]; then - echo -e "Downloading $1!\n" + echo -e "$txtboldDownloading $1!\n" echo "deb https://dl.bintray.com/rundeck/rundeck-deb /" | sudo tee -a /etc/apt/sources.list.d/rundeck-cli.list curl "https://bintray.com/user/downloadSubjectPublicKey?username=bintray" > /tmp/bintray.gpg.key apt-key add - < /tmp/bintray.gpg.key @@ -15,11 +17,11 @@ case "$1" in fi ;; "rundeck" ) - file=$(ls |grep rundeck-$2-GA.deb) + file=$(for i in *; do echo "$i" |grep rundeck-"$2"-GA.deb; done) if [[ -z "$file" ]]; then - echo -e "Downloading $1!\n" - wget http://download.rundeck.org/deb/rundeck-$2-GA.deb - dpkg -i rundeck-$2-GA.deb + echo -e "$txtboldDownloading $1!\n" + wget http://download.rundeck.org/deb/rundeck-"$2"-GA.deb + dpkg -i rundeck-"$2"-GA.deb rm -rf /tmp/rundeck/ cp /etc/rundeck/rundeck-config.properties /etc/rundeck/rundeck-config.properties.backup cp /etc/rundeck/framework.properties /etc/rundeck/framework.properties.backup @@ -28,9 +30,9 @@ case "$1" in fi ;; "mysql-connector" ) - file=$(ls |grep mysql-connector-java-5.1.40.tar.gz) + file=$(for i in *; do echo "$i" |grep mysql-connector-java-5.1.40.tar.gz; done) if [[ -z "$file" ]]; then - echo -e "Downloading $1!\n" + echo -e "$txtboldDownloading $1!\n" wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz tar -zxf mysql-connector-java-5.1.40.tar.gz -C /tmp/ cp /tmp/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /var/lib/rundeck/libext/ @@ -38,15 +40,4 @@ case "$1" in echo -e "$1 is already on this server!\n" fi ;; - "chef-rundeck" ) - file=$(ls |grep ruby-ffi) - if [[ -z "$file" ]]; then - echo -e "Downloading ffy dependencies and chef-rundeck gem!\n" - wget http://mirrors.kernel.org/ubuntu/pool/universe/r/ruby-ffi/ruby-ffi_1.9.10debian-1build2_amd64.deb http://security.ubuntu.com/ubuntu/pool/universe/r/ruby-ffi-yajl/ruby-ffi-yajl_2.2.3-2_amd64.deb - sudo dpkg -i ruby-ffi* - sudo gem install chef-rundeck - else - echo -e "$1 and its dependencies are already installed on this server!\n" - fi - ;; esac diff --git a/scripts/install_docker.sh b/scripts/install_docker.sh index 8ecb6da..de6a5dd 100755 --- a/scripts/install_docker.sh +++ b/scripts/install_docker.sh @@ -1,8 +1,11 @@ #!/bin/bash -echo -e "Installing Docker...\n" +txtbold=$(tput bold) + +echo -e "$txtboldInstalling Docker...\n" sudo apt-get -y install docker.io sudo adduser rundeck docker -sudo mkdir -p $1 -cp docker/rundeck_jobs.xml $1 -sudo chown rundeck. -R $1 +sudo mkdir -p "$1" +cp docker/rundeck_jobs.xml "$1" +sudo chown rundeck. -R "$1" +sudo docker network create --subnet=172.18.0.0/16 mc_net diff --git a/scripts/install_docker_chef-rundeck.sh b/scripts/install_docker_chef-rundeck.sh new file mode 100755 index 0000000..7fc0bbf --- /dev/null +++ b/scripts/install_docker_chef-rundeck.sh @@ -0,0 +1,24 @@ +#!/bin/bash +txtbold=$(tput bold) +chef_rundeck_present=$(sudo docker ps -a |grep "$1") +chef_rundeck_up=$(sudo docker ps |grep "$1") +chef_rundeck_docker_ip=$2 +chef_server_docker_ip=$3 +set -e +if [[ -z "$chef_rundeck_present" ]]; then + echo -e "$txtboldCreating image, launching container and start $1\n" + # Create the chef-rundeck Docker image and run it + tar -zxf docker/docker_chef_rundeck.tar.gz + sed -i "s,CHEF_SERVER_CONTAINER_IP,$3,g" chef-rundeck/Dockerfile + sed -i "s,CHEF_SERVER_CONTAINER_IP,$3,g" chef-rundeck/config.rb + cp ~/.chef/admin.pem chef-rundeck/ + sudo docker build -t c_rundeck_image chef-rundeck/ + sudo docker run --net mc_net --ip $chef_rundeck_docker_ip -d --name $1 -e 'USER=ubuntu' -p 9980:9980 c_rundeck_image + # Get the container's IP and add it to /etc/hosts + grep -q "$chef_rundeck_docker_ip $1" /etc/hosts || echo "$chef_rundeck_docker_ip $1" | sudo tee -a /etc/hosts +elif [[ -z "$chef_rundeck_up" ]]; then + echo -e "Starting $1 container\n" + sudo docker start "$1" +else + echo -e "\nThere is already a Docker container named: $1\nRemove it first and re-run that script if you want a new container!\n" +fi diff --git a/scripts/install_docker_chef-server.sh b/scripts/install_docker_chef-server.sh index 6446f82..31e2821 100755 --- a/scripts/install_docker_chef-server.sh +++ b/scripts/install_docker_chef-server.sh @@ -1,22 +1,29 @@ #!/bin/bash -chef_present=$(sudo docker ps -a |grep $1) -chef_up=$(sudo docker ps |grep $1) +txtbold=$(tput bold) +chef_present=$(sudo docker ps -a |grep "$1") +chef_up=$(sudo docker ps |grep "$1") +chef_docker_ip=$4 set -e if [[ -z "$chef_present" ]]; then - echo -e "Downloading container and start $1\n" - sudo mkdir -p $3/$1/logs - docker pull cbuisson/chef-server:v2.2 - sudo docker run --privileged -e CONTAINER_NAME=$1 -e CHEF_PORT=$2 --name $1 -d -v $3/$1/logs/chef-logs:/var/log -v $3/$1/logs/install-chef-out:/root -p $2:$2 cbuisson/chef-server:v2.2 - docker_ip=$(sudo docker inspect -f '{{.NetworkSettings.IPAddress }}' $1) - grep -q "$docker_ip $1" /etc/hosts || echo "$docker_ip $1" | sudo tee -a /etc/hosts - sudo scripts/check_url.sh https://$1:$2/knife_admin_key.tar.gz 600 - sudo curl -o $3/$1/knife_admin_key.tar.gz -Ok https://$1:$2/knife_admin_key.tar.gz + echo -e "$txtboldDownloading container and start $1\n" + sudo mkdir -p "$3"/"$1"/logs + # Get the chef-server Docker image and run it + docker pull cbuisson/chef-server:v2.3 + sudo docker run --net mc_net --ip $chef_docker_ip --privileged -e CONTAINER_NAME="$1" -e SSL_PORT="$2" --name "$1" -d -v "$3"/"$1"/logs/chef-logs:/var/log -v "$3"/"$1"/logs/install-chef-out:/root -p "$2":"$2" cbuisson/chef-server:v2.3 + # Get the container's IP and add it to /etc/hosts + grep -q "$chef_docker_ip $1" /etc/hosts || echo "$chef_docker_ip $1" | sudo tee -a /etc/hosts + # Check the Chef is running + sudo scripts/check_url.sh url https://"$1":"$2" 900 + # Check if the archive containg the knife key is accessible and then download it + sudo scripts/check_url.sh file https://"$1":"$2"/knife_admin_key.tar.gz 2500 900 + sudo curl -o "$3"/"$1"/knife_admin_key.tar.gz -Ok https://"$1":"$2"/knife_admin_key.tar.gz sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y chef + # Create two .chef folders, one for the current user and one for the rundeck user knife_keys=( /var/lib/rundeck ~ ) for i in "${knife_keys[@]}" do - mkdir -p $i/.chef - cat > $i/.chef/config.rb << EOL + mkdir -p "$i"/.chef + cat > "$i"/.chef/config.rb << EOL log_level :info log_location STDOUT cache_type 'BasicFile' @@ -24,18 +31,19 @@ node_name 'admin' client_key '$i/.chef/admin.pem' chef_server_url 'https://$1:$2/organizations/my_org' EOL - sudo tar -zxf $3/$1/knife_admin_key.tar.gz -C $i/.chef/ + sudo tar -zxf "$3"/"$1"/knife_admin_key.tar.gz -C "$i"/.chef/ done + sudo chown -R rundeck. /var/lib/rundeck/.chef/ knife ssl fetch knife user list sudo su - rundeck -c "knife ssl fetch && knife user list" - sudo chown rundeck. -R $3/$1 - echo -e "\n\e[1mCreating knife keys for rundeck and $SUDO_USER users!\e[0m" + sudo chown rundeck. -R "$3"/"$1" + echo -e "\n\eCreating knife keys for rundeck and $SUDO_USER users!\e" sudo chown rundeck. -R /var/lib/rundeck/.chef/ - sudo chown $SUDO_USER. -R ~/.chef/ + sudo chown "$SUDO_USER". -R ~/.chef/ elif [[ -z "$chef_up" ]]; then echo -e "Starting $1 container\n" - sudo docker start $1 + sudo docker start "$1" else echo -e "\nThere is already a Docker container named: $1\nRemove it first and re-run that script if you want a new container!\n" fi diff --git a/scripts/install_kvm.sh b/scripts/install_kvm.sh index 259ee04..786ae3a 100755 --- a/scripts/install_kvm.sh +++ b/scripts/install_kvm.sh @@ -1,10 +1,10 @@ #!/bin/bash sudo apt-get -y install qemu-utils cloud-utils kvm libvirt-bin -sudo mkdir -p $1/{kvm_guests,lib,templates,lists,sources/{iso,cloud_images}} +sudo mkdir -p "$1"/{kvm_guests,lib,templates,lists,sources/{iso,cloud_images}} echo "Add rundeck user to libvirtd and kvm groups" sudo adduser rundeck libvirtd && sudo adduser rundeck kvm -kvm_guests=`sudo virsh list` +kvm_guests=$(sudo virsh list) if [[ -z "$kvm_guests" ]]; then echo "Restart libvirtd..." sudo systemctl restart libvirt-bin @@ -23,3 +23,8 @@ if [[ $2 == "yes" ]];then fi sudo resolvconf -u fi + +# Restart Rundeck +systemctl restart rundeckd +scripts/check_url.sh url http://"$3":4440 60 +grep -q "export LIBVIRT_DEFAULT_URI=qemu:///system" /etc/environment || echo "export LIBVIRT_DEFAULT_URI=qemu:///system" | sudo tee -a /etc/environment diff --git a/scripts/install_rundeck.sh b/scripts/install_rundeck.sh index 2fdaaf1..c203e5d 100755 --- a/scripts/install_rundeck.sh +++ b/scripts/install_rundeck.sh @@ -4,8 +4,8 @@ scripts/get_and_install.sh rundeck-cli # Get Rundeck deb and install -apt-get -y install openjdk-8-jre rundeck-cli -scripts/get_and_install.sh rundeck $2 +apt-get -y --allow-unauthenticated install openjdk-8-jre rundeck-cli +scripts/get_and_install.sh rundeck "$2" cp /etc/rundeck/rundeck-config.properties.backup /etc/rundeck/rundeck-config.properties cp /etc/rundeck/framework.properties.backup /etc/rundeck/framework.properties @@ -20,11 +20,11 @@ if [[ $3 == "mysql" ]]; then apt-get install -q -y mysql-server mysql-client libmysqlclient-dev # Setup rundeckdb scripts/get_and_install.sh "mysql-connector" - mysql -u root -p$4 -e "create database rundeckdb" - mysql -u root -p$4 -e "grant ALL on rundeckdb.* to 'rduser'@'localhost' identified by 'rdpasswd';" + mysql -u root -p"$4" -e "create database rundeckdb" + mysql -u root -p"$4" -e "grant ALL on rundeckdb.* to 'rduser'@'localhost' identified by 'rdpasswd';" sed -i "s,jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true,jdbc:mysql://localhost/rundeckdb?autoReconnect=true,g" /etc/rundeck/rundeck-config.properties echo -e "dataSource.username=rduser\ndataSource.password=rdpasswd" >> /etc/rundeck/rundeck-config.properties -elif [[ $3 == "postgres" ]]; then +elif [[ "$3" == "postgres" ]]; then apt-get -y install postgresql libpq-dev su - postgres -c "createuser pguser -s" echo -e "local all postgres peer\nlocal all pguser trust\nlocal all all peer\nhost all all 127.0.0.1/32 md5" | sudo tee /etc/postgresql/9.5/main/pg_hba.conf @@ -35,11 +35,11 @@ else fi # Configure Rundeck -sed -i s,localhost,$1,g /etc/rundeck/framework.properties +sed -i s,localhost,"$1",g /etc/rundeck/framework.properties sed -i "s,grails.serverURL=http://localhost:4440,grails.serverURL=http://$1:4440,g" /etc/rundeck/rundeck-config.properties -hostname=`hostname` +hostname=$(hostname) grep -q "$1 $hostname" /etc/hosts || echo "$1 $hostname" | sudo tee -a /etc/hosts -sed -i s,"/var/lib/rundeck:/bin/false","/var/lib/rundeck:/bin/bash",g /etc/passwd +sed -i "s,/var/lib/rundeck:/bin/false,/var/lib/rundeck:/bin/bash,g" /etc/passwd chown rundeck. /var/lib/rundeck ls /var/lib/rundeck/.ssh || sudo su rundeck -c "echo -e \"\n\" | ssh-keygen -t rsa -N \"\"" mkdir /var/lib/rundeck/.rd @@ -47,7 +47,6 @@ echo -e "export RD_URL=http://$1:4440\nexport RD_USER=admin\nexport RD_PASSWORD= chown -R rundeck. /var/lib/rundeck/.rd echo "rundeck ALL=NOPASSWD: /bin/systemctl reload bind9" > /etc/sudoers.d/rundeck chmod 440 /etc/sudoers.d/rundeck -rundeck_url=`sudo cat /etc/rundeck/framework.properties |grep framework.server.url |awk '{print $3}'`.chomp systemctl enable rundeckd systemctl restart rundeckd -scripts/check_url.sh http://$1:4440 60 +scripts/check_url.sh url http://"$1":4440 60 diff --git a/scripts/menu_chef.rb b/scripts/menu_chef.rb index b3b7af5..5ba374e 100644 --- a/scripts/menu_chef.rb +++ b/scripts/menu_chef.rb @@ -8,12 +8,15 @@ def chef_menu case gets.strip when "1", "y" vars= {"chef_server_container_name" => CHEF_SERVER_CONTAINER_NAME, + "chef_server_container_ip" => CHEF_SERVER_CONTAINER_IP, + "chef_rundeck_container_name" => CHEF_RUNDECK_CONTAINER_NAME, + "chef_rundeck_container_ip" => CHEF_RUNDECK_CONTAINER_IP, "docker_folder" => DOCKER_FOLDER } vars=check_vars(vars) system("sudo scripts/install_docker.sh #{DOCKER_FOLDER}") get_ip_host - system("scripts/install_docker_chef-server.sh #{CHEF_SERVER_CONTAINER_NAME} #{CHEF_PORT} #{DOCKER_FOLDER}") + system("scripts/install_docker_chef-server.sh #{CHEF_SERVER_CONTAINER_NAME} #{CHEF_PORT} #{DOCKER_FOLDER} #{CHEF_SERVER_CONTAINER_IP}") generate_rundeck_job chef_rundeck self.class.const_set(:INSTALL_CHEF, "yes") @@ -36,19 +39,10 @@ def generate_rundeck_job end def chef_rundeck - unless `ps aux |grep -v grep |grep chef-rundeck` != "" - puts "Setting up chef-rundeck".bold + unless `sudo docker ps |grep chef-rundeck` != "" + puts "Setting up chef-rundeck container".bold dir=File.expand_path(File.dirname(__FILE__)) - system("#{dir}/../scripts/get_and_install.sh \"chef-rundeck\"") - template = ERB.new(File.read("scripts/templates/chef-rundeck.service.erb")) - xml_content = template.result(binding) - File.open("/etc/systemd/system/chef-rundeck.service", "w") do |file| - file.puts xml_content - end - system("sudo systemctl daemon-reload") - system("sudo systemctl enable chef-rundeck") - puts "\nStarting chef-rundeck...".bold - system("sudo systemctl start chef-rundeck") + system("scripts/install_docker_chef-rundeck.sh #{CHEF_RUNDECK_CONTAINER_NAME} #{CHEF_RUNDECK_CONTAINER_IP} #{CHEF_SERVER_CONTAINER_IP}") else puts "Chef-Rundeck already installed/configured and running. Skipping...".bold end diff --git a/scripts/menu_main.rb b/scripts/menu_main.rb index efe8370..b634b98 100644 --- a/scripts/menu_main.rb +++ b/scripts/menu_main.rb @@ -58,9 +58,9 @@ def main_menu "bind9" => BIND9} vars=check_vars(vars) self.class.const_set(:FLOATING, "no") - system("sudo scripts/install_kvm.sh #{KVM_FOLDER} #{BIND9}") - get_rundeck_key get_ip_host + system("sudo scripts/install_kvm.sh #{KVM_FOLDER} #{BIND9} #{IP_HOST}") + get_rundeck_key generate_scripts BACKEND, DATABASE_NAME, DB_KVM_TABLE, MYSQL_PASSWORD, KVM_FOLDER, SSH_KEYS, FLOATING, RUNDECK_KEY, BIND9, IP_HOST setup_kvm_db BACKEND, DATABASE_NAME, DB_KVM_TABLE, MYSQL_PASSWORD get_first_cloud_image KVM_FOLDER, FIRST_IMAGE_SOURCE @@ -71,6 +71,12 @@ def main_menu end system("sudo chown -R rundeck. #{KVM_FOLDER}") when "2" + # Check if there is a bridge inteface br0 + br = `ifconfig |grep -w br0` + if br.empty? + puts "Please create a bridge interface in order to use floating IPs!".red + exit 1 + end files=["generate_scripts-floating.rb", "chef_generate_scripts.rb", "setup_db.rb", "get_first_cloud_image.rb"] files.each do |file| require_relative "../kvm/#{file}" @@ -87,10 +93,11 @@ def main_menu "ssh_keys" => SSH_KEYS, "bind9" => BIND9} vars=check_vars(vars) + # Check if the START_IP, END_IP, GATEWAY_IP variables are loaded ips = [START_IP, END_IP, GATEWAY_IP] ips.each do |ip| begin - ipaddress=IPAddr.new ip.to_s + IPAddr.new(ip) rescue puts "IP (#{ip}) is not valid or nil!\nStopping now...".red exit 1 @@ -103,9 +110,9 @@ def main_menu exit 1 end self.class.const_set(:FLOATING, "yes") - system("sudo scripts/install_kvm.sh #{KVM_FOLDER} #{BACKEND} #{MYSQL_PASSWORD} #{BIND9}") - get_rundeck_key get_ip_host + system("sudo scripts/install_kvm.sh #{KVM_FOLDER} #{BIND9} #{IP_HOST}") + get_rundeck_key generate_scripts BACKEND, DATABASE_NAME, DB_KVM_TABLE, MYSQL_PASSWORD, KVM_FOLDER, START_IP, END_IP, GATEWAY_IP, SSH_KEYS, FLOATING, RUNDECK_KEY, BIND9, IP_HOST setup_kvm_db BACKEND, DATABASE_NAME, DB_KVM_TABLE, MYSQL_PASSWORD get_first_cloud_image KVM_FOLDER, FIRST_IMAGE_SOURCE @@ -134,7 +141,7 @@ def main_menu def get_ip_host ip_host=`sudo scripts/get_interface_ip.rb #{CLOUD_SERVER} #{INTERFACE_OUT}`.chomp begin - ip_local=IPAddr.new ip_host + IPAddr.new(ip_host) self.class.const_set(:IP_HOST, ip_host) rescue puts "Host IP (#{ip_host}) is not valid or nil!\nStopping now...".red @@ -149,7 +156,7 @@ def bundle_install(gem) File.open("Gemfile", "w") do |file| file.puts xml_content end - system("su #{ENV['SUDO_USER']} -c 'bundle install'") + system("bundle install") end def check_vars(variables) @@ -197,6 +204,7 @@ def install_bind9(install, floating) system("sudo adduser rundeck bind") system("sudo chmod 775 /etc/bind/") system("sudo chown rundeck:bind /etc/bind/db.local") + system("sudo touch /etc/bind/db.1XX && sudo chown rundeck:bind /etc/bind/db.1XX") system("sudo systemctl restart bind9") end end diff --git a/vars b/vars index 4c597e4..f87d1c8 100644 --- a/vars +++ b/vars @@ -41,4 +41,7 @@ GATEWAY_IP="" #Docker variable #--------------- CHEF_SERVER_CONTAINER_NAME="chef-server" +CHEF_SERVER_CONTAINER_IP="172.18.0.10" CHEF_PORT="443" +CHEF_RUNDECK_CONTAINER_NAME="chef-rundeck" +CHEF_RUNDECK_CONTAINER_IP="172.18.0.20"