Add ability to use CentOS local mirror
We could specify ubuntu and fedora local mirror for image build, now we can use local mirrors for all type of images. Yum-mirror element was divided in two elements: fedora-mirror and centos-mirror Change-Id: Id5016d8a7e982010b6683c038afa21e639ef4ac0
This commit is contained in:
parent
44629168a2
commit
93eb332c0c
|
@ -15,11 +15,13 @@ For users:
|
|||
|
||||
sudo bash sahara-image-elements/diskimage-create/diskimage-create.sh
|
||||
|
||||
3. If you want to use your local mirrors, you should specify http urls for Fedora and Ubuntu mirrors using parameters 'FEDORA_MIRROR' and 'UBUNTU_MIRROR' like this:
|
||||
3. If you want to use your local mirrors, you should specify http urls for Fedora, CentOS and Ubuntu mirrors using parameters 'FEDORA_MIRROR', 'CENTOS_MIRROR' and 'UBUNTU_MIRROR' like this:
|
||||
|
||||
.. sourcecode:: bash
|
||||
|
||||
sudo USE_MIRRORS=true FEDORA_MIRROR="url_for_fedora_mirror" UBUNTU_MIRROR="url_for_ubuntu_mirror" bash sahara-image-elements/diskimage-create/diskimage-create.sh
|
||||
sudo USE_MIRRORS=true FEDORA_MIRROR="url_for_fedora_mirror" CENTOS_MIRROR="url_for_centos_mirror" UBUNTU_MIRROR="url_for_ubuntu_mirror" bash sahara-image-elements/diskimage-create/diskimage-create.sh
|
||||
|
||||
NOTE: Do not create all images for all plugins with the same mirrors. Different plugins use different OS version.
|
||||
|
||||
4. To select which plugin to target use the '-p' commandline option like this:
|
||||
|
||||
|
|
|
@ -213,10 +213,9 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "vanilla" ]; then
|
|||
fi
|
||||
|
||||
if [ -n "$USE_MIRRORS" ]; then
|
||||
mirror_element=" apt-mirror"
|
||||
ubuntu_elements_sequence=$ubuntu_elements_sequence$mirror_element
|
||||
mirror_element=" yum-mirror"
|
||||
fedora_elements_sequence=$fedora_elements_sequence$mirror_element
|
||||
[ -n "$UBUNTU_MIRROR" ] && ubuntu_elements_sequence="$ubuntu_elements_sequence apt-mirror"
|
||||
[ -n "$FEDORA_MIRROR" ] && fedora_elements_sequence="$fedora_elements_sequence fedora-mirror"
|
||||
[ -n "$CENTOS_MIRROR" ] && centos_elements_sequence="$centos_elements_sequence centos-mirror"
|
||||
fi
|
||||
|
||||
# Ubuntu cloud image
|
||||
|
@ -310,8 +309,7 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "spark" ]; then
|
|||
ubuntu_elements_sequence="base vm ubuntu java hadoop-cdh spark"
|
||||
|
||||
if [ -n "$USE_MIRRORS" ]; then
|
||||
mirror_element=" apt-mirror"
|
||||
ubuntu_elements_sequence=$ubuntu_elements_sequence$mirror_element
|
||||
[ -n "$UBUNTU_MIRROR" ] && ubuntu_elements_sequence="$ubuntu_elements_sequence apt-mirror"
|
||||
fi
|
||||
|
||||
# Creating Ubuntu cloud image
|
||||
|
@ -335,8 +333,7 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "storm" ]; then
|
|||
ubuntu_elements_sequence="base vm ubuntu java zookeeper storm"
|
||||
|
||||
if [ -n "$USE_MIRRORS" ]; then
|
||||
mirror_element=" apt-mirror"
|
||||
ubuntu_elements_sequence=$ubuntu_elements_sequence$mirror_element
|
||||
[ -n "$UBUNTU_MIRROR" ] && ubuntu_elements_sequence="$ubuntu_elements_sequence apt-mirror"
|
||||
fi
|
||||
|
||||
# Creating Ubuntu cloud image
|
||||
|
@ -375,6 +372,10 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "hdp" ]; then
|
|||
centos_elements_sequence=$centos_elements_sequence" root-passwd"
|
||||
fi
|
||||
|
||||
if [ -n "$USE_MIRRORS"]; then
|
||||
[ -n "$CENTOS_MIRROR" ] && centos_elements_sequence="$centos_elements_sequence centos-mirror"
|
||||
fi
|
||||
|
||||
# generate image with HDP 1.3
|
||||
export DIB_HDP_VERSION="1.3"
|
||||
disk-image-create $centos_elements_sequence -n -o $centos_image_name_hdp_1_3
|
||||
|
@ -390,6 +391,10 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "hdp" ]; then
|
|||
centos_elements_sequence=$centos_elements_sequence" root-passwd"
|
||||
fi
|
||||
|
||||
if [ -n "$USE_MIRRORS"]; then
|
||||
[ -n "$CENTOS_MIRROR" ] && centos_elements_sequence="$centos_elements_sequence centos-mirror"
|
||||
fi
|
||||
|
||||
# generate image with HDP 2.0
|
||||
export DIB_HDP_VERSION="2.0"
|
||||
disk-image-create $centos_elements_sequence -n -o $centos_image_name_hdp_2_0
|
||||
|
@ -405,6 +410,10 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "hdp" ]; then
|
|||
centos_plain_elements_sequence=$centos_plain_elements_sequence" root-passwd"
|
||||
fi
|
||||
|
||||
if [ -n "$USE_MIRRORS"]; then
|
||||
[ -n "$CENTOS_MIRROR" ] && centos_plain_elements_sequence="$centos_plain_elements_sequence centos-mirror"
|
||||
fi
|
||||
|
||||
# generate plain (no Hadoop components) image for testing
|
||||
disk-image-create $centos_plain_elements_sequence -n -o $centos_image_name_plain
|
||||
mv $centos_image_name_plain.qcow2 ../
|
||||
|
@ -418,6 +427,11 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "cloudera" ]; then
|
|||
if [ -z "$IMAGE_TYPE" -o "$IMAGE_TYPE" = "ubuntu" ]; then
|
||||
cloudera_ubuntu_image_name=${cloudera_ubuntu_image_name:-ubuntu_sahara_cloudera_latest}
|
||||
cloudera_elements_sequence="base vm ubuntu hadoop-cloudera"
|
||||
|
||||
if [ -n "$USE_MIRRORS" ]; then
|
||||
[ -n "$UBUNTU_MIRROR" ] && ubuntu_elements_sequence="$ubuntu_elements_sequence apt-mirror"
|
||||
fi
|
||||
|
||||
# Cloudera supports only 12.04 Ubuntu
|
||||
export DIB_RELEASE="precise"
|
||||
|
||||
|
@ -436,6 +450,10 @@ if [ -z "$PLUGIN" -o "$PLUGIN" = "cloudera" ]; then
|
|||
cloudera_centos_image_name=${cloudera_centos_image_name:-centos_sahara_cloudera_latest}
|
||||
cloudera_elements_sequence="base vm rhel hadoop-cloudera redhat-lsb selinux-permissive"
|
||||
|
||||
if [ -n "$USE_MIRRORS"]; then
|
||||
[ -n "$CENTOS_MIRROR" ] && cloudera_elements_sequence="$cloudera_elements_sequence centos-mirror"
|
||||
fi
|
||||
|
||||
disk-image-create $cloudera_elements_sequence -n -o $cloudera_centos_image_name
|
||||
mv $cloudera_centos_image_name.qcow2 ../
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
This element setups mirror for updating CentOS cloud image. Using mirror increases speed of building image.
|
||||
You should specify http url for CentOS mirror using parameter 'CENTOS_MIRROR'.
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
mv /opt/repos/* /etc/yum.repos.d/
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
mkdir -p /opt/repos
|
||||
mv /etc/yum.repos.d/* /opt/repos/
|
||||
cat >> /etc/yum.repos.d/centos.repo <<EOF
|
||||
[Local-Repository]
|
||||
name=CentOS \$releasever - \$basearch - Local
|
||||
baseurl=$CENTOS_MIRROR
|
||||
enabled=1
|
||||
gpgcheck=0
|
||||
priority=1
|
||||
EOF
|
||||
yum makecache
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
if [ -z "$CENTOS_MIRROR" ]; then
|
||||
echo "You should specify parameter 'CENTOS_MIRROR'"
|
||||
exit 2
|
||||
fi
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
mv /opt/repos/* /etc/yum.repos.d/
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/tempfile
|
||||
mkdir -p /opt/repos
|
||||
mv /etc/yum.repos.d/* /opt/repos
|
||||
cat >> /etc/yum.repos.d/fedora.repo <<EOF
|
||||
[Local-Repository]
|
||||
name=Fedora \$releasever - \$basearch - Local
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
mv /etc/yum.repos.d/tempfile /etc/yum.repos.d/fedora.repo
|
Loading…
Reference in New Issue