set_version_containerized.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ---
  2. - name: Set containerized version to configure if openshift_image_tag specified
  3. set_fact:
  4. # Expects a leading "v" in inventory, strip it off here unless
  5. # openshift_image_tag=latest
  6. openshift_version: "{{ openshift_image_tag[1:].split('-')[0] if openshift_image_tag != 'latest' else openshift_image_tag }}"
  7. when: openshift_image_tag is defined and openshift_version is not defined
  8. - name: Set containerized version to configure if openshift_release specified
  9. set_fact:
  10. openshift_version: "{{ openshift_release }}"
  11. when: openshift_release is defined and openshift_version is not defined
  12. - name: Lookup latest containerized version if no version specified
  13. command: >
  14. docker run --rm {{ openshift.common.cli_image }}:latest version
  15. register: cli_image_version
  16. when: openshift_version is not defined
  17. # Origin latest = pre-release version (i.e. v1.3.0-alpha.1-321-gb095e3a)
  18. - set_fact:
  19. openshift_version: "{{ (cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0:2] | join('-'))[1:] }}"
  20. when: openshift_version is not defined and openshift.common.deployment_type == 'origin' and cli_image_version.stdout_lines[0].split('-') | length > 1
  21. - set_fact:
  22. openshift_version: "{{ cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0][1:] }}"
  23. when: openshift_version is not defined
  24. # If we got an openshift_version like "3.2", lookup the latest 3.2 container version
  25. # and use that value instead.
  26. - name: Set precise containerized version to configure if openshift_release specified
  27. command: >
  28. docker run --rm {{ openshift.common.cli_image }}:v{{ openshift_version }} version
  29. register: cli_image_version
  30. when: openshift_version is defined and openshift_version.split('.') | length == 2
  31. - set_fact:
  32. openshift_version: "{{ cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0:2][1:] | join('-') if openshift.common.deployment_type == 'origin' else cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0][1:] }}"
  33. when: openshift_version is defined and openshift_version.split('.') | length == 2
  34. # We finally have the specific version. Now we clean up any strange
  35. # dangly +c0mm1t-offset tags in the version. See also,
  36. # openshift_facts.py
  37. - set_fact:
  38. openshift_version: "{{ openshift_version | oo_chomp_commit_offset }}"