1.4. 자동화 대시보드 업그레이드
이 절차는 0.1 이전의 자동화 대시보드 버전에서 현재 버전으로 업그레이드할 때 적용됩니다. 이 프로세스에는 설치 프로그램을 실행하고 새 인증 요구 사항으로 클러스터 구성을 업데이트해야 합니다.
자동화 대시보드의 최신 업데이트에 대한 자세한 내용은 새로운 기능: 자동화 대시보드 업그레이드를 참조하십시오.
프로세스
- access.redhat.com에서 최신 설치 번들을 다운로드합니다. 다운로드 > Red Hat Ansible Automation Platform 제품 소프트웨어로 이동합니다.
- 번들을 새 디렉터리에 추출합니다.
-
이전 설치 디렉터리의
인벤토리파일을 새 디렉터리로 복사합니다. 필수 Redis 구성을 포함하도록
인벤토리파일을 편집합니다.[redis]그룹을 추가하고redis_mode변수를 정의해야 합니다.참고자동화 대시보드를 업그레이드할 때 +가 붙은 인벤토리 파일 행을 추가해야 합니다.
[database] host.example.com ansible_connection=local +[redis] +host.example.com ansible_connection=local + [all:vars] +redis_mode=standalone + postgresql_admin_username=postgres postgresql_admin_password=TODO # registry_username=새 디렉터리에서 설치 플레이북을 실행합니다.
ansible-galaxy collection install -r requirements.yml ansible-playbook -i inventory ansible.containerized_installer.dashboard_install --ask-become-passclusters.yaml파일을 업데이트합니다.refresh_token,client_id,client_secret변수를 기존 클러스터 구성에 추가해야 합니다.참고이러한 값을 얻는 방법에 대한 자세한 내용은 Ansible Automation Platform과 자동화 대시보드 통합을 참조하십시오.
업데이트된 구성을 대시보드에 적용합니다. 구성 파일을 컨테이너의
/tmp/디렉터리에 복사해야 합니다.podman cp clusters.yaml automation-dashboard-web:/tmp/ podman exec -it automation-dashboard-web /venv/bin/python manage.py setclusters /tmp/clusters.yaml
검증
현재 클러스터 구성을 검색합니다.
podman exec -it automation-dashboard-web /venv/bin/python ./manage.py getclusters --decrypt-
출력에
access_token,refresh_token,client_id,client_secret필드를 포함한 cluster.yaml파일의 콘텐츠가 표시되는지 확인합니다.
1.4.1. 동기화 실패 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
Ansible Automation Platform의 새 작업이 업그레이드 후 자동화 대시보드에 동기화되지 않으면 중단된 동기화 작업이 프로세스를 차단하고 있을 수 있습니다. 이는 동기화 작업이 활성화된 동안 자동화 대시보드 서비스가 중지되거나 다시 시작되면 발생합니다.
이 문제를 해결하려면 데이터베이스에서 중단된 작업을 수동으로 제거해야 합니다.
사전 요구 사항
- 호스트 머신에 대한 ssh 액세스 권한이 있어야 합니다.
-
인벤토리 파일에 정의된 데이터베이스 사용자 암호를 포함하여 PostgreSQL 데이터베이스에 액세스할 수 있습니다(변수
dashboard_pg_password).
프로세스
자동화 대시보드 데이터베이스에 연결합니다. <
password>를 구성된dashboard_pg_password로 교체해야 합니다. 외부 데이터베이스를 사용하는 경우 127.0.0.1을 데이터베이스 서버 주소로 바꿉니다.POSTGRES_PASSWORD=<password> psql -h 127.0.0.1 -p 5432 -U aapdashboard -d aapdashboard보류 중이거나 실행 중인 상태인 작업을 식별합니다.
SELECT * FROM scheduler_syncjob WHERE status IN ('pending','waiting','running');- 약 1분 정도 기다린 후 명령을 다시 실행합니다. 동일한 작업 ID가 출력에 표시되면 이러한 작업이 중단됩니다.
ID를 사용하여 정지된 작업을 삭제합니다. &
lt;id>를 이전 단계에서 반환된 ID로 바꿉니다(예:20, 21).DELETE from scheduler_syncjob WHERE id IN (<id>);
검증
- 자동화 대시보드를 새로 고침하여 동기화가 다시 시작되었는지 확인합니다.