Install AWX on OpenShift v311

From Bitbull Wiki
Jump to navigation Jump to search

1 awx install(executed on master)

VERS="16.0.0"
oc new-project awx
mkdir Tower
cd Tower/
git clone https://github.com/ansible/awx.git -b "$VERS"
cd awx
cd installer/
sed -i 's@registry.access.redhat.com/rhscl/postgresql-10-rhel7@docker.io/centos/postgresql-10-centos7@' roles/kubernetes/templates/postgresql-persistent.yml.j2 roles/kubernetes/tasks/main.yml
fgrep -lir -- -rhel7 *
echo '/exports/awx-pg *(rw,async)' > /etc/exports.d/awx-pg.exports
exportfs -r
cat > pv.yml <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
  name: awx-pg
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteMany
  - ReadWriteOnce
  nfs:
    path: /exports/awx-pg
    server: nfs.my-storage.local
  persistentVolumeReclaimPolicy: Retain
EOF
cat > pvc.yml <<EOF
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
 name: "postgresql"
spec:
 accessModes:
  - "ReadWriteOnce"
  - "ReadWriteMany"
 resources:
  requests:
   storage: "5Gi"
  volumeName: awx-pg
EOF
oc create -f pv.yml
oc create -f pvc.yml
cat > inventory.os311 <<EOF
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"
[all:vars]
dockerhub_base=ansible
dockerhub_version=16.0.0
openshift_host=127.0.0.1:8443
openshift_project=awx
openshift_user=admin
openshift_skip_tls_verify=True
openshift_pg_emptydir=False
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir="~/.awx/pgdocker"
host_port=80
host_port_ssl=443
docker_compose_dir="~/.awx/awxcompose"
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=!change!me!
create_preload_data=False
secret_key=awxsecret

EOF
ansible-playbook -i inventory.os311 install.yml -e openshift_token=$(oc whoami -t)

2 awx upgrade(executed on master)

# I expect the installation mentioned above
VERS="16.0.0"
oc project awx
mkdir Tower
cd Tower/awx
git pull  https://github.com/ansible/awx.git $VERS
cd installer/
ansible-playbook -i inventory.os311 install.yml -e openshift_token=$(oc whoami -t)
# everything went fine, but the exposed route did not met my requirements
# so I deleted and recreated route for my needs
# everything else worked as expected
  • WARNING
Remember that the admin account password get reverted to "password" defined inf variable
this is probably not what you want



3 tower-cli

3.1 setup

pip install --upgrade ansible-tower-cli

3.2 export tower settings

  • credentials and keys get not exported
tower-cli config host http://<old-awx-host.example.com>
tower-cli config username <user>
tower-cli config password <pass>
tower-cli receive --all > assets.json
tower-cli logout

3.3 import tower settings

tower-cli config host http://<new-awx-host.example.com>
tower-cli config username <user>
tower-cli config password <pass>
tower-cli send assets.json
tower-cli logout

[Category:OpenShift & K8S]