diff --git a/Makefile b/Makefile index 7ce3323339..b00ae6a243 100644 --- a/Makefile +++ b/Makefile @@ -196,7 +196,7 @@ requirements_awx_dev: requirements: requirements_ansible requirements_awx -requirements_dev: requirements requirements_awx_dev requirements_ansible_dev +requirements_dev: requirements_awx requirements_ansible_py3 requirements_awx_dev requirements_ansible_dev requirements_test: requirements diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index 6e81a9cced..53f07722a2 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -1,16 +1,16 @@ -FROM centos:7 +FROM centos:8 ARG UID=0 # Add ansible-devel so that we get collections! ADD tools/docker-compose/ansible_nightly.repo /etc/yum.repos.d/ansible_nightly.repo -RUN yum -y update && yum -y install epel-release && \ - yum -y install https://centos7.iuscommunity.org/ius-release.rpm \ - yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm - # sync with installer/roles/image_build/templates/Dockerfile.j2 -RUN yum -y install acl \ +RUN dnf -y update && \ + dnf -y install epel-release 'dnf-command(config-manager)' && \ + dnf module -y enable 'postgresql:10' && \ + dnf config-manager --set-enabled PowerTools && \ + dnf -y install acl \ alsa-lib \ ansible \ atk \ @@ -22,16 +22,13 @@ RUN yum -y install acl \ gcc \ gcc-c++ \ GConf2 \ - git2u \ - git2u-core \ + git \ gtk3 \ - ipa-gothic-fonts \ krb5-devel \ krb5-libs \ krb5-workstation \ libcurl-devel \ libffi-devel \ - libselinux-python \ libstdc++.so.6 \ libtool-ltdl-devel \ libcgroup-tools \ @@ -47,24 +44,23 @@ RUN yum -y install acl \ libXtst \ make \ mercurial \ - mg \ nginx \ nodejs \ + nss \ openldap-devel \ openssh-server \ patch \ - postgresql10 \ - postgresql10-contrib \ - postgresql10-devel \ - python-devel \ - python-pip \ - python-psutil \ - python-psycopg2 \ - python-setuptools \ - python36-devel \ - python36-setuptools \ + @postgresql:10 \ + postgresql-devel \ + python3-devel \ + python3-libselinux \ + python3-pip \ + python3-psutil \ + python3-psycopg2 \ + python3-setuptools \ + python3-devel \ + python3-setuptools \ rsync \ - setools-libs \ subversion \ sudo \ swig \ @@ -81,11 +77,11 @@ RUN yum -y install acl \ xorg-x11-fonts-misc \ xorg-x11-fonts-Type1 \ xorg-x11-utils \ - yum-utils + dnf-utils ENV PATH="/usr/pgsql-10/bin:${PATH}" -RUN yum install -y https://github.com/krallin/tini/releases/download/v0.18.0/tini_0.18.0.rpm +RUN dnf install -y https://github.com/krallin/tini/releases/download/v0.18.0/tini_0.18.0.rpm RUN /usr/bin/ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa RUN mkdir -p /data/db @@ -98,7 +94,7 @@ RUN openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/n RUN openssl x509 -req -days 365 -in /etc/nginx/nginx.csr -signkey /etc/nginx/nginx.key -out /etc/nginx/nginx.crt RUN python3 -m ensurepip && pip3 install virtualenv flake8 -RUN pip install supervisor +RUN pip3 install supervisor ADD Makefile /tmp/Makefile RUN mkdir /tmp/requirements @@ -117,23 +113,15 @@ RUN cd /tmp && VENV_BASE="/venv" make requirements_dev RUN npm install -g n RUN n 10.15.0 -# Install a newer SQLite to make Django happy (centos7 has a really old one, -# and we can probably stop doing this in centos8) -RUN curl -O "https://sqlite.org/2019/sqlite-autoconf-3290000.tar.gz" -RUN tar zxvf sqlite-autoconf-3290000.tar.gz -RUN cd sqlite-autoconf-3290000 && ./configure && make && make install -RUN mv -f /usr/local/lib/libsqlite3.so.0 /lib64/ -RUN mv -f /usr/local/lib/libsqlite3.so.0.8.6 /lib64/ - # Install OpenShift CLI RUN cd /usr/local/bin && \ curl -L https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz | \ tar -xz --strip-components=1 --wildcards --no-anchored 'oc' ADD tools/docker-compose/google-cloud-sdk.repo /etc/yum.repos.d/ -RUN yum install -y kubectl +RUN dnf install -y kubectl -RUN yum -y remove cyrus-sasl-devel \ +RUN dnf -y remove cyrus-sasl-devel \ gcc \ gcc-c++ \ krb5-devel \ @@ -148,11 +136,10 @@ RUN yum -y remove cyrus-sasl-devel \ xmlsec1-devel \ xmlsec1-openssl-devel -RUN yum -y clean all +RUN dnf -y clean all RUN rm -rf /root/.cache -RUN localedef -c -i en_US -f UTF-8 en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 diff --git a/tools/docker-compose/ansible_nightly.repo b/tools/docker-compose/ansible_nightly.repo index 183cba14e8..8742f3f9ac 100644 --- a/tools/docker-compose/ansible_nightly.repo +++ b/tools/docker-compose/ansible_nightly.repo @@ -1,4 +1,5 @@ [ansible-nightly] -baseurl=https://releases.ansible.com/ansible/rpm/nightly/devel/epel-7-$basearch +name=ansible-nightly +baseurl=https://releases.ansible.com/ansible/rpm/nightly/devel/epel-8-$basearch gpgcheck=0 enabled=1 diff --git a/tools/docker-compose/google-cloud-sdk.repo b/tools/docker-compose/google-cloud-sdk.repo index 098f56bc25..bff8d01ccd 100644 --- a/tools/docker-compose/google-cloud-sdk.repo +++ b/tools/docker-compose/google-cloud-sdk.repo @@ -1,6 +1,6 @@ [google-cloud-sdk] name=Google Cloud SDK -baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 +baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el8-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1