| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- - name: Online RPM repo
- shell: |
- cat > /etc/yum.repos.d/yunion.repo <<EOF_MISC
- [yunion-repo-base]
- name=Packages for Yunion Cloud Platform
- baseurl=https://iso.yunion.cn/rpm/{{ centos_version }}/{{ ansible_architecture }}
- sslverify=0
- failovermethod=priority
- enabled=1
- gpgcheck=0
- priority=1
- module_hotfixes=true
- [yunion-repo-updates]
- name=Updated Packages for Yunion Cloud Platform
- baseurl=https://iso.yunion.cn/rpm-updates/{{ansible_architecture}}
- sslverify=0
- failovermethod=priority
- enabled=1
- gpgcheck=0
- priority=2
- module_hotfixes=true
- EOF_MISC
- become: yes
- args:
- executable: /bin/bash
- when:
- - online_status is defined
- - online_status == 'online'
- - name: Add cloud rpm repository {{ online_status }} {{ ansible_architecture }}
- template:
- src: yunion.repo.j2
- dest: /etc/yum.repos.d/yunion.repo
- when:
- - online_status is defined
- - online_status == 'offline'
- - name: Append ovs_preinstall_packages to preinstall_packages if ovs_preinstall_packages is defined
- set_fact:
- preinstall_packages: "{{ preinstall_packages + ovs_preinstall_packages }}"
- when:
- - ovs_preinstall_packages is defined
- - preinstall_packages is defined
- - onecloud_version is version('v4.0', '<')
- - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
- - name: Append ceph_preinstall_packages to preinstall_packages if ceph_preinstall_packages is defined
- set_fact:
- preinstall_packages: "{{ preinstall_packages + ceph_preinstall_packages }}"
- when:
- - ceph_preinstall_packages is defined
- - preinstall_packages is defined
- - onecloud_version is version('v4.0', '<')
- - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
- - name: Install Preinstall Packages Via Loop
- package:
- name: "{{ package_item }}"
- disablerepo: ["*nfv*", "*ceph*"]
- enablerepo: ["baseos"]
- retries: 3
- delay: 3
- with_items:
- - "{{ preinstall_packages }}"
- loop_control:
- index_var: item_index
- label: "[{{ '%02d'|format(item_index + 1) }}/{{ preinstall_packages|length }}] {{ package_item }}"
- loop_var: package_item
- become: yes
- tags:
- - package
- when:
- - preinstall_packages is defined
- - online_status == 'online'
- - name: Declare imported_repos fact if imported_repos is not defined
- set_fact:
- imported_repos: []
- when:
- - imported_repos is not defined
- - onecloud_version is version('v4.0', '<')
- - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
- - name: Append ovs_imported_repos to imported_repos if ovs_imported_repos is defined
- set_fact:
- imported_repos: "{{ imported_repos + ovs_imported_repos }}"
- when:
- - ovs_imported_repos is defined
- - imported_repos is defined
- - onecloud_version is version('v4.0', '<')
- - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
- - name: Append ceph_imported_repos to imported_repos if ceph_imported_repos is defined
- set_fact:
- imported_repos: "{{ imported_repos + ceph_imported_repos }}"
- when:
- - ceph_imported_repos is defined
- - imported_repos is defined
- - onecloud_version is version('v4.0', '<')
- - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
- - name: Import additional repos
- shell: |
- REPO_NAME="yunion-repo-extra-{{ item_index }}"
- REPO_FILE="/etc/yum.repos.d/yunion-extra.repo"
- touch $REPO_FILE
- if ! grep -q $REPO_NAME $REPO_FILE; then
- cat >> $REPO_FILE <<EOF_MISC
- [yunion-repo-extra-{{ item_index }}]
- name=Extra Packages {{ item_index }} for Yunion Cloud Platform
- baseurl={{ import_repo }}
- sslverify=0
- failovermethod=priority
- enabled=1
- gpgcheck=0
- priority=1
- EOF_MISC
- fi
- with_items:
- - "{{ imported_repos }}"
- loop_control:
- index_var: item_index
- label: "[{{ '%02d'|format(item_index + 1) }}/{{ imported_repos|length }}] {{ import_repo }}"
- loop_var: import_repo
- become: yes
- when:
- - imported_repos is defined
- - online_status == 'online'
|