Skip to content

Commit d78d02f

Browse files
author
Tim Pouyer
committed
Install docker and docker-compose
In-progress kuryr integration
1 parent 3825e8e commit d78d02f

File tree

4 files changed

+133
-12
lines changed

4 files changed

+133
-12
lines changed

lxc-cloud-images/import-images.sh

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
echo "downloading trusty-server-cloudimg-amd64-root.tar.xz image archive for import"
3-
wget -nv https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.xz
3+
wget -Nv https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.xz
44
glance image-create --name 'ubuntu-1404-server-cloudimg-amd64' \
55
--container-format bare \
66
--disk-format raw \
@@ -13,7 +13,7 @@ glance image-create --name 'ubuntu-1404-server-cloudimg-amd64' \
1313
--property vm_mode=exe < trusty-server-cloudimg-amd64-root.tar.xz
1414

1515
echo "downloading xenial-server-cloudimg-amd64-root.tar.xz image archive for import"
16-
wget -nv https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.xz
16+
wget -Nv https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.xz
1717
glance image-create --name 'ubuntu-1604-server-cloudimg-amd64' \
1818
--container-format bare \
1919
--disk-format raw \
@@ -25,13 +25,15 @@ glance image-create --name 'ubuntu-1604-server-cloudimg-amd64' \
2525
--property os_version=16.04 \
2626
--property vm_mode=exe < xenial-server-cloudimg-amd64-root.tar.xz
2727

28-
# glance image-create --name 'centos-6-amd64' \
29-
# --container-format bare \
30-
# --disk-format raw \
31-
# --visibility public \
32-
# --min-disk 1 \
33-
# --property architecture=x86_64 \
34-
# --property hypervisor_type=lxc \
35-
# --property os_distro=centos \
36-
# --property os_version=6 \
37-
# --property vm_mode=exe < centos-6-amd64-root.tar.gz
28+
echo "downloading xenial-server-cloudimg-amd64-heat-cfntools-root.tar.xz image archive for import"
29+
#wget -Nv https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.xz
30+
glance image-create --name 'ubuntu-1604-server-cloudimg-amd64-heat-cfntools' \
31+
--container-format bare \
32+
--disk-format raw \
33+
--visibility public \
34+
--min-disk 1 \
35+
--property architecture=x86_64 \
36+
--property hypervisor_type=lxc \
37+
--property os_distro=ubuntu \
38+
--property os_version=16.04 \
39+
--property vm_mode=exe < ubuntu-1604-amd64-heat-cfntools.tar.xz

scripts/docker/docker-cleanup.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/sh
2+
# Cleanup docker files: untagged containers and images.
3+
#
4+
# Use `docker-cleanup -n` for a dry run to see what would be deleted.
5+
6+
untagged_containers() {
7+
# Print containers using untagged images: $1 is used with awk's print: 0=line, 1=column 1.
8+
# NOTE: "[0-9a-f]{12}" does not work with GNU Awk 3.1.7 (RHEL6).
9+
# Ref: https://github.com/blueyed/dotfiles/commit/a14f0b4b#commitcomment-6736470
10+
docker ps -a | tail -n +2 | awk '$2 ~ "^[0-9a-f]+$" {print $'$1'}'
11+
}
12+
13+
untagged_images() {
14+
# Print untagged images: $1 is used with awk's print: 0=line, 3=column 3.
15+
# NOTE: intermediate images (via -a) seem to only cause
16+
# "Error: Conflict, foobarid wasn't deleted" messages.
17+
# Might be useful sometimes when Docker messed things up?!
18+
# docker images -a | awk '$1 == "<none>" {print $'$1'}'
19+
docker images | tail -n +2 | awk '$1 == "<none>" {print $'$1'}'
20+
}
21+
22+
# Dry-run.
23+
if [ "$1" = "-n" ]; then
24+
echo "=== Containers with uncommitted images: ==="
25+
untagged_containers 0
26+
echo
27+
echo "=== Uncommitted images: ==="
28+
untagged_images 0
29+
exit
30+
fi
31+
if [ -n "$1" ]; then
32+
echo "Cleanup docker files: remove untagged containers and images."
33+
echo "Usage: ${0##*/} [-n]"
34+
echo " -n: dry run: display what would get removed."
35+
exit 1
36+
fi
37+
38+
# Remove containers with untagged images.
39+
echo "Removing containers:" >&2
40+
untagged_containers 1 | xargs --no-run-if-empty docker rm --volumes=true
41+
42+
# Remove untagged images
43+
echo "Removing images:" >&2
44+
untagged_images 3 | xargs --no-run-if-empty docker rmi

scripts/stackinabox/init.sh

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,78 @@ sudo cp /vagrant/scripts/stackinabox/devstack /etc/init.d/devstack
177177
sudo chmod +x /etc/init.d/devstack
178178
sudo update-rc.d devstack start 98 2 3 4 5 . stop 02 0 1 6 .
179179

180+
# Script only works if sudo caches the password for a few minutes
181+
sudo true
182+
183+
# Install kernel extra's to enable docker aufs support
184+
sudo apt-get -y install linux-image-extra-$(uname -r)
185+
186+
# install docker
187+
wget -qO- https://get.docker.com/ | sh
188+
189+
# Install docker-compose
190+
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oP "[0-9]+\.[0-9]+\.[0-9]+$" | tail -n 1`
191+
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
192+
sudo chmod +x /usr/local/bin/docker-compose
193+
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
194+
195+
# Install docker-cleanup command
196+
sudo cp /vagrant/scripts/docker/docker-cleanup.sh /usr/local/bin/docker-cleanup
197+
sudo chmod +x /usr/local/bin/docker-cleanup
198+
199+
# add vagrant user to docker group
200+
sudo usermod -aG docker vagrant
201+
202+
# install kuryr
203+
# sudo git clone https://git.openstack.org/openstack/kuryr.git /opt/stack/kuryr
204+
# cd /opt/stack/kuryr
205+
# sudo pip install -r requirements.txt
206+
207+
# # install kuryr-libnetwork driver
208+
# sudo git clone https://git.openstack.org/openstack/kuryr-libnetwork /opt/stack/kuryr-libnetwork
209+
# cd /opt/stack/kuryr-libnetwork
210+
# sudo pip install -r requirements.txt
211+
# sudo pip install .
212+
213+
# # configure kuryr
214+
# cd /opt/stack/kuryr-libnetwork
215+
# sudo pip install -U tox
216+
# cd /opt/stack/kuryr
217+
# sudo tox -e genconfig
218+
# sudo mkdir -p /etc/kuryr
219+
# sudo cp etc/kuryr.conf.sample /etc/kuryr/kuryr.conf
220+
# sudo sed -i 's|#bindir = /usr/libexec/kuryr|bindir = /usr/local/libexec/kuryr|g' /etc/kuryr/kuryr.conf
221+
# sudo set -i 's|#auth_uri = http://127.0.0.1:35357/v2.0|auth_uri = http://127.0.0.1:35357/v2.0|g' /etc/kuryr/kuryr.conf
222+
# sudo set -i 's|#admin_user = <None>|admin_user = admin|g' /etc/kuryr/kuryr.conf
223+
# sudo set -i 's|#admin_password = <None>|admin_password = labstack|g' /etc/kuryr/kuryr.conf
224+
# sudo set -i 's|#admin_tenant_name = <None>|admin_tenant_name = admin|g' /etc/kuryr/kuryr.conf
225+
# cd /opt/kuryr-libnetwork
226+
# sudo pip install -U flask
227+
# sudo /opt/stack/kuryr-libnetwork/scripts/run_kuryr.sh >> /opt/stack/logs/kuryr-libnetwork.log 2>&1 &
228+
229+
# install 'shellinabox' to make using this image on windows easier
230+
#shellinabox will be available at http://192.168.27.100:4200
231+
sudo apt-get install -y shellinabox
232+
sudo sed -i 's/--no-beep/--no-beep --disable-ssl/g' /etc/default/shellinabox
233+
sudo /etc/init.d/shellinabox restart
234+
235+
# install java (for use with udclient)
236+
cd /tmp
237+
wget http://artifacts.stackinabox.io/ibm/java-jre/latest.txt
238+
ARTIFACT_VERSION=$(cat latest.txt)
239+
ARTIFACT_DOWNLOAD_URL=http://artifacts.stackinabox.io/ibm/java-jre/$ARTIFACT_VERSION/ibm-java-jre-$ARTIFACT_VERSION-linux-x86_64.tgz
240+
241+
sudo mkdir -p /opt/java
242+
sudo wget $ARTIFACT_DOWNLOAD_URL
243+
sudo tar -zxf ibm-java-jre-$ARTIFACT_VERSION-linux-x86_64.tgz -C /opt/java/
244+
sudo touch /etc/profile.d/java_home.sh
245+
sudo bash -c 'cat >> /etc/profile.d/java_home.sh' <<'EOF'
246+
export JAVA_HOME=/opt/java/ibm-java-x86_64-71/jre
247+
export PATH=$JAVA_HOME/bin:$PATH
248+
EOF
249+
sudo chmod 755 /etc/profile.d/java_home.sh
250+
sudo rm -f /tmp/ibm-java-jre-$ARTIFACT_VERSION-linux-x86_64.tgz
251+
180252
cp /vagrant/scripts/stackinabox/admin-openrc.sh /home/vagrant
181253
cp /vagrant/scripts/stackinabox/demo-openrc.sh /home/vagrant
182254
cp /vagrant/scripts/stackinabox/openrc /home/vagrant

scripts/stackinabox/stack-noscreenrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,6 @@
5757
# /usr/local/bin/designate-pool-manager --config-file=/etc/designate/designate.conf >> /opt/stack/logs/designate-pool-manager.log 2>&1 &
5858

5959
# /usr/local/bin/designate-mdns --config-file=/etc/designate/designate.conf >> /opt/stack/logs/designate-mdns.log 2>&1 &
60+
61+
# cd /opt/stack/kuryr-libnetwork
62+
# ./scripts/run_kuryr.sh >> /opt/stack/logs/kuryr-libnetwork.log 2>&1 &

0 commit comments

Comments
 (0)