diff options
author | Shane McDonald <me@shanemcd.com> | 2019-10-30 19:57:56 +0100 |
---|---|---|
committer | Shane McDonald <me@shanemcd.com> | 2019-10-30 21:43:23 +0100 |
commit | c019d873b93a983e605f3f3fcfcf0ad021b29a81 (patch) | |
tree | c18e255ff270c52c3cb0c7ad87664a7e85ea6a3f /installer/roles | |
parent | Merge pull request #5172 from wenottingham/sweet-but-psycopg (diff) | |
download | awx-c019d873b93a983e605f3f3fcfcf0ad021b29a81.tar.xz awx-c019d873b93a983e605f3f3fcfcf0ad021b29a81.zip |
Update AWX images to CentOS 8
Diffstat (limited to 'installer/roles')
6 files changed, 29 insertions, 76 deletions
diff --git a/installer/roles/image_build/files/ansible.repo b/installer/roles/image_build/files/ansible.repo deleted file mode 100644 index db220a8c84..0000000000 --- a/installer/roles/image_build/files/ansible.repo +++ /dev/null @@ -1,6 +0,0 @@ -[ansible] -name=Ansible for Enterprise Linux 7 - $basearch -baseurl=https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/ -enabled=1 -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ansible-release diff --git a/installer/roles/image_build/files/google-cloud-sdk.repo b/installer/roles/image_build/files/google-cloud-sdk.repo index 098f56bc25..bff8d01ccd 100644 --- a/installer/roles/image_build/files/google-cloud-sdk.repo +++ b/installer/roles/image_build/files/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 diff --git a/installer/roles/image_build/files/supervisor.conf b/installer/roles/image_build/files/supervisor.conf index cc198159b4..1409b8b2c2 100644 --- a/installer/roles/image_build/files/supervisor.conf +++ b/installer/roles/image_build/files/supervisor.conf @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:uwsgi] -command = /usr/bin/scl enable rh-postgresql10 '/var/lib/awx/venv/awx/bin/uwsgi --socket 127.0.0.1:8050 --module=awx.wsgi:application --vacuum --processes=5 --harakiri=120 --no-orphans --master --max-requests=1000 --master-fifo=/var/lib/awx/awxfifo --lazy-apps -b 32768' +command = /var/lib/awx/venv/awx/bin/uwsgi --socket 127.0.0.1:8050 --module=awx.wsgi:application --vacuum --processes=5 --harakiri=120 --no-orphans --master --max-requests=1000 --master-fifo=/var/lib/awx/awxfifo --lazy-apps -b 32768 directory = /var/lib/awx autostart = true autorestart = true @@ -25,7 +25,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:daphne] -command = /usr/bin/scl enable rh-postgresql10 '/var/lib/awx/venv/awx/bin/daphne -b 127.0.0.1 -p 8051 --websocket_timeout -1 awx.asgi:channel_layer' +command = /var/lib/awx/venv/awx/bin/daphne -b 127.0.0.1 -p 8051 --websocket_timeout -1 awx.asgi:channel_layer directory = /var/lib/awx autostart = true autorestart = true diff --git a/installer/roles/image_build/tasks/main.yml b/installer/roles/image_build/tasks/main.yml index 10b676f931..1cfb962126 100644 --- a/installer/roles/image_build/tasks/main.yml +++ b/installer/roles/image_build/tasks/main.yml @@ -173,18 +173,6 @@ dest: "{{ docker_base_path }}/Makefile" delegate_to: localhost -- name: Stage ansible repo - copy: - src: 'ansible.repo' - dest: '{{ docker_base_path }}/ansible.repo' - delegate_to: localhost - -- name: Stage ansible repo key - copy: - src: 'RPM-GPG-KEY-ansible-release' - dest: '{{ docker_base_path }}/RPM-GPG-KEY-ansible-release' - delegate_to: localhost - - name: Build base web image docker_image: build: diff --git a/installer/roles/image_build/templates/Dockerfile.j2 b/installer/roles/image_build/templates/Dockerfile.j2 index 8528aa26f3..19d2c035f2 100644 --- a/installer/roles/image_build/templates/Dockerfile.j2 +++ b/installer/roles/image_build/templates/Dockerfile.j2 @@ -1,75 +1,57 @@ -FROM centos:7 +FROM centos:8 USER root -ADD ansible.repo /etc/yum.repos.d/ansible.repo -ADD RPM-GPG-KEY-ansible-release /etc/pki/rpm-gpg/RPM-GPG-KEY-ansible-release - - -# add rhscl repo for rh-postgresql-devel -RUN yum -y install centos-release-scl -RUN yum-config-manager --enable rhel-server-rhscl-7-rpms - -RUN yum -y update && yum -y install epel-release && yum -y install https://centos7.iuscommunity.org/ius-release.rpm - -# sync with tools/docker-compose/Dockerfile -RUN yum -y install acl \ +# sync with installer/roles/image_build/templates/Dockerfile.j2 +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 \ ansible \ bubblewrap \ curl \ - cyrus-sasl \ - cyrus-sasl-devel \ gcc \ gcc-c++ \ - git2u \ - git2u-core \ - krb5-devel \ - krb5-libs \ + git-core \ krb5-workstation \ libcurl-devel \ libffi-devel \ - libselinux-python \ libstdc++.so.6 \ libtool-ltdl-devel \ - libxml2-devel \ - libxslt-devel \ + libcgroup-tools \ make \ mercurial \ - mg \ nginx \ nodejs \ + nss \ openldap-devel \ openssh-server \ - rh-postgresql10-postgresql-devel \ - rh-postgresql10-postgresql-server-syspaths \ - scl-utils-build \ - scl-utils \ - python-devel \ - python-pip \ - python-psutil \ - python-psycopg2 \ - python-setuptools \ - python36-devel \ - python36-setuptools \ + patch \ + @postgresql:10 \ + postgresql-devel \ + python3-devel \ + python3-libselinux \ + python3-pip \ + python3-setuptools \ rsync \ - setools-libs \ subversion \ sudo \ swig \ tmux \ unzip \ - vim \ + vim-minimal \ xmlsec1 \ xmlsec1-devel \ xmlsec1-openssl \ xmlsec1-openssl-devel \ - yum-utils + dnf-utils ADD https://github.com/krallin/tini/releases/download/v0.14.0/tini /tini RUN chmod +x /tini RUN python3 -m ensurepip && pip3 install virtualenv -RUN pip install supervisor +RUN pip3 install supervisor ADD Makefile /tmp/Makefile RUN mkdir /tmp/requirements @@ -80,30 +62,19 @@ ADD requirements/requirements_ansible.txt \ requirements/requirements_tower_uninstall.txt \ requirements/requirements_git.txt \ /tmp/requirements/ -RUN scl enable rh-postgresql10 'cd /tmp && VENV_BASE="/var/lib/awx/venv" make requirements' +RUN cd /tmp && VENV_BASE="/var/lib/awx/venv" make requirements_awx requirements_ansible_py3 -RUN yum -y remove cyrus-sasl-devel \ +RUN dnf -y remove *-devel \ gcc \ gcc-c++ \ - krb5-devel \ - libtool-ltdl-devel \ - libxml2-devel \ - libxslt-devel \ - openldap-devel \ - rh-postgresql10-postgresql-devel \ - python-devel \ - python36-devel \ - nodejs \ - xmlsec1-devel \ - xmlsec1-openssl-devel + nodejs # makes postgres available for data migrations when upgrading RUN export PATH=/usr/pgsql-10/bin:$PATH -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 @@ -131,7 +102,7 @@ RUN cd /usr/local/bin && \ tar -xz --strip-components=1 --wildcards --no-anchored 'oc' ADD google-cloud-sdk.repo /etc/yum.repos.d/ -RUN yum install -y kubectl +RUN dnf install -y kubectl RUN find /var/lib/awx -not -path '/var/lib/awx/venv*' | xargs chgrp root RUN find /var/lib/awx -not -path '/var/lib/awx/venv*' | xargs chmod g+w diff --git a/installer/roles/image_build/templates/Dockerfile.task.j2 b/installer/roles/image_build/templates/Dockerfile.task.j2 index 6e3bf4e3f0..a7bc0c7ed6 100644 --- a/installer/roles/image_build/templates/Dockerfile.task.j2 +++ b/installer/roles/image_build/templates/Dockerfile.task.j2 @@ -1,6 +1,6 @@ FROM {{ web_image }}:{{ awx_version }} USER 0 -RUN sudo yum -y remove nginx +RUN sudo dnf -y remove nginx USER 1000 EXPOSE 8052 CMD /usr/bin/launch_awx_task.sh |