Remove Docker related code
We got rid of using docker containers on the master node. Now we deploy all Fuel service directly on the host. Implements blueprint: get-rid-docker-containers Change-Id: Ie636d33d091a95fb0ff8fbd71e49cbccf1cb34fa
This commit is contained in:
1
Makefile
1
Makefile
@@ -69,6 +69,5 @@ include $(SOURCE_DIR)/sandbox.mk
|
||||
include $(SOURCE_DIR)/repos.mk
|
||||
include $(SOURCE_DIR)/mirror/module.mk
|
||||
include $(SOURCE_DIR)/packages/module.mk
|
||||
include $(SOURCE_DIR)/docker/module.mk
|
||||
include $(SOURCE_DIR)/iso/module.mk
|
||||
include $(SOURCE_DIR)/virtualbox.mk
|
||||
|
||||
@@ -4,10 +4,6 @@ FUEL
|
||||
This git repository contains Fuel ISO build scripts.
|
||||
|
||||
Directory structure:
|
||||
- ```docker```
|
||||
Scripts for building Docker containers are located. The Fuel
|
||||
master node is deployed using Docker. Every Fuel major component like Nailgun, Astute,
|
||||
Cobbler, Mcollective, etc. is installed as a separate Docker container.
|
||||
- ```fuel-bootstrap-image```
|
||||
Scripts which allow us to build Ubuntu based bootstrap ramdisk on the
|
||||
Fuel master node in runtime. The status of this ramdisk is experimental.
|
||||
|
||||
16
config.mk
16
config.mk
@@ -30,7 +30,6 @@ FUEL_LIBRARY_VERSION?=9.0
|
||||
# Artifacts names
|
||||
ISO_NAME?=fuel-$(PRODUCT_VERSION)
|
||||
VBOX_SCRIPTS_NAME?=vbox-scripts-$(PRODUCT_VERSION)
|
||||
DOCKER_ART_NAME?=fuel-images.tar.lrz
|
||||
|
||||
# Where we put artifacts
|
||||
ISO_PATH:=$(ARTS_DIR)/$(ISO_NAME).iso
|
||||
@@ -128,8 +127,6 @@ LOCAL_MIRROR_MOS_CENTOS:=$(LOCAL_MIRROR)/mos-centos
|
||||
LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_MOS_CENTOS)
|
||||
LOCAL_MIRROR_UBUNTU:=$(LOCAL_MIRROR)/ubuntu
|
||||
LOCAL_MIRROR_UBUNTU_OS_BASEURL:=$(LOCAL_MIRROR_UBUNTU)
|
||||
LOCAL_MIRROR_DOCKER:=$(LOCAL_MIRROR)/docker
|
||||
LOCAL_MIRROR_DOCKER_BASEURL:=$(LOCAL_MIRROR_DOCKER)
|
||||
|
||||
# Use download.mirantis.com mirror by default. Other possible values are
|
||||
# 'msk', 'srt', 'usa', 'hrk', 'cz'
|
||||
@@ -144,42 +141,36 @@ MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS)
|
||||
SANDBOX_MIRROR_CENTOS_UPSTREAM?=$(MIRROR_CENTOS)
|
||||
MIRROR_UBUNTU?=mirror.fuel-infra.org
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://mirror.fuel-infra.org/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MIRROR),srt)
|
||||
MIRROR_FUEL?=http://osci-mirror-srt.srt.mirantis.net/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/
|
||||
MIRROR_UBUNTU?=osci-mirror-srt.srt.mirantis.net
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://osci-mirror-srt.srt.mirantis.net/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MIRROR),msk)
|
||||
MIRROR_FUEL?=http://osci-mirror-msk.msk.mirantis.net/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/
|
||||
MIRROR_UBUNTU?=osci-mirror-msk.msk.mirantis.net
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://osci-mirror-msk.msk.mirantis.net/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MIRROR),hrk)
|
||||
MIRROR_FUEL?=http://osci-mirror-kha.kha.mirantis.net/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/
|
||||
MIRROR_UBUNTU?=osci-mirror-kha.kha.mirantis.net
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://osci-mirror-kha.kha.mirantis.net/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MIRROR),usa)
|
||||
MIRROR_FUEL?=http://mirror.seed-us1.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/
|
||||
MIRROR_UBUNTU?=mirror.seed-us1.fuel-infra.org
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://mirror.seed-us1.fuel-infra.org/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MIRROR),cz)
|
||||
MIRROR_FUEL?=http://mirror.seed-cz1.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/
|
||||
MIRROR_UBUNTU?=mirror.seed-cz1.fuel-infra.org
|
||||
MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU)
|
||||
MIRROR_DOCKER?=http://mirror.seed-cz1.fuel-infra.org/docker/$(PRODUCT_VERSION)
|
||||
endif
|
||||
|
||||
# Which repositories to use for making local centos mirror.
|
||||
@@ -202,10 +193,6 @@ MIRROR_MOS_UBUNTU?=perestroika-repo-tst.infra.mirantis.net
|
||||
MIRROR_MOS_UBUNTU_ROOT?=/mos-repos/ubuntu/$(PRODUCT_VERSION)
|
||||
MIRROR_MOS_UBUNTU_SUITE?=$(PRODUCT_NAME)$(PRODUCT_VERSION)
|
||||
MIRROR_MOS_UBUNTU_SECTION?=main restricted
|
||||
# NOTE(kozhukalov): We are getting rid of staging mirrors (FWM) which are built using 'make mirror' command.
|
||||
# But we still need a place where we can download docker base images. They are quite stable
|
||||
# and we just put them manually under this URL.
|
||||
MIRROR_DOCKER?=http://mirror.fuel-infra.org/docker/$(PRODUCT_VERSION)
|
||||
|
||||
# MIRROR_FUEL affects build process only if YUM_REPOS variable contains 'fuel'.
|
||||
# Otherwise it is ignored entirely.
|
||||
@@ -222,9 +209,6 @@ comma:=,
|
||||
# Path to yaml configuration file to build ISO ks.cfg
|
||||
KSYAML?=$(SOURCE_DIR)/iso/ks.yaml
|
||||
|
||||
# Production variable (prod, dev, docker)
|
||||
PRODUCTION?=docker
|
||||
|
||||
# Copy local /etc/ssl certs inside SANDBOX, which used for build deb mirror and packages.
|
||||
# This option should be enabled, in case you have to pass https repos for Ubuntu.
|
||||
SANDBOX_COPY_CERTS?=0
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel/astute
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
VOLUME ["/etc/astute"]
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
packages="psmisc python-editor nailgun-mcagents sysstat "
|
||||
packages+="rubygem-amqp rubygem-amq-protocol rubygem-i18n rubygem-tzinfo "
|
||||
packages+="rubygem-minitest rubygem-symboltable "
|
||||
packages+="rubygem-thread_safe fuel-agent"
|
||||
|
||||
echo $packages | xargs -n1 yum install -y
|
||||
|
||||
#FIXME(dteselkin): use correct versions of rubygem packages
|
||||
sed -i '/amq-protocol/ s/~>/>=/' /usr/share/gems/specifications/amqp-*.gemspec
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/astute-only.pp || [[ $? == 2 ]]
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
mkdir -p /var/log/astute
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/astute.log \
|
||||
/etc/puppet/modules/nailgun/examples/astute-only.pp
|
||||
@@ -1,22 +0,0 @@
|
||||
# fuel-cobbler
|
||||
#
|
||||
# Version 0.1
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 53 53/udp 67 67/udp 69/udp 80 443
|
||||
|
||||
VOLUME /etc/cobbler
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
|
||||
ln -s /etc/dnsmasq.conf /etc/cobbler.dnsmasq.conf
|
||||
|
||||
packages="httpd cobbler dnsmasq xinetd tftp-server"
|
||||
echo $packages | xargs -n1 yum install -y
|
||||
|
||||
|
||||
mkdir -p /etc/systemd/system/{httpd,cobblerd,tftp,dnsmasq,xinetd}.service.d/
|
||||
for srv in httpd cobblerd tftp dnsmasq xinetd; do
|
||||
cat << EOF > /etc/systemd/system/${srv}.service.d/restart.conf
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
EOF
|
||||
done
|
||||
|
||||
systemctl enable httpd.service \
|
||||
cobblerd.service \
|
||||
tftp.service \
|
||||
dnsmasq.service \
|
||||
xinetd.service
|
||||
|
||||
|
||||
#Workaround for dnsmasq startup and create blank SSH key during build
|
||||
cat << EOF > /etc/sysconfig/network
|
||||
NETWORKING=yes
|
||||
HOSTNAME=$HOSTNAME
|
||||
EOF
|
||||
|
||||
mkdir -p /root/.ssh
|
||||
chmod 700 /root/.ssh
|
||||
touch /root/.ssh/id_rsa.pub
|
||||
systemctl restart httpd.service
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/cobbler-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
mkdir -p /var/log/cobbler/{anamon,kicklog,syslog,tasks}
|
||||
|
||||
# reset authorized_keys file so puppet can a write new one
|
||||
rm -f /etc/cobbler/authorized_keys
|
||||
|
||||
# Because /var/lib/cobbler is mounted as a volume, reinstall if its files are
|
||||
# missing
|
||||
if rpm -V cobbler | grep -q missing; then
|
||||
yum reinstall -q -y cobbler
|
||||
fi
|
||||
if rpm -V cobbler-web | grep -q missing; then
|
||||
yum reinstall -q -y cobbler-web
|
||||
fi
|
||||
|
||||
|
||||
# Run puppet to apply custom config
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/cobbler.log \
|
||||
/etc/puppet/modules/nailgun/examples/cobbler-only.pp || [[ $? == 2 ]]
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/cobbler-dhcp-default-range.log \
|
||||
/etc/puppet/modules/nailgun/examples/dhcp-default-range.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
systemctl enable dnsmasq
|
||||
systemctl restart dnsmasq
|
||||
@@ -1,44 +0,0 @@
|
||||
HOSTNAME: fuel
|
||||
DNS_DOMAIN: domain.tld
|
||||
DNS_SEARCH: domain.tld
|
||||
DNS_UPSTREAM: 8.8.8.8
|
||||
NTP1: time.nist.gov
|
||||
NTP2: time-a.nist.gov
|
||||
NTP3: time-b.nist.gov
|
||||
ADMIN_NETWORK:
|
||||
interface: eth0
|
||||
ipaddress: 10.20.0.2
|
||||
netmask: 255.255.255.0
|
||||
cidr: 10.20.0.0/24
|
||||
size: '256'
|
||||
static_pool_start: 10.20.0.10
|
||||
static_pool_end: 10.20.0.120
|
||||
dhcp_pool_start: 10.20.0.130
|
||||
dhcp_pool_end: 10.20.0.254
|
||||
FUEL_ACCESS:
|
||||
user: admin
|
||||
password: admin
|
||||
uid: master
|
||||
TEST_DNS: www.google.com
|
||||
astute:
|
||||
password: naily
|
||||
user: naily
|
||||
cobbler:
|
||||
password: cobbler
|
||||
user: cobbler
|
||||
keystone:
|
||||
admin_token: admin
|
||||
mcollective:
|
||||
password: mcollective
|
||||
user: mcollective
|
||||
postgres:
|
||||
keystone_dbname: keystone
|
||||
keystone_user: keystone
|
||||
keystone_password: keystone
|
||||
nailgun_dbname: nailgun
|
||||
nailgun_user: nailgun
|
||||
nailgun_password: nailgun
|
||||
ostf_dbname: ostf
|
||||
ostf_user: ostf
|
||||
ostf_password: ostf
|
||||
PRODUCTION: docker-build
|
||||
@@ -1,33 +0,0 @@
|
||||
#fuel/centos-docker-build
|
||||
FROM centos:centos7
|
||||
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
RUN echo _CENTOS_RELEASE_ > /etc/yum/vars/releasever
|
||||
RUN _PROXY_ yum --disablerepo=* --enablerepo=C_CENTOS_RELEASE_-base --enablerepo=C_CENTOS_RELEASE_-extras --enablerepo=C_CENTOS_RELEASE_-updates -y update
|
||||
RUN yum clean all
|
||||
RUN _PROXY_ yum --disablerepo=* --enablerepo=C_CENTOS_RELEASE_-base --enablerepo=C_CENTOS_RELEASE_-extras --enablerepo=C_CENTOS_RELEASE_-updates -y install dbus
|
||||
|
||||
RUN systemctl mask dev-mqueue.mount dev-hugepages.mount \
|
||||
systemd-remount-fs.service sys-kernel-config.mount \
|
||||
sys-kernel-debug.mount sys-fs-fuse-connections.mount \
|
||||
display-manager.service graphical.target systemd-logind.service \
|
||||
firewalld.service
|
||||
|
||||
ADD dbus.service /etc/systemd/system/dbus.service
|
||||
RUN systemctl enable dbus.service
|
||||
|
||||
RUN rm -f /etc/yum.repos.d/*
|
||||
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD fuel-centos.ks /root/fuel-centos.ks
|
||||
|
||||
RUN chmod +x /usr/local/bin/start.sh
|
||||
|
||||
# Set default target
|
||||
RUN systemctl set-default multi-user.target
|
||||
|
||||
CMD ["/usr/lib/systemd/systemd"]
|
||||
@@ -1,19 +0,0 @@
|
||||
[Unit]
|
||||
Description=D-Bus System Message Bus
|
||||
Requires=dbus.socket
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
PIDFile=/var/run/messagebus.pid
|
||||
ExecStartPre=/bin/mkdir -p /var/run/dbus
|
||||
ExecStartPre=/bin/chmod g+w /var/run/ /var/run/dbus/
|
||||
ExecStart=/bin/dbus-daemon --system --fork
|
||||
ExecReload=/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
|
||||
ExecStopPost=/bin/rm -f /var/run/messagebus.pid
|
||||
#OOMScoreAdjust=-900
|
||||
User=dbus
|
||||
Group=root
|
||||
PermissionsStartOnly=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,266 +0,0 @@
|
||||
install
|
||||
#url --url=http://127.0.0.1/repo/os/x86_64/
|
||||
lang en_US.UTF-8
|
||||
keyboard uk
|
||||
network --device eth0 --bootproto dhcp
|
||||
rootpw --iscrypted $1$UKLtvLuY$kka6S665oCFmU7ivSDZzU.
|
||||
authconfig --enableshadow --passalgo=sha512 --enablefingerprint
|
||||
selinux --disabled
|
||||
timezone --utc Etc/UTC
|
||||
repo --name="Upstream CentOS" --baseurl=http://127.0.0.1/repo/os/x86_64/
|
||||
repo --name="MOS CentOS" --baseurl=http://127.0.0.1/mos-repo/
|
||||
%include /root/extra-repos.ks
|
||||
|
||||
clearpart --all --initlabel
|
||||
part / --fstype ext4 --size=2048 --grow
|
||||
reboot
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%packages --excludedocs --nobase
|
||||
@Core
|
||||
-MAKEDEV
|
||||
-aic94xx-firmware
|
||||
-atmel-firmware
|
||||
-b43-openfwwf
|
||||
-bfa-firmware
|
||||
-dhclient
|
||||
-efibootmgr
|
||||
-ethtool
|
||||
-initscripts
|
||||
-iproute
|
||||
-iptables
|
||||
-iptables-ipv6
|
||||
-iputils
|
||||
-ipw2100-firmware
|
||||
-ipw2200-firmware
|
||||
-ivtv-firmware
|
||||
-iwl100-firmware
|
||||
-iwl1000-firmware
|
||||
-iwl3945-firmware
|
||||
-iwl4965-firmware
|
||||
-iwl5000-firmware
|
||||
-iwl5150-firmware
|
||||
-iwl6000-firmware
|
||||
-iwl6000g2a-firmware
|
||||
-iwl6050-firmware
|
||||
-kbd
|
||||
-kernel-firmware
|
||||
-libertas-usb8388-firmware
|
||||
-openssh-server
|
||||
-postfix
|
||||
-policycoreutils
|
||||
-ql2100-firmware
|
||||
-ql2200-firmware
|
||||
-ql23xx-firmware
|
||||
-ql2400-firmware
|
||||
-ql2500-firmware
|
||||
-redhat-logos
|
||||
-rt61pci-firmware
|
||||
-rt73usb-firmware
|
||||
-selinux-policy
|
||||
-selinux-policy-targeted
|
||||
-upstart
|
||||
-xorg-x11-drv-ati-firmware
|
||||
-zd1211-firmware
|
||||
cronie-anacron
|
||||
bzip2
|
||||
cobbler
|
||||
cobbler-web
|
||||
cronie
|
||||
crontabs
|
||||
dnsmasq
|
||||
fence-agents
|
||||
fuel-library
|
||||
httpd
|
||||
logrotate
|
||||
nginx
|
||||
openstack-keystone
|
||||
openssh-clients
|
||||
postgresql-server
|
||||
postgresql-libs
|
||||
postgresql
|
||||
python-alembic
|
||||
python-amqplib
|
||||
python-anyjson
|
||||
python-babel
|
||||
python-ceilometerclient
|
||||
python-cinderclient
|
||||
python-crypto
|
||||
python-decorator
|
||||
python-django
|
||||
python-fabric
|
||||
python-fysom
|
||||
python-heatclient
|
||||
python-iso8601
|
||||
python-jinja2
|
||||
python-jsonschema
|
||||
python-keystoneclient
|
||||
python-keystonemiddleware
|
||||
python-kombu
|
||||
python-mako
|
||||
python-markupsafe
|
||||
python-muranoclient
|
||||
python-netaddr
|
||||
python-neutronclient
|
||||
python-netifaces
|
||||
python-novaclient
|
||||
python-oslo-config
|
||||
python-paste
|
||||
python-ply
|
||||
python-psycopg2
|
||||
python-requests
|
||||
python-saharaclient
|
||||
python-simplejson
|
||||
python-six
|
||||
python-sqlalchemy
|
||||
python-stevedore
|
||||
python-urllib3
|
||||
python-webpy
|
||||
python-wsgilog
|
||||
python-wsgiref
|
||||
PyYAML
|
||||
python-novaclient
|
||||
python-networkx-core
|
||||
pytz
|
||||
rabbitmq-server
|
||||
rsync
|
||||
mcollective
|
||||
puppet
|
||||
rubygem-activesupport
|
||||
rubygem-amqp
|
||||
rubygem-mcollective-client
|
||||
rubygem-symboltable
|
||||
rubygem-rest-client
|
||||
rubygem-raemon
|
||||
rubygem-net-ssh
|
||||
rubygem-net-ssh-gateway
|
||||
rubygem-net-ssh-multi
|
||||
screen
|
||||
send2syslog
|
||||
sudo
|
||||
supervisor
|
||||
sysstat
|
||||
tar
|
||||
tftp-server
|
||||
vim
|
||||
xinetd
|
||||
yum-plugin-priorities
|
||||
%end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%post
|
||||
# randomize root password and lock root account
|
||||
dd if=/dev/urandom count=50 | md5sum | passwd --stdin root
|
||||
passwd -l root
|
||||
|
||||
# create necessary devices
|
||||
/sbin/MAKEDEV /dev/console
|
||||
|
||||
# cleanup unwanted stuff
|
||||
|
||||
# ami-creator requires grub during the install, so we remove it (and
|
||||
# its dependencies) in %post
|
||||
rpm -e grub redhat-logos
|
||||
rm -rf /boot
|
||||
|
||||
# some packages get installed even though we ask for them not to be,
|
||||
# and they don't have any external dependencies that should make
|
||||
# anaconda install them
|
||||
rpm -e MAKEDEV ethtool upstart iputils policycoreutils iptables \
|
||||
iproute
|
||||
|
||||
# Remove files that are known to take up lots of space but leave
|
||||
# directories intact since those may be required by new rpms.
|
||||
|
||||
# locales
|
||||
# nuking the locales breaks things. Lets not do that anymore
|
||||
# strip most of the languages from the archive.
|
||||
localedef --delete-from-archive $(localedef --list-archive | \
|
||||
grep -v -i ^en | xargs )
|
||||
# prep the archive template
|
||||
mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
|
||||
# rebuild archive
|
||||
/usr/sbin/build-locale-archive
|
||||
#empty the template
|
||||
:>/usr/lib/locale/locale-archive.tmpl
|
||||
|
||||
|
||||
# man pages and documentation
|
||||
find /usr/share/{man,doc,info,gnome/help} \
|
||||
-type f | xargs /bin/rm
|
||||
|
||||
# sln
|
||||
rm -f /sbin/sln
|
||||
|
||||
# ldconfig
|
||||
rm -rf /etc/ld.so.cache
|
||||
rm -rf /var/cache/ldconfig/*
|
||||
rm -rf /var/cache/yum/*
|
||||
|
||||
# Suppress hiera warnings
|
||||
mkdir -p /etc/puppet /var/lib/fuel/ibp
|
||||
touch /etc/puppet/hiera.yaml /var/lib/hiera/common.yaml
|
||||
|
||||
# Sudo does not need TTYs
|
||||
sed -i '/requiretty/s/^/#/g' /etc/sudoers
|
||||
|
||||
# Remove all getty services/slices/units (LP#1508364)
|
||||
find /usr/lib/systemd/system -name "*getty*" -delete
|
||||
|
||||
# Mask unecessary services
|
||||
for service in dev-mqueue.mount dev-hugepages.mount \
|
||||
systemd-remount-fs.service sys-kernel-config.mount \
|
||||
sys-kernel-debug.mount sys-fs-fuse-connections.mount \
|
||||
display-manager.service graphical.target \
|
||||
auditd.service firewalld.service \
|
||||
network.service network-online.target network.target \
|
||||
NetworkManager-wait-online.service NetworkManager.service \
|
||||
systemd-logind.service dracut-pre-udev.service \
|
||||
systemd-udevd.service swap.target \
|
||||
dbus-org.freedesktop.hostname1.service systemd-hostnamed.service \
|
||||
proc-sys-fs-binfmt_misc.automount kdump.service \
|
||||
cryptsetup.target systemd-modules-load.service \
|
||||
tuned.service sysstat.service microcode.service \
|
||||
systemd-binfmt.service systemd-reboot.service \
|
||||
NetworkManager-dispatcher.service irqbalance.service \
|
||||
systemd-initctl.socket systemd-shutdownd.socket \
|
||||
system.slice systemd-ask-password-plymouth.path systemd-ask-password-wall.path \
|
||||
systemd-journal-flush.service systemd-journald.service systemd-journald.socket; do
|
||||
ln -snf /dev/null /etc/systemd/system/${service}
|
||||
done
|
||||
|
||||
# Some services should be disabled instead of masked,
|
||||
# just because they use in some containers
|
||||
for service in crond.service rsyslog.service xinetd.service; do
|
||||
[ -L /etc/systemd/system/multi-user.target.wants/${service} ] && \
|
||||
rm -f /etc/systemd/system/multi-user.target.wants/${service}
|
||||
done
|
||||
|
||||
# Set default target to multi-user.target
|
||||
ln -snf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
|
||||
|
||||
|
||||
# Add service that starts start.sh on every container launch
|
||||
cat << 'EOF' > /etc/systemd/system/start-container.service
|
||||
[Unit]
|
||||
Description=Container Startup Script
|
||||
Requires=dbus.socket
|
||||
ConditionFileExecutable=/usr/local/bin/start.sh
|
||||
After=dbus.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash -c "/usr/local/bin/start.sh > /var/tmp/setup.log 2>&1"
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
%end
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
#
|
||||
# This script imports a raw image into Docker. It takes two
|
||||
# arguments: the name of the image file, and the tag to assign to the
|
||||
# Docker image that it creates.
|
||||
|
||||
usage() {
|
||||
echo "usage: $(basename $0) <image> <tag>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
image="$1"
|
||||
tag="$2"
|
||||
|
||||
if [ -z "$image" ] || [ -z "$tag" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
mount="$(mktemp -d --tmpdir)"
|
||||
mount -o loop "$image" "$mount"
|
||||
|
||||
cd "$mount"
|
||||
|
||||
#this tar seems to cause issues such as rpmdb corruption
|
||||
#tar -cpSf - --acls --selinux --xattrs * | docker import - "$tag"
|
||||
|
||||
tar --numeric-owner -c . | docker import - "$tag"
|
||||
|
||||
cd - >& /dev/null
|
||||
umount "$mount"
|
||||
rmdir "$mount"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:///repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:///mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=file:///extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
# Install necessary packages
|
||||
yum install -y --quiet \
|
||||
sudo \
|
||||
ami-creator \
|
||||
python-daemon \
|
||||
httpd
|
||||
|
||||
sed -i '/requiretty/s/^/#/g' /etc/sudoers
|
||||
|
||||
|
||||
# Add extra repositories to extra-repos.ks
|
||||
# This file will be included in fuel-centos.ks later
|
||||
touch /root/extra-repos.ks
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
echo "repo --name='MOS Extra Repo ${repo_args[0]}' --baseurl=http://127.0.0.1/extra-repos/${repo_args[0]}/" >> /root/extra-repos.ks
|
||||
done
|
||||
|
||||
|
||||
# Create loop devices if needed for ami-creator to setup image
|
||||
for loopdev in $(seq 1 9); do
|
||||
mknod "/dev/loop${loopdev}" -m0660 b 7 ${loopdev} ||:
|
||||
done
|
||||
|
||||
|
||||
# Create directory for repolinks and create them
|
||||
mkdir -p /var/www/html/repo
|
||||
ln -s /repo/os /var/www/html/repo/os
|
||||
ln -s /mos-repo /var/www/html/
|
||||
if [ -n "${EXTRA_RPM_REPOS}" ]; then
|
||||
ln -s /extra-repos /var/www/html/
|
||||
fi
|
||||
|
||||
|
||||
# Start webserver and wait for it to be up
|
||||
/usr/sbin/httpd &
|
||||
/usr/lib/systemd/systemd-localed &
|
||||
|
||||
cd /export
|
||||
ami-creator -c /root/fuel-centos.ks -n fuel-centos
|
||||
@@ -1,20 +0,0 @@
|
||||
# fuel/keystone
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Łukasz Oleś loles@mirantis.com
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 35357 5000
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
packages="os-client-config python-tablib python-unicodecsv rubygem-thread_safe"
|
||||
echo $packages | xargs -n1 yum install -y
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/keystone-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
mkdir -p /etc/systemd/system/openstack-keystone.service.d/
|
||||
cat << EOF > /etc/systemd/system/openstack-keystone.service.d/restart.conf
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
EOF
|
||||
|
||||
systemctl enable openstack-keystone.service
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/keystone.log \
|
||||
/etc/puppet/modules/nailgun/examples/keystone-only.pp || [[ $? == 2 ]]
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel/mcollective
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Aleksandr Didenko adidenko@mirantis.com
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
packages="sudo mcollective shotgun fuel-agent fuel-provisioning-scripts psmisc daemonize"
|
||||
echo $packages | xargs -n1 yum install -y
|
||||
|
||||
# /var/lib/fuel/ibp is a mount point for IBP host volume
|
||||
mkdir -p /var/lib/hiera /var/lib/fuel/ibp
|
||||
touch /etc/puppet/hiera.yaml /var/lib/hiera/common.yaml
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/mcollective-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
#FIXME(mattymo): Workaround to make diagnostic snapshots work
|
||||
mkdir -p /opt/nailgun/bin /var/www/nailgun/dump
|
||||
ln -s /usr/bin/nailgun_dump /opt/nailgun/bin/nailgun_dump
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/mcollective-hiera.log \
|
||||
/etc/puppet/modules/nailgun/examples/hiera-for-container.pp
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/mcollective.log \
|
||||
/etc/puppet/modules/nailgun/examples/mcollective-only.pp
|
||||
|
||||
for loopdev in $(seq 1 9); do
|
||||
mknod "/dev/loop${loopdev}" -m0660 b 7 ${loopdev} || :
|
||||
done
|
||||
|
||||
#Stop daemon and restart it in the foreground
|
||||
systemctl restart mcollective.service
|
||||
101
docker/module.mk
101
docker/module.mk
@@ -1,101 +0,0 @@
|
||||
.PHONY: docker
|
||||
containers:=astute cobbler mcollective nailgun keystone nginx ostf rsync rsyslog rabbitmq postgres
|
||||
REPO_CONTAINER:=fuel-repo-container
|
||||
|
||||
docker: $(BUILD_DIR)/docker/build.done
|
||||
|
||||
# Lrzip all containers into single archive
|
||||
$(BUILD_DIR)/docker/build.done: \
|
||||
$(BUILD_DIR)/docker/fuel-centos.done \
|
||||
$(BUILD_DIR)/docker/sources.done
|
||||
sudo docker save fuel/centos busybox $(foreach cnt,$(containers), fuel/$(cnt)_$(PRODUCT_VERSION):latest) > $(BUILD_DIR)/docker/fuel-images.tar
|
||||
lrzip -L2 -U -D -f $(BUILD_DIR)/docker/fuel-images.tar -o $(BUILD_DIR)/docker/$(DOCKER_ART_NAME)
|
||||
rm -f $(BUILD_DIR)/docker/fuel-images.tar
|
||||
sudo docker rm -f "$(REPO_CONTAINER)" || true
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
define build_container
|
||||
$(BUILD_DIR)/docker/build.done: $(BUILD_DIR)/docker/$1.done
|
||||
$(BUILD_DIR)/docker/$1.done: \
|
||||
$(BUILD_DIR)/mirror/centos/build.done \
|
||||
$(BUILD_DIR)/repos/repos.done \
|
||||
$(BUILD_DIR)/packages/rpm/build.done \
|
||||
$(BUILD_DIR)/docker/fuel-centos.done \
|
||||
$(BUILD_DIR)/docker/repo-container-up.done
|
||||
@echo ""
|
||||
@echo "========================================"
|
||||
@echo "Building container '$1'"
|
||||
mkdir -p "$(BUILD_DIR)/docker/containers"
|
||||
rm -rf $(BUILD_DIR)/docker/$1
|
||||
cp -a $(SOURCE_DIR)/docker/$1 $(BUILD_DIR)/docker/$1
|
||||
REPO_PORT=`sudo docker port $(REPO_CONTAINER) 80 | cut -d':' -f2` && \
|
||||
sed -e "s/_PORT_/$$$${REPO_PORT}/" -i $(BUILD_DIR)/docker/$1/Dockerfile
|
||||
test -n "$(EXTRA_RPM_REPOS)" || sed -e "/_EXTRA_RPM_REPOS_/d" -i $(BUILD_DIR)/docker/$1/Dockerfile
|
||||
sed -e "s|_EXTRA_RPM_REPOS_|$(EXTRA_RPM_REPOS)|" -i $(BUILD_DIR)/docker/$1/Dockerfile
|
||||
mkdir -p $(BUILD_DIR)/docker/$1/etc/fuel
|
||||
cp $(SOURCE_DIR)/docker/docker-astute.yaml $(BUILD_DIR)/docker/$1/etc/fuel/astute.yaml
|
||||
sudo docker build --force-rm -t fuel/$1_$(PRODUCT_VERSION) $(BUILD_DIR)/docker/$1
|
||||
sudo docker run --name=FUEL_$1_$(PRODUCT_VERSION) \
|
||||
--net=bridge -d -i -t --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro fuel/$1_$(PRODUCT_VERSION)
|
||||
sudo docker exec -i FUEL_$1_$(PRODUCT_VERSION) /usr/local/bin/setup.sh 2>&1 \
|
||||
|| (echo "CONTAINER BUILD FAILED, container '$1'"; exit 1)
|
||||
sudo docker commit FUEL_$1_$(PRODUCT_VERSION) fuel/$1_$(PRODUCT_VERSION):latest
|
||||
sudo docker stop FUEL_$1_$(PRODUCT_VERSION)
|
||||
@echo "CONTAINER BUILD SUCCEEDED, container '$1'."
|
||||
@echo "========================================"
|
||||
@echo ""
|
||||
$$(ACTION.TOUCH)
|
||||
endef
|
||||
|
||||
$(BUILD_DIR)/docker/base-images.done: \
|
||||
$(BUILD_DIR)/mirror/docker/build.done
|
||||
for container in $(LOCAL_MIRROR_DOCKER_BASEURL)/*.xz; do xz -dkc -T0 $$container | sudo docker load; done
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/docker/fuel-centos.done: \
|
||||
$(BUILD_DIR)/docker/base-images.done \
|
||||
$(BUILD_DIR)/mirror/centos/build.done \
|
||||
$(BUILD_DIR)/packages/rpm/build.done
|
||||
rm -rf $(BUILD_DIR)/docker/fuel-centos-build
|
||||
cp -a $(SOURCE_DIR)/docker/fuel-centos-build $(BUILD_DIR)/docker/fuel-centos-build
|
||||
test -n "$(EXTRA_RPM_REPOS)" || sed -e "/_EXTRA_RPM_REPOS_/d" -i $(BUILD_DIR)/docker/fuel-centos-build/Dockerfile
|
||||
sed -e "s|_CENTOS_RELEASE_|$(CENTOS_RELEASE)|g" -i $(BUILD_DIR)/docker/fuel-centos-build/Dockerfile
|
||||
sed -e "s|_EXTRA_RPM_REPOS_|$(EXTRA_RPM_REPOS)|" -i $(BUILD_DIR)/docker/fuel-centos-build/Dockerfile
|
||||
sed -e "s|_PROXY_|$(PROXY_CONFIG)|g" -i $(BUILD_DIR)/docker/fuel-centos-build/Dockerfile
|
||||
sudo docker build -t fuel/fuel-centos-build $(BUILD_DIR)/docker/fuel-centos-build
|
||||
mkdir -p $(BUILD_DIR)/docker/fuel-centos/
|
||||
echo ">>> Generating fuel/centos base image..."
|
||||
sudo docker -D run --name=FUEL_CENTOS_$(PRODUCT_VERSION) --net=bridge -d -i -t --privileged \
|
||||
-v $(LOCAL_MIRROR_CENTOS):/repo:ro \
|
||||
-v $(LOCAL_MIRROR_MOS_CENTOS):/mos-repo:ro \
|
||||
-v $(LOCAL_MIRROR)/extra-repos:/extra-repos:ro \
|
||||
-v $(BUILD_DIR)/docker/fuel-centos:/export \
|
||||
fuel/fuel-centos-build
|
||||
sudo docker exec -i FUEL_CENTOS_$(PRODUCT_VERSION) /usr/local/bin/start.sh 2>&1
|
||||
echo "<<< Image generated successfully."
|
||||
echo ">>> Converting image..."
|
||||
sudo $(SOURCE_DIR)/docker/fuel-centos-build/img2docker.sh $(BUILD_DIR)/docker/fuel-centos/fuel-centos.img fuel/centos
|
||||
echo "<<< Image converted successfully."
|
||||
echo "$@ done."
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/docker/repo-container-up.done: \
|
||||
$(BUILD_DIR)/docker/fuel-centos.done
|
||||
-sudo docker rm -f "$(REPO_CONTAINER)"
|
||||
sudo docker -D run --name "$(REPO_CONTAINER)" -d -p 80 \
|
||||
-v $(LOCAL_MIRROR_CENTOS):/var/www/html/repo \
|
||||
-v $(LOCAL_MIRROR_MOS_CENTOS):/var/www/html/mos-repo \
|
||||
-v $(LOCAL_MIRROR)/extra-repos:/var/www/html/extra-repos \
|
||||
fuel/centos /usr/sbin/apachectl -DFOREGROUND
|
||||
REPO_PORT=`sudo docker port $(REPO_CONTAINER) 80 | cut -d':' -f2` && \
|
||||
wget -t10 -T1 -O /dev/null --waitretry 1 --retry-connrefused --no-proxy http://127.0.0.1:$${REPO_PORT}/repo/os/x86_64/repodata/repomd.xml && \
|
||||
wget -t10 -T1 -O /dev/null --waitretry 1 --retry-connrefused --no-proxy http://127.0.0.1:$${REPO_PORT}/mos-repo/repodata/repomd.xml
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/docker/sources.done: \
|
||||
$(find-files $(SOURCE_DIR)/docker)
|
||||
mkdir -p $(BUILD_DIR)/docker/sources $(BUILD_DIR)/docker/utils
|
||||
find $(SOURCE_DIR)/docker -mindepth 1 -type d -not -name '*fuel-centos-build*' | xargs cp -r --target-directory=$(BUILD_DIR)/docker/sources
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(foreach cnt,$(containers),$(eval $(call build_container,$(cnt))))
|
||||
@@ -1,22 +0,0 @@
|
||||
# fuel-nailgun
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 8001
|
||||
|
||||
VOLUME ["/usr/share/nailgun/static", "/etc/nailgun"]
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
mkdir -p /root/.ssh
|
||||
chmod 700 /root/.ssh
|
||||
touch /root/.ssh/id_rsa.pub
|
||||
chmod 600 /root/.ssh/id_rsa.pub
|
||||
|
||||
yum -y install python-editor
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/nailgun-only.pp || [[ $? == 2 ]]
|
||||
|
||||
mkdir -p /var/log/remote /var/www/nailgun
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
|
||||
#Run puppet to apply custom config
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/nailgun.log \
|
||||
/etc/puppet/modules/nailgun/examples/nailgun-only.pp
|
||||
|
||||
|
||||
#FIXME(dteselkin): for some funny reason /usr/share/nailgun/static
|
||||
# is empty after puppet apply, despite the fact that
|
||||
# package contains the files
|
||||
# Reinstall package as a dirty workaround
|
||||
if rpm -V fuel-nailgun | grep -q missing; then
|
||||
yum -y --quiet reinstall fuel-nailgun
|
||||
fi
|
||||
|
||||
|
||||
systemctl restart supervisord.service
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel-nginx
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 8000 8080
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
mkdir -p /var/www/nailgun
|
||||
chmod 755 /var/www/nailgun
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/nginx-only.pp || [[ $? == 2 ]]
|
||||
|
||||
mkdir -p /etc/systemd/system/nginx.service.d/
|
||||
cat << EOF > /etc/systemd/system/nginx.service.d/restart.conf
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
EOF
|
||||
|
||||
systemctl enable nginx.service
|
||||
|
||||
# FIXME (dteselkin): Ideally we should make a package for all these systemd
|
||||
# unit files instead of hardcoding them in a setup script
|
||||
# #1519412
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
#Correct permissions after docker clobbers them on export
|
||||
chmod -R 755 /var/www/nailgun
|
||||
chmod -R 755 /var/www/nailgun/* 2>/dev/null
|
||||
chmod -R 755 /usr/share/nailgun/static 2>/dev/null
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/nginx.log \
|
||||
/etc/puppet/modules/nailgun/examples/nginx-only.pp
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel/ostf
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD setup.sh /usr/local/bin/
|
||||
ADD start.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 8777
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
#FIXME(dteselkin): install the packages below explicitely to
|
||||
# fix their dependenceis BEFORE puppet run
|
||||
packages="python-fuelclient postgresql-libs python-editor python-unicodecsv "
|
||||
packages+="python-saharaclient python-muranoclient python-cliff"
|
||||
echo $packages | xargs -n1 yum install -y
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/ostf-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/ostf.log \
|
||||
/etc/puppet/modules/nailgun/examples/ostf-only.pp
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel/postgres
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Aleksandr Didenko adidenko@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 5432
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
|
||||
touch /etc/sysconfig/network
|
||||
|
||||
mkdir -p /var/lib/hiera
|
||||
touch /var/lib/hiera/common.yaml
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
|
||||
# Because /var/lib/pgsql is mounted as a volume,
|
||||
# reinstall if its files are missing
|
||||
if rpm -V postgresql-server | grep -q missing; then
|
||||
yum reinstall -q -y postgresql-server
|
||||
fi
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/postgres.log \
|
||||
/etc/puppet/modules/nailgun/examples/postgres-only.pp
|
||||
|
||||
|
||||
systemctl enable postgresql.service
|
||||
@@ -1,18 +0,0 @@
|
||||
# fuel/rabbitmq
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Aleksandr Didenko adidenko@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD start.sh /usr/local/bin/
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/{setup,start}.sh
|
||||
|
||||
EXPOSE 4369 5672 15672 61613
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
|
||||
mkdir -p /var/lib/hiera /var/log/rabbitmq
|
||||
touch /var/lib/hiera/common.yaml
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/rabbitmq-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
cat << EOF > /etc/systemd/system/rabbitmq-server.service
|
||||
[Unit]
|
||||
Description=RabbitMQ broker
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
NotifyAccess=all
|
||||
User=rabbitmq
|
||||
Group=rabbitmq
|
||||
WorkingDirectory=/var/lib/rabbitmq
|
||||
ExecStartPre=chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
|
||||
ExecStart=/usr/sbin/rabbitmq-server
|
||||
ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl reenable rabbitmq-server.service
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
systemctl enable start-container.service
|
||||
|
||||
|
||||
rm -Rf /var/lib/rabbitmq/mnesia/*
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
# Clean rpm locks before puppet run.
|
||||
# See ticket https://bugs.launchpad.net/fuel/+bug/1339236
|
||||
rm -f /var/lib/rpm/__db.*
|
||||
rpm --rebuilddb
|
||||
|
||||
|
||||
mkdir -p /var/log/rabbitmq
|
||||
chown -R rabbitmq:rabbitmq /var/log/rabbitmq
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
--logdest /var/log/puppet/rabbitmq.log \
|
||||
/etc/puppet/modules/nailgun/examples/rabbitmq-only.pp || [[ $? == 2 ]]
|
||||
@@ -1,17 +0,0 @@
|
||||
# fuel/rsync
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Matthew Mosesohn mmosesohn@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
ENV EXTRA_RPM_REPOS _EXTRA_RPM_REPOS_
|
||||
|
||||
ADD etc /etc
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/setup.sh
|
||||
|
||||
EXPOSE 873
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
for repo in ${EXTRA_RPM_REPOS}; do
|
||||
IFS=, read -a repo_args <<< "$repo"
|
||||
cat << EOF >> /etc/yum.repos.d/nailgun.repo
|
||||
|
||||
[extra-repo-${repo_args[0]}]
|
||||
name=MOS Extra Repo ${repo_args[0]}
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/extra-repos/${repo_args[0]}
|
||||
gpgcheck=0
|
||||
EOF
|
||||
done
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/puppetsync-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
mkdir -p /etc/systemd/system/rsyncd.service.d/
|
||||
cat << EOF > /etc/systemd/system/rsyncd.service.d/restart.conf
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
EOF
|
||||
|
||||
systemctl enable xinetd.service rsyncd.service
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
#systemctl mask start-container.service
|
||||
@@ -1,16 +0,0 @@
|
||||
# fuel/rsyslog
|
||||
|
||||
FROM fuel/centos
|
||||
MAINTAINER Aleksandr Didenko adidenko@mirantis.com
|
||||
|
||||
ENV container docker
|
||||
ENV DOCKER_PORT _PORT_
|
||||
|
||||
ADD etc /etc
|
||||
ADD setup.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/setup.sh
|
||||
|
||||
EXPOSE 514 514/udp
|
||||
|
||||
CMD ["/usr/sbin/init"]
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
rm -rf /etc/yum.repos.d/*
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/repo/os/x86_64/
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=http://$(route -n | awk '/^0.0.0.0/ {print $2}'):${DOCKER_PORT}/mos-repo/
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean expire-cache
|
||||
yum update -y
|
||||
|
||||
|
||||
touch /etc/puppet/hiera.yaml
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
puppet apply --debug --verbose --color false --detailed-exitcodes \
|
||||
/etc/puppet/modules/nailgun/examples/rsyslog-only.pp || [[ $? == 2 ]]
|
||||
|
||||
|
||||
mkdir -p /etc/systemd/system/rsyslog.service.d/
|
||||
cat << EOF > /etc/systemd/system/rsyslog.service.d/restart.conf
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
EOF
|
||||
|
||||
systemctl enable rsyslog.service
|
||||
|
||||
|
||||
cat << EOF > /etc/yum.repos.d/nailgun.repo
|
||||
[nailgun]
|
||||
name=Nailgun Local Repo
|
||||
baseurl=file:/var/www/nailgun/centos/x86_64
|
||||
gpgcheck=0
|
||||
|
||||
[mos]
|
||||
name=MOS Local Repo
|
||||
baseurl=file:/var/www/nailgun/mos-centos/x86_64
|
||||
gpgcheck=0
|
||||
EOF
|
||||
|
||||
yum clean all
|
||||
|
||||
|
||||
#systemctl mask start-container.service
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
LOGFILE=${LOGFILE:-/var/log/puppet/bootstrap_admin_node.log}
|
||||
# DEPLOYMENT_MODE could be either 'host' or 'docker'
|
||||
DEPLOYMENT_MODE=${DEPLOYMENT_MODE:-host}
|
||||
mkdir -p /var/log/puppet
|
||||
exec > >(tee -i "${LOGFILE}")
|
||||
exec 2>&1
|
||||
@@ -160,11 +158,7 @@ function ifname_valid {
|
||||
return 1
|
||||
}
|
||||
|
||||
if [[ $DEPLOYMENT_MODE = 'docker' ]]; then
|
||||
yum install -y fuel-dockerctl fuel-docker-images
|
||||
else
|
||||
yum install -y fuel-utils
|
||||
fi
|
||||
yum install -y fuel-utils
|
||||
|
||||
|
||||
# LANG variable is a workaround for puppet-3.4.2 bug. See LP#1312758 for details
|
||||
@@ -348,62 +342,15 @@ if [ ${old_sysctl_vm_value} -lt 65535 ]; then
|
||||
sysctl -w vm.min_free_kbytes=65535
|
||||
fi
|
||||
|
||||
if [[ $DEPLOYMENT_MODE = 'docker' ]]; then
|
||||
if [ -f /root/.build_images ]; then
|
||||
#Fail on all errors
|
||||
set -e
|
||||
trap fail EXIT
|
||||
|
||||
echo "Loading Fuel base image for Docker..."
|
||||
docker load -i /var/www/nailgun/docker/images/fuel-images.tar
|
||||
|
||||
echo "Building Fuel Docker images..."
|
||||
WORKDIR=$(mktemp -d /tmp/docker-buildXXX)
|
||||
SOURCE=/var/www/nailgun/docker
|
||||
REPO_CONT_ID=$(docker -D run -d -p 80 -v /var/www/nailgun:/var/www/nailgun fuel/centos sh -c 'mkdir -p /var/www/html/repo/os;ln -sf /var/www/nailgun/centos/x86_64 /var/www/html/repo/os/x86_64;ln -s /var/www/nailgun/mos-centos/x86_64 /var/www/html/mos-repo;/usr/sbin/apachectl -DFOREGROUND')
|
||||
RANDOM_PORT=$(docker port $REPO_CONT_ID 80 | cut -d':' -f2)
|
||||
|
||||
for imagesource in /var/www/nailgun/docker/sources/*; do
|
||||
if ! [ -f "$imagesource/Dockerfile" ]; then
|
||||
echo "Skipping ${imagesource}..."
|
||||
continue
|
||||
fi
|
||||
image=$(basename "$imagesource")
|
||||
cp -R "$imagesource" $WORKDIR/$image
|
||||
mkdir -p $WORKDIR/$image/etc
|
||||
cp -R /etc/puppet /etc/fuel $WORKDIR/$image/etc
|
||||
sed -e "s/_PORT_/${RANDOM_PORT}/" -i $WORKDIR/$image/Dockerfile
|
||||
sed -r -e 's/^"?PRODUCTION"?:.*/PRODUCTION: "docker-build"/' -i $WORKDIR/$image/etc/fuel/astute.yaml
|
||||
docker build -t fuel/${image}_${FUEL_RELEASE} $WORKDIR/$image
|
||||
done
|
||||
docker rm -f $REPO_CONT_ID
|
||||
rm -rf "$WORKDIR"
|
||||
|
||||
#Remove trap for normal deployment
|
||||
trap - EXIT
|
||||
set +e
|
||||
else
|
||||
echo "Loading docker images. (This may take a while)"
|
||||
docker load -i /var/www/nailgun/docker/images/fuel-images.tar
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ${old_sysctl_vm_value} -lt 65535 ]; then
|
||||
echo "Restore sysctl vm.min_free_kbytes value..."
|
||||
sysctl -w vm.min_free_kbytes=${old_sysctl_vm_value}
|
||||
fi
|
||||
|
||||
# apply puppet
|
||||
if [[ $DEPLOYMENT_MODE = 'docker' ]]; then
|
||||
puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp
|
||||
if [ $? -ge 4 ];then
|
||||
/etc/puppet/modules/fuel/examples/deploy.sh
|
||||
if [[ $? -ne 0 ]]; then
|
||||
fail
|
||||
fi
|
||||
else
|
||||
LOGFILE="${LOGFILE}" /etc/puppet/modules/fuel/examples/deploy.sh
|
||||
if [[ $? -ne 0 ]]; then
|
||||
fail
|
||||
fi
|
||||
fi
|
||||
|
||||
# Sync time
|
||||
|
||||
@@ -285,7 +285,7 @@ cat << EOF > /tmp/partition.ks
|
||||
part /boot --onpart=/dev/${bootdev}3
|
||||
part /boot/efi --onpart=/dev/${bootdev}2
|
||||
part pv.001 --ondisk=${tgtdrive} --size=25000 --grow
|
||||
part pv.002 --ondisk=${tgtdrive} --size=20000
|
||||
part pv.002 --ondisk=${tgtdrive} --size=10000
|
||||
volgroup os pv.001
|
||||
volgroup docker pv.002
|
||||
logvol swap --vgname=os --recommended --name=swap
|
||||
@@ -631,7 +631,7 @@ if [[ "$(tty)" == "/dev/tty1" && -f /etc/systemd/system/getty@tty1.service.d/aut
|
||||
rm -Rf "/etc/systemd/system/getty@tty1.service.d"
|
||||
/bin/systemctl daemon-reload
|
||||
if [ -x /usr/local/sbin/bootstrap_admin_node.sh ]; then
|
||||
DEPLOYMENT_MODE=host exec /usr/local/sbin/bootstrap_admin_node.sh
|
||||
exec /usr/local/sbin/bootstrap_admin_node.sh
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
|
||||
@@ -42,7 +42,6 @@ $(BUILD_DIR)/iso/isoroot-centos.done: \
|
||||
$(BUILD_DIR)/mirror/build.done \
|
||||
$(BUILD_DIR)/mirror/make-changelog.done \
|
||||
$(BUILD_DIR)/packages/build.done \
|
||||
$(BUILD_DIR)/packages/build-late.done \
|
||||
$(BUILD_DIR)/iso/isoroot-dotfiles.done
|
||||
mkdir -p $(ISOROOT)
|
||||
rsync -rp $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT)
|
||||
@@ -64,15 +63,6 @@ $(BUILD_DIR)/iso/isoroot-ubuntu.done: \
|
||||
rsync -rp $(LOCAL_MIRROR)/ubuntu-packages.changelog $(ISOROOT)
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
########################
|
||||
# DOCKER
|
||||
########################
|
||||
# DOCKER_ART_NAME is defined in /docker/module.mk
|
||||
$(ISOROOT)/docker.done: \
|
||||
$(BUILD_DIR)/docker/build.done \
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
########################
|
||||
# Extra files
|
||||
########################
|
||||
@@ -132,8 +122,6 @@ $(ISOROOT)/bootstrap_admin_node.sh: $(SOURCE_DIR)/iso/bootstrap_admin_node.sh ;
|
||||
$(ISOROOT)/send2syslog.py: $(BUILD_DIR)/repos/fuel-nailgun/bin/send2syslog.py ; $(ACTION.COPY)
|
||||
$(BUILD_DIR)/repos/fuel-nailgun/bin/send2syslog.py: $(BUILD_DIR)/repos/fuel-nailgun.done
|
||||
|
||||
$(BUILD_DIR)/iso/isoroot.done: $(ISOROOT)/docker.done
|
||||
|
||||
########################
|
||||
# Iso image root file system.
|
||||
########################
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
BASE_IMAGE_FILES:=centos.tar.xz busybox.tar.xz
|
||||
|
||||
MIRROR_DOCKER_BASEURL?=$(MIRROR_DOCKER)
|
||||
|
||||
# docker base image files
|
||||
$(addprefix $(LOCAL_MIRROR_DOCKER_BASEURL)/,$(BASE_IMAGE_FILES)):
|
||||
@mkdir -p $(@D)
|
||||
wget -nv -O $@ $(MIRROR_DOCKER_BASEURL)/$(@F)
|
||||
|
||||
$(BUILD_DIR)/mirror/docker/base-images.done: \
|
||||
$(addprefix $(LOCAL_MIRROR_DOCKER_BASEURL)/,$(BASE_IMAGE_FILES))
|
||||
$(ACTION.TOUCH)
|
||||
@@ -1,13 +0,0 @@
|
||||
.PHONY: clean-docker
|
||||
# This module downloads ubuntu installation images.
|
||||
include $(SOURCE_DIR)/mirror/docker/base-images.mk
|
||||
|
||||
clean: clean-docker
|
||||
|
||||
clean-docker:
|
||||
-sudo sh -c "docker ps -aq | xargs --no-run-if-empty docker rm -f"
|
||||
-sudo sh -c "docker images | awk '/fuel|none/ { print \$$3; }' | xargs --no-run-if-empty docker rmi -f"
|
||||
|
||||
$(BUILD_DIR)/mirror/docker/build.done: \
|
||||
$(BUILD_DIR)/mirror/docker/base-images.done
|
||||
$(ACTION.TOUCH)
|
||||
@@ -10,12 +10,10 @@ clean-mirror:
|
||||
|
||||
include $(SOURCE_DIR)/mirror/centos/module.mk
|
||||
include $(SOURCE_DIR)/mirror/ubuntu/module.mk
|
||||
include $(SOURCE_DIR)/mirror/docker/module.mk
|
||||
|
||||
$(BUILD_DIR)/mirror/build.done: \
|
||||
$(BUILD_DIR)/mirror/centos/build.done \
|
||||
$(BUILD_DIR)/mirror/ubuntu/build.done \
|
||||
$(BUILD_DIR)/mirror/docker/build.done
|
||||
$(BUILD_DIR)/mirror/ubuntu/build.done
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/mirror/make-changelog.done: $(BUILD_DIR)/mirror/build.done
|
||||
|
||||
@@ -100,19 +100,6 @@ packages: $(BUILD_DIR)/packages/build.done
|
||||
packages-rpm: $(BUILD_DIR)/packages/rpm/build.done
|
||||
packages-deb: $(BUILD_DIR)/packages/deb/build.done
|
||||
|
||||
|
||||
###################################
|
||||
#### LATE PACKAGES ################
|
||||
###################################
|
||||
|
||||
.PHONY: packages-late
|
||||
|
||||
$(BUILD_DIR)/packages/build-late.done: \
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
packages-late: $(BUILD_DIR)/packages/build-late.done
|
||||
|
||||
.PHONY: sources
|
||||
|
||||
sources: $(packages_list:%=$(BUILD_DIR)/packages/source_%.done)
|
||||
|
||||
@@ -102,29 +102,6 @@ $(BUILD_DIR)/packages/rpm/repo.done:
|
||||
-o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX/fuel-docker-images
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: SPECFILE:=$(SOURCE_DIR)/packages/rpm/specs/fuel-docker-images.spec
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: export SANDBOX_DOWN:=$(SANDBOX_DOWN)
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: \
|
||||
$(BUILD_DIR)/repos/repos.done \
|
||||
$(BUILD_DIR)/packages/rpm/buildd.tar.gz \
|
||||
$(BUILD_DIR)/docker/build.done
|
||||
python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
||||
mkdir -p $(SANDBOX) && \
|
||||
sudo tar xzf $(BUILD_DIR)/packages/rpm/buildd.tar.gz -C $(SANDBOX) && \
|
||||
mkdir -p $(SANDBOX)/tmp/SOURCES && \
|
||||
sudo cp -r $(BUILD_DIR)/docker/$(DOCKER_ART_NAME) $(SANDBOX)/tmp/SOURCES && \
|
||||
(cd $(BUILD_DIR)/docker && sudo tar czf $(SANDBOX)/tmp/SOURCES/fuel-images-sources.tar.gz sources utils) && \
|
||||
sudo cp $(SPECFILE) $(SANDBOX)/tmp && \
|
||||
sudo chroot $(SANDBOX) rpmbuild --nodeps --define "_topdir /tmp" -ba /tmp/fuel-docker-images.spec
|
||||
cp $(SANDBOX)/tmp/RPMS/*/fuel-docker-images-*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
||||
find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' | xargs cp -u --target-directory=$(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages
|
||||
createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \
|
||||
-o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/build.done:
|
||||
ifeq (1,$(strip $(BUILD_PACKAGES)))
|
||||
$(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/packages/rpm/repo.done
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
%define name fuel-docker-images
|
||||
%{!?version: %define version 9.0.0}
|
||||
%{!?release: %define release 1}
|
||||
|
||||
Name: %{name}
|
||||
Summary: Fuel Docker images
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
License: Apache 2.0
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}
|
||||
Source0: fuel-images.tar.lrz
|
||||
Source1: fuel-images-sources.tar.gz
|
||||
URL: http://mirantis.com
|
||||
Requires: docker-io
|
||||
Requires: lrzip
|
||||
%description
|
||||
Images for deploying Fuel for OpenStack Docker containers
|
||||
|
||||
%prep
|
||||
rm -rf %{name}-%{version}
|
||||
mkdir %{name}-%{version}
|
||||
cp %{SOURCE0} %{name}-%{version}
|
||||
tar xzvf %{SOURCE1} -C %{name}-%{version}
|
||||
|
||||
%install
|
||||
cd %{name}-%{version}
|
||||
mkdir -p %{buildroot}/var/www/nailgun/docker/images
|
||||
mkdir -p %{buildroot}/var/www/nailgun/docker/sources
|
||||
mkdir -p %{buildroot}/var/www/nailgun/docker/utils
|
||||
install -m 644 %{SOURCE0} %{buildroot}/var/www/nailgun/docker/images/fuel-images.tar.lrz
|
||||
cp -R sources %{buildroot}/var/www/nailgun/docker/
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%post
|
||||
rm -f /var/www/nailgun/docker/images/fuel-images.tar
|
||||
lrzip -d -o /var/www/nailgun/docker/images/fuel-images.tar /var/www/nailgun/docker/images/fuel-images.tar.lrz
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
/var/www/nailgun/docker/images/fuel-images.tar.lrz
|
||||
/var/www/nailgun/docker/sources/*
|
||||
@@ -17,22 +17,11 @@
|
||||
# This script will install all the required packages necessary for
|
||||
# building a Fuel ISO.
|
||||
|
||||
# Install docker repository
|
||||
# Check that HTTPS transport is available to APT
|
||||
if [ ! -e /usr/lib/apt/methods/https ]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y apt-transport-https
|
||||
fi
|
||||
# Add the repository to APT sources
|
||||
echo deb http://mirror.yandex.ru/mirrors/docker/ docker main | sudo tee /etc/apt/sources.list.d/docker.list
|
||||
# Import the repository key
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
|
||||
# Install docker
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install lxc-docker-1.6.2
|
||||
# add user to docker group
|
||||
sudo usermod -a -G docker "$(whoami)"
|
||||
|
||||
|
||||
# Install software
|
||||
sudo apt-get update
|
||||
|
||||
@@ -2,8 +2,6 @@ fencing-agent
|
||||
fuel
|
||||
fuel-agent
|
||||
fuel-bootstrap-cli
|
||||
fuel-dockerctl
|
||||
fuel-docker-images
|
||||
fuel-ha-utils
|
||||
fuel-library
|
||||
fuelmenu
|
||||
|
||||
Reference in New Issue
Block a user