redhat-general-repo.yml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. - name: Online RPM repo
  2. shell: |
  3. cat > /etc/yum.repos.d/yunion.repo <<EOF_MISC
  4. [yunion-repo-base]
  5. name=Packages for Yunion Cloud Platform
  6. baseurl=https://iso.yunion.cn/rpm/{{ centos_version }}/{{ ansible_architecture }}
  7. sslverify=0
  8. failovermethod=priority
  9. enabled=1
  10. gpgcheck=0
  11. priority=1
  12. module_hotfixes=true
  13. [yunion-repo-updates]
  14. name=Updated Packages for Yunion Cloud Platform
  15. baseurl=https://iso.yunion.cn/rpm-updates/{{ansible_architecture}}
  16. sslverify=0
  17. failovermethod=priority
  18. enabled=1
  19. gpgcheck=0
  20. priority=2
  21. module_hotfixes=true
  22. EOF_MISC
  23. become: yes
  24. args:
  25. executable: /bin/bash
  26. when:
  27. - online_status is defined
  28. - online_status == 'online'
  29. - name: Add cloud rpm repository {{ online_status }} {{ ansible_architecture }}
  30. template:
  31. src: yunion.repo.j2
  32. dest: /etc/yum.repos.d/yunion.repo
  33. when:
  34. - online_status is defined
  35. - online_status == 'offline'
  36. - name: Append ovs_preinstall_packages to preinstall_packages if ovs_preinstall_packages is defined
  37. set_fact:
  38. preinstall_packages: "{{ preinstall_packages + ovs_preinstall_packages }}"
  39. when:
  40. - ovs_preinstall_packages is defined
  41. - preinstall_packages is defined
  42. - onecloud_version is version('v4.0', '<')
  43. - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
  44. - name: Append ceph_preinstall_packages to preinstall_packages if ceph_preinstall_packages is defined
  45. set_fact:
  46. preinstall_packages: "{{ preinstall_packages + ceph_preinstall_packages }}"
  47. when:
  48. - ceph_preinstall_packages is defined
  49. - preinstall_packages is defined
  50. - onecloud_version is version('v4.0', '<')
  51. - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
  52. - name: Install Preinstall Packages Via Loop
  53. package:
  54. name: "{{ package_item }}"
  55. disablerepo: ["*nfv*", "*ceph*"]
  56. enablerepo: ["baseos"]
  57. retries: 3
  58. delay: 3
  59. with_items:
  60. - "{{ preinstall_packages }}"
  61. loop_control:
  62. index_var: item_index
  63. label: "[{{ '%02d'|format(item_index + 1) }}/{{ preinstall_packages|length }}] {{ package_item }}"
  64. loop_var: package_item
  65. become: yes
  66. tags:
  67. - package
  68. when:
  69. - preinstall_packages is defined
  70. - online_status == 'online'
  71. - name: Declare imported_repos fact if imported_repos is not defined
  72. set_fact:
  73. imported_repos: []
  74. when:
  75. - imported_repos is not defined
  76. - onecloud_version is version('v4.0', '<')
  77. - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
  78. - name: Append ovs_imported_repos to imported_repos if ovs_imported_repos is defined
  79. set_fact:
  80. imported_repos: "{{ imported_repos + ovs_imported_repos }}"
  81. when:
  82. - ovs_imported_repos is defined
  83. - imported_repos is defined
  84. - onecloud_version is version('v4.0', '<')
  85. - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
  86. - name: Append ceph_imported_repos to imported_repos if ceph_imported_repos is defined
  87. set_fact:
  88. imported_repos: "{{ imported_repos + ceph_imported_repos }}"
  89. when:
  90. - ceph_imported_repos is defined
  91. - imported_repos is defined
  92. - onecloud_version is version('v4.0', '<')
  93. - upgrade_onecloud_version is not defined or upgrade_onecloud_version is version('v4.0', '<')
  94. - name: Import additional repos
  95. shell: |
  96. REPO_NAME="yunion-repo-extra-{{ item_index }}"
  97. REPO_FILE="/etc/yum.repos.d/yunion-extra.repo"
  98. touch $REPO_FILE
  99. if ! grep -q $REPO_NAME $REPO_FILE; then
  100. cat >> $REPO_FILE <<EOF_MISC
  101. [yunion-repo-extra-{{ item_index }}]
  102. name=Extra Packages {{ item_index }} for Yunion Cloud Platform
  103. baseurl={{ import_repo }}
  104. sslverify=0
  105. failovermethod=priority
  106. enabled=1
  107. gpgcheck=0
  108. priority=1
  109. EOF_MISC
  110. fi
  111. with_items:
  112. - "{{ imported_repos }}"
  113. loop_control:
  114. index_var: item_index
  115. label: "[{{ '%02d'|format(item_index + 1) }}/{{ imported_repos|length }}] {{ import_repo }}"
  116. loop_var: import_repo
  117. become: yes
  118. when:
  119. - imported_repos is defined
  120. - online_status == 'online'