Skip to content

Commit a36574f

Browse files
committed
vagrant build updated
1 parent 2b60ff1 commit a36574f

File tree

12 files changed

+220
-3
lines changed

12 files changed

+220
-3
lines changed

vm/build/vagrant/ubuntu-trusty/Makefile

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
include settings
2+
13
dummy:
24
@echo dummy
35

@@ -23,14 +25,67 @@ reload_provision:
2325
vagrant reload --provision
2426

2527
build:
28+
@make clean
29+
./generate_build_details
2630
./pre-build/build-seldon-projects
27-
@rm -rfv install-deps
2831
cp -Rv ../../install-deps install-deps
29-
vagrant destroy -f
3032
make start_env
31-
##vagrant ssh -c '/vagrant/install-deps.sh'
33+
./update_vm
34+
@make package
35+
@make install_box
3236

3337
clean:
3438
vagrant destroy -f
39+
@rm -rfv pre-build/seldon-server-*.war
40+
@rm -rfv pre-build/seldon-spark-*-with-dependencies.jar
3541
@rm -rfv install-deps
42+
rm -fv $(VMBOX_NAME).box
43+
rm -fv $(VMBOX_NAME).box.sha256
44+
rm -fv ${VMBOX_NAME}_vagrant.json
45+
rm -fv end-user-files/Vagrantfile
46+
rm -fv build-details.txt
47+
48+
setup_for_seldontestvm:
49+
@cp -v settings.seldontestvm settings
50+
@cp -v update_vm.seldontestvm update_vm
51+
52+
setup_for_seldonvm:
53+
@cp -v settings.seldonvm settings
54+
@cp -v update_vm.seldonvm update_vm
55+
56+
package:
57+
rm -fv $(VMBOX_NAME).box
58+
vagrant package --output $(VMBOX_NAME).box
59+
cat $(VMBOX_NAME).box|shasum -b -a 256 > $(VMBOX_NAME).box.sha256
60+
./generate_end_user_vagrant_file
61+
./generate_vagrant_json
62+
63+
remove_box:
64+
vagrant box remove $(VMBOX_NAME) || :
65+
vagrant box list
66+
67+
install_box:
68+
@make remove_box
69+
vagrant box add --name $(VMBOX_NAME) $(VMBOX_NAME).box
70+
vagrant box list
71+
72+
show_details:
73+
@echo "VMBOX_NAME[$(VMBOX_NAME)]"
74+
@echo "VMBOX_VERSION[$(VMBOX_VERSION)]"
75+
@echo "VMBOX_DESCRIPTION[$(VMBOX_DESCRIPTION)]"
76+
@echo "VMBOX_S3_BUCKET[$(VMBOX_S3_BUCKET)]"
77+
@echo "VMBOX_URL_HOST[$(VMBOX_URL_HOST)]"
78+
@echo "VMBOX_URL_DIR[$(VMBOX_URL_DIR)]"
79+
@echo "VMBOX_URL[$(VMBOX_URL)]"
80+
81+
upload_to_s3:
82+
aws s3 cp $(VMBOX_NAME)_vagrant.json s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/$(VMBOX_VERSION)/ --acl public-read
83+
aws s3 cp build-details.txt s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/$(VMBOX_VERSION)/ --acl public-read
84+
aws s3 cp $(VMBOX_NAME).box s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/$(VMBOX_VERSION)/ --acl public-read
85+
make publish_as_latest
86+
87+
publish_as_latest:
88+
aws s3 cp $(VMBOX_NAME)_vagrant.json s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/ --acl public-read
89+
aws s3 cp build-details.txt s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/ --acl public-read
90+
aws s3 cp end-user-files/Vagrantfile s3://$(VMBOX_S3_BUCKET)/$(VMBOX_NAME)/ --acl public-read
3691

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
2+
VAGRANTFILE_API_VERSION = "2"
3+
4+
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
5+
config.vm.box = "%VMBOX_NAME%"
6+
config.vm.box_url = "http://%VMBOX_S3_BUCKET%/%VMBOX_NAME%/%VMBOX_NAME%_vagrant.json"
7+
config.vm.network "forwarded_port", guest: 8080, host: 8080
8+
9+
config.vm.provider "virtualbox" do |vb|
10+
# Use VBoxManage to customize the VM. For example to change memory:
11+
vb.customize ["modifyvm", :id, "--memory", "4096"]
12+
end
13+
14+
end
15+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
6+
STARTUP_DIR="$( cd "$( dirname "$0" )" && pwd )"
7+
8+
source ${STARTUP_DIR}/settings
9+
10+
echo "--- generating build-details.txt ---"
11+
12+
build_details() {
13+
TIMESTAMP=`date +"%Y%m%d_%H%M%S"`
14+
echo "name[$VMBOX_NAME]"
15+
echo "version[$VMBOX_VERSION]"
16+
echo "revision[`git rev-parse HEAD`]"
17+
echo "build[$TIMESTAMP]"
18+
}
19+
20+
build_details > ${STARTUP_DIR}/build-details.txt
21+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
6+
STARTUP_DIR="$( cd "$( dirname "$0" )" && pwd )"
7+
8+
source ${STARTUP_DIR}/settings
9+
10+
echo "--- generating end-user Vagrantfile ---"
11+
12+
END_USER_FILES_DIR=${STARTUP_DIR}/end-user-files
13+
14+
cat ${END_USER_FILES_DIR}/Vagrantfile.template | sed \
15+
-e "s|%VMBOX_NAME%|${VMBOX_NAME}|g" \
16+
-e "s|%VMBOX_S3_BUCKET%|${VMBOX_S3_BUCKET}|g" \
17+
| tee ${END_USER_FILES_DIR}/Vagrantfile
18+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
6+
STARTUP_DIR="$( cd "$( dirname "$0" )" && pwd )"
7+
8+
source ${STARTUP_DIR}/settings
9+
10+
echo "--- generating vagrant json ---"
11+
12+
VMBOX_CHECKSUM=CHECKSUM_UNKOWN
13+
VMBOX_CHECKSUMTYPE=CHECKSUMTYPE_UNKOWN
14+
CHECKSUM_FILE=${STARTUP_DIR}/${VMBOX_NAME}.box.sha256
15+
if [ -f "${CHECKSUM_FILE}" ]; then
16+
VMBOX_CHECKSUM=$(cat ${CHECKSUM_FILE}|awk '{print $1}')
17+
VMBOX_CHECKSUMTYPE=sha256
18+
fi
19+
20+
VMBOX_DESCRIPTION="${VMBOX_DESCRIPTION}; build[$(date)]"
21+
22+
cat ${STARTUP_DIR}/vm_vagrant.json.template | sed \
23+
-e "s|%VMBOX_NAME%|${VMBOX_NAME}|g" \
24+
-e "s|%VMBOX_VERSION%|${VMBOX_VERSION}|g" \
25+
-e "s|%VMBOX_DESCRIPTION%|${VMBOX_DESCRIPTION}|g" \
26+
-e "s|%VMBOX_CHECKSUM%|${VMBOX_CHECKSUM}|g" \
27+
-e "s|%VMBOX_CHECKSUMTYPE%|${VMBOX_CHECKSUMTYPE}|g" \
28+
-e "s|%VMBOX_URL%|${VMBOX_URL}|g" \
29+
| tee ${VMBOX_NAME}_vagrant.json
30+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
VMBOX_NAME="seldontestvm"
2+
VMBOX_VERSION="0.93"
3+
VMBOX_DESCRIPTION="Seldon Test VM"
4+
VMBOX_S3_BUCKET="static.seldon.io"
5+
VMBOX_URL_HOST="http://${VMBOX_S3_BUCKET}"
6+
VMBOX_URL_DIR="${VMBOX_NAME}"
7+
VMBOX_URL="${VMBOX_URL_HOST}/${VMBOX_URL_DIR}/${VMBOX_VERSION}/${VMBOX_NAME}.box"
8+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
VMBOX_NAME="seldontestvm"
2+
VMBOX_VERSION="0.93"
3+
VMBOX_DESCRIPTION="Seldon Test VM"
4+
VMBOX_S3_BUCKET="static.seldon.io"
5+
VMBOX_URL_HOST="http://${VMBOX_S3_BUCKET}"
6+
VMBOX_URL_DIR="${VMBOX_NAME}"
7+
VMBOX_URL="${VMBOX_URL_HOST}/${VMBOX_URL_DIR}/${VMBOX_VERSION}/${VMBOX_NAME}.box"
8+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
VMBOX_NAME="seldonvm"
2+
VMBOX_VERSION="0.93"
3+
VMBOX_DESCRIPTION="Seldon VM"
4+
VMBOX_S3_BUCKET="static.seldon.io"
5+
VMBOX_URL_HOST="http://${VMBOX_S3_BUCKET}"
6+
VMBOX_URL_DIR="${VMBOX_NAME}"
7+
VMBOX_URL="${VMBOX_URL_HOST}/${VMBOX_URL_DIR}/${VMBOX_VERSION}/${VMBOX_NAME}.box"
8+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
6+
STARTUP_DIR="$( cd "$( dirname "$0" )" && pwd )"
7+
8+
echo "--- Updating VM ---"
9+
10+
vagrant ssh -c 'cp /vagrant/build-details.txt ~/'
11+
vagrant ssh -c '/vagrant/install-deps.sh'
12+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
6+
STARTUP_DIR="$( cd "$( dirname "$0" )" && pwd )"
7+
8+
echo "--- Updating VM ---"
9+
10+
vagrant ssh -c 'cp /vagrant/build-details.txt ~/'
11+
vagrant ssh -c '/vagrant/install-deps.sh'
12+

0 commit comments

Comments
 (0)