-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4814 from sosiouxme/20170720-release-3.6-cherrypicks
master cherry picks for 3.6.1
- Loading branch information
Showing
69 changed files
with
2,064 additions
and
766 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,12 @@ | ||
.* | ||
bin | ||
docs | ||
hack | ||
inventory | ||
test | ||
utils | ||
**/*.md | ||
*.spec | ||
*.ini | ||
*.txt | ||
setup* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,46 @@ | ||
# Using playbook2image as a base | ||
# See https://github.com/openshift/playbook2image for details on the image | ||
# including documentation for the settings/env vars referenced below | ||
FROM registry.centos.org/openshift/playbook2image:latest | ||
FROM centos:7 | ||
|
||
MAINTAINER OpenShift Team <dev@lists.openshift.redhat.com> | ||
|
||
USER root | ||
|
||
# Add origin repo for including the oc client | ||
COPY images/installer/origin-extra-root / | ||
|
||
# install ansible and deps | ||
RUN INSTALL_PKGS="python-lxml pyOpenSSL python2-cryptography openssl java-1.8.0-openjdk-headless python2-passlib httpd-tools openssh-clients origin-clients" \ | ||
&& yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS \ | ||
&& EPEL_PKGS="ansible python2-boto" \ | ||
&& yum install -y epel-release \ | ||
&& yum install -y --setopt=tsflags=nodocs $EPEL_PKGS \ | ||
&& rpm -V $INSTALL_PKGS $EPEL_PKGS \ | ||
&& yum clean all | ||
|
||
LABEL name="openshift/origin-ansible" \ | ||
summary="OpenShift's installation and configuration tool" \ | ||
description="A containerized openshift-ansible image to let you run playbooks to install, upgrade, maintain and check an OpenShift cluster" \ | ||
url="https://github.com/openshift/openshift-ansible" \ | ||
io.k8s.display-name="openshift-ansible" \ | ||
io.k8s.description="A containerized openshift-ansible image to let you run playbooks to install, upgrade, maintain and check an OpenShift cluster" \ | ||
io.openshift.expose-services="" \ | ||
io.openshift.tags="openshift,install,upgrade,ansible" | ||
io.openshift.tags="openshift,install,upgrade,ansible" \ | ||
atomic.run="once" | ||
|
||
USER root | ||
ENV USER_UID=1001 \ | ||
HOME=/opt/app-root/src \ | ||
WORK_DIR=/usr/share/ansible/openshift-ansible \ | ||
OPTS="-v" | ||
|
||
# Create a symlink to /opt/app-root/src so that files under /usr/share/ansible are accessible. | ||
# This is required since the system-container uses by default the playbook under | ||
# /usr/share/ansible/openshift-ansible. With this change we won't need to keep two different | ||
# configurations for the two images. | ||
RUN mkdir -p /usr/share/ansible/ && ln -s /opt/app-root/src /usr/share/ansible/openshift-ansible | ||
# Add image scripts and files for running as a system container | ||
COPY images/installer/root / | ||
# Include playbooks, roles, plugins, etc. from this repo | ||
COPY . ${WORK_DIR} | ||
|
||
RUN INSTALL_PKGS="skopeo openssl java-1.8.0-openjdk-headless httpd-tools" && \ | ||
yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ | ||
rpm -V $INSTALL_PKGS && \ | ||
yum clean all | ||
RUN /usr/local/bin/user_setup \ | ||
&& rm /usr/local/bin/usage.ocp | ||
|
||
USER ${USER_UID} | ||
|
||
# The playbook to be run is specified via the PLAYBOOK_FILE env var. | ||
# This sets a default of openshift_facts.yml as it's an informative playbook | ||
# that can help test that everything is set properly (inventory, sshkeys) | ||
ENV PLAYBOOK_FILE=playbooks/byo/openshift_facts.yml \ | ||
OPTS="-v" \ | ||
INSTALL_OC=true | ||
|
||
# playbook2image's assemble script expects the source to be available in | ||
# /tmp/src (as per the source-to-image specs) so we import it there | ||
ADD . /tmp/src | ||
|
||
# Running the 'assemble' script provided by playbook2image will install | ||
# dependencies specified in requirements.txt and install the 'oc' client | ||
# as per the INSTALL_OC environment setting above | ||
RUN /usr/libexec/s2i/assemble | ||
|
||
# Add files for running as a system container | ||
COPY images/installer/system-container/root / | ||
|
||
CMD [ "/usr/libexec/s2i/run" ] | ||
WORKDIR ${WORK_DIR} | ||
ENTRYPOINT [ "/usr/local/bin/entrypoint" ] | ||
CMD [ "/usr/local/bin/run" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,46 @@ | ||
FROM openshift3/playbook2image | ||
FROM rhel7.3:7.3-released | ||
|
||
MAINTAINER OpenShift Team <dev@lists.openshift.redhat.com> | ||
|
||
# override env vars from base image | ||
ENV SUMMARY="OpenShift's installation and configuration tool" \ | ||
DESCRIPTION="A containerized openshift-ansible image to let you run playbooks to install, upgrade, maintain and check an OpenShift cluster" | ||
USER root | ||
|
||
# Playbooks, roles, and their dependencies are installed from packages. | ||
RUN INSTALL_PKGS="atomic-openshift-utils atomic-openshift-clients python-boto openssl java-1.8.0-openjdk-headless httpd-tools" \ | ||
&& yum repolist > /dev/null \ | ||
&& yum-config-manager --enable rhel-7-server-ose-3.6-rpms \ | ||
&& yum-config-manager --enable rhel-7-server-rh-common-rpms \ | ||
&& yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS \ | ||
&& rpm -q $INSTALL_PKGS \ | ||
&& yum clean all | ||
|
||
LABEL name="openshift3/ose-ansible" \ | ||
summary="$SUMMARY" \ | ||
description="$DESCRIPTION" \ | ||
summary="OpenShift's installation and configuration tool" \ | ||
description="A containerized openshift-ansible image to let you run playbooks to install, upgrade, maintain and check an OpenShift cluster" \ | ||
url="https://github.com/openshift/openshift-ansible" \ | ||
io.k8s.display-name="openshift-ansible" \ | ||
io.k8s.description="$DESCRIPTION" \ | ||
io.k8s.description="A containerized openshift-ansible image to let you run playbooks to install, upgrade, maintain and check an OpenShift cluster" \ | ||
io.openshift.expose-services="" \ | ||
io.openshift.tags="openshift,install,upgrade,ansible" \ | ||
com.redhat.component="aos3-installation-docker" \ | ||
version="v3.6.0" \ | ||
release="1" \ | ||
architecture="x86_64" | ||
|
||
# Playbooks, roles and their dependencies are installed from packages. | ||
# Unlike in Dockerfile, we don't invoke the 'assemble' script here | ||
# because all content and dependencies (like 'oc') is already | ||
# installed via yum. | ||
USER root | ||
RUN INSTALL_PKGS="atomic-openshift-utils atomic-openshift-clients python-boto skopeo openssl java-1.8.0-openjdk-headless httpd-tools" && \ | ||
yum repolist > /dev/null && \ | ||
yum-config-manager --enable rhel-7-server-ose-3.6-rpms && \ | ||
yum-config-manager --enable rhel-7-server-rh-common-rpms && \ | ||
yum install -y $INSTALL_PKGS && \ | ||
yum clean all | ||
|
||
# The symlinks below are a (hopefully temporary) hack to work around the fact that this | ||
# image is based on python s2i which uses the python27 SCL instead of system python, | ||
# and so the system python modules we need would otherwise not be in the path. | ||
RUN ln -s /usr/lib/python2.7/site-packages/{boto,passlib} /opt/app-root/lib64/python2.7/ | ||
|
||
USER ${USER_UID} | ||
architecture="x86_64" \ | ||
atomic.run="once" | ||
|
||
# The playbook to be run is specified via the PLAYBOOK_FILE env var. | ||
# This sets a default of openshift_facts.yml as it's an informative playbook | ||
# that can help test that everything is set properly (inventory, sshkeys). | ||
# As the playbooks are installed via packages instead of being copied to | ||
# $APP_HOME by the 'assemble' script, we set the WORK_DIR env var to the | ||
# location of openshift-ansible. | ||
ENV PLAYBOOK_FILE=playbooks/byo/openshift_facts.yml \ | ||
ANSIBLE_CONFIG=/usr/share/atomic-openshift-utils/ansible.cfg \ | ||
ENV USER_UID=1001 \ | ||
HOME=/opt/app-root/src \ | ||
WORK_DIR=/usr/share/ansible/openshift-ansible \ | ||
ANSIBLE_CONFIG=/usr/share/atomic-openshift-utils/ansible.cfg \ | ||
OPTS="-v" | ||
|
||
# Add files for running as a system container | ||
COPY system-container/root / | ||
# Add image scripts and files for running as a system container | ||
COPY root / | ||
|
||
RUN /usr/local/bin/user_setup \ | ||
&& mv /usr/local/bin/usage{.ocp,} | ||
|
||
USER ${USER_UID} | ||
|
||
CMD [ "/usr/libexec/s2i/run" ] | ||
WORKDIR ${WORK_DIR} | ||
ENTRYPOINT [ "/usr/local/bin/entrypoint" ] | ||
CMD [ "/usr/local/bin/run" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
images/installer/origin-extra-root/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-----BEGIN PGP PUBLIC KEY BLOCK----- | ||
Version: GnuPG v2.0.22 (GNU/Linux) | ||
|
||
mQENBFc8iwUBCADadBGYmA2nFvq79/5uxUQOiPqC/QflWcPX1B6SQKniUhyqaSes | ||
gNMJsPppKRV4NZKITcL8lZ90+Gds0fmL3b5xz1r5Rfm3ilSItEqeGlLIJZBvANyx | ||
rAT3q8EgkkVRyhZPseUMZj04O8OKnt1jrHakVkOp0lJClqhZ+bs/7yLRmaLXTcum | ||
+ouqUKzQoAEDnqe9nJmmJhC6n2vg7o0PCo/9qOf/scQbv4FNoJfmkcVLRmwmqzgh | ||
bGj6QaOgij3sl94pZ3HFop4f+eU0kNbyt9J18fKI8X0DdHkDW8kO1UwwHT2ibJ1t | ||
mBaUsE1zZ0DvfyFad1xXAgm+SIlJgdpPvPNLABEBAAG0WUNlbnRPUyBQYWFTIFNJ | ||
RyAoaHR0cHM6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lhbEludGVyZXN0R3JvdXAv | ||
UGFhUykgPHNlY3VyaXR5QGNlbnRvcy5vcmc+iQE5BBMBAgAjBQJXPIsFAhsDBwsJ | ||
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQw0xb1C8pfsyT2gf9FqJoc8oZ+T5A | ||
8cZslMyCWziPi0o7kd/Rw91T7dkV+VIC+sFlVga7fkPEAiD8U7JFE+a1IlcjfGuY | ||
my4S6UH8K5zL36CRg2MF112HE5TWoBxF3KZg9nOJQ2NLapJowaP8uITYG4vlgV3g | ||
GJD2OC191tjcqmelFnhAN0EBdxrRrBJ7tr3OCtL6bJ6NPQ0bXPI2Fjbm7SbxTfpE | ||
ggEU8R7WZQApYgl8zRfyS12SfpFV8ZU+lIBmJaU1qaY4/BmNgG6e7clmq8xVZQLg | ||
ZH9qi9+HPh+80+8/WhJUddlVXc2g6c4VjnnFpZfsrMdTAFuEsrjkyaxqeBjXCgbb | ||
pzGjTg0LXg== | ||
=CVSF | ||
-----END PGP PUBLIC KEY BLOCK----- |
7 changes: 7 additions & 0 deletions
7
images/installer/origin-extra-root/etc/yum.repos.d/centos-openshift-origin.repo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
|
||
[centos-openshift-origin] | ||
name=CentOS OpenShift Origin | ||
baseurl=http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin/ | ||
enabled=1 | ||
gpgcheck=1 | ||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash -e | ||
# | ||
# This file serves as the main entrypoint to the openshift-ansible image. | ||
# | ||
# For more information see the documentation: | ||
# https://github.com/openshift/openshift-ansible/blob/master/README_CONTAINER_IMAGE.md | ||
|
||
|
||
# Patch /etc/passwd file with the current user info. | ||
# The current user's entry must be correctly defined in this file in order for | ||
# the `ssh` command to work within the created container. | ||
|
||
if ! whoami &>/dev/null; then | ||
echo "${USER:-default}:x:$(id -u):$(id -g):Default User:$HOME:/sbin/nologin" >> /etc/passwd | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
#!/bin/bash -e | ||
# | ||
# This file serves as the default command to the openshift-ansible image. | ||
# Runs a playbook with inventory as specified by environment variables. | ||
# | ||
# For more information see the documentation: | ||
# https://github.com/openshift/openshift-ansible/blob/master/README_CONTAINER_IMAGE.md | ||
|
||
# SOURCE and HOME DIRECTORY: /opt/app-root/src | ||
|
||
if [[ -z "${PLAYBOOK_FILE}" ]]; then | ||
echo | ||
echo "PLAYBOOK_FILE must be provided." | ||
exec /usr/local/bin/usage | ||
fi | ||
|
||
INVENTORY="$(mktemp)" | ||
if [[ -v INVENTORY_FILE ]]; then | ||
# Make a copy so that ALLOW_ANSIBLE_CONNECTION_LOCAL below | ||
# does not attempt to modify the original | ||
cp -a ${INVENTORY_FILE} ${INVENTORY} | ||
elif [[ -v INVENTORY_URL ]]; then | ||
curl -o ${INVENTORY} ${INVENTORY_URL} | ||
elif [[ -v DYNAMIC_SCRIPT_URL ]]; then | ||
curl -o ${INVENTORY} ${DYNAMIC_SCRIPT_URL} | ||
chmod 755 ${INVENTORY} | ||
else | ||
echo | ||
echo "One of INVENTORY_FILE, INVENTORY_URL or DYNAMIC_SCRIPT_URL must be provided." | ||
exec /usr/local/bin/usage | ||
fi | ||
INVENTORY_ARG="-i ${INVENTORY}" | ||
|
||
if [[ "$ALLOW_ANSIBLE_CONNECTION_LOCAL" = false ]]; then | ||
sed -i s/ansible_connection=local// ${INVENTORY} | ||
fi | ||
|
||
if [[ -v VAULT_PASS ]]; then | ||
VAULT_PASS_FILE=.vaultpass | ||
echo ${VAULT_PASS} > ${VAULT_PASS_FILE} | ||
VAULT_PASS_ARG="--vault-password-file ${VAULT_PASS_FILE}" | ||
fi | ||
|
||
cd ${WORK_DIR} | ||
|
||
exec ansible-playbook ${INVENTORY_ARG} ${VAULT_PASS_ARG} ${OPTS} ${PLAYBOOK_FILE} |
File renamed without changes.
Oops, something went wrong.