diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index e7863f9bf..9fd83b09e 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -16,7 +16,7 @@ openstacksdk_source_install: true ironicinspector_source_install: true ironicinspectorclient_source_install: false sushy_source_install: false -staging_drivers_source_install: false +staging_drivers_source_install: true # Setting to utilize diskimage-builder to create a bootable image. create_image_via_dib: true dib_image_type: vm diff --git a/playbooks/roles/bifrost-ironic-install/tasks/install.yml b/playbooks/roles/bifrost-ironic-install/tasks/install.yml index 7aaf22578..57c4bfefe 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/install.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/install.yml @@ -22,12 +22,6 @@ name: "{{ required_packages }}" state: present -- name: "If running in CI, set source install facts just to be sure" - set_fact: - openstacksdk_source_install: true - ironicclient_source_install: true - when: ci_testing | bool == true - # NOTE(TheJulia) While we don't necessarilly require /opt/stack any longer # and it should already be created by the Ansible setup, we will leave this # here for the time being. diff --git a/playbooks/roles/bifrost-prep-for-install/defaults/main.yml b/playbooks/roles/bifrost-prep-for-install/defaults/main.yml index d7a3117fd..887e0e832 100644 --- a/playbooks/roles/bifrost-prep-for-install/defaults/main.yml +++ b/playbooks/roles/bifrost-prep-for-install/defaults/main.yml @@ -41,6 +41,14 @@ keystone_git_branch: "{{ git_branch }}" sushy_git_branch: "{{ git_branch }}" ipa_git_branch: "{{ git_branch }}" ipa_builder_git_branch: master +# disable source install to prevent cloning +ironicclient_source_install: false +openstacksdk_source_install: true +ironicinspector_source_install: true +ironicinspectorclient_source_install: false +sushy_source_install: false +staging_drivers_source_install: true +enable_keystone: false update_repos: true force_update_repos: true @@ -58,10 +66,12 @@ bifrost_install_sources: git_url: "{{ ironicclient_git_url }}" git_branch: "{{ ironicclient_git_branch }}" name: ironicclient + source_install: "{{ ironicclient_source_install }}" - git_folder: "{{ openstacksdk_git_folder }}" git_url: "{{ openstacksdk_git_url }}" git_branch: "{{ openstacksdk_git_branch }}" name: openstacksdk + source_install: "{{ openstacksdk_source_install }}" - git_folder: "{{ dib_git_folder }}" git_url: "{{ dib_git_url }}" git_branch: "{{ dib_git_branch }}" @@ -70,10 +80,12 @@ bifrost_install_sources: git_url: "{{ ironicinspector_git_url }}" git_branch: "{{ ironicinspector_git_branch }}" name: ironicinspector + source_install: "{{ ironicinspector_source_install }}" - git_folder: "{{ ironicinspectorclient_git_folder }}" git_url: "{{ ironicinspectorclient_git_url }}" git_branch: "{{ ironicinspectorclient_git_branch }}" name: ironicinspectorclient + source_install: "{{ ironicinspectorclient_source_install }}" - git_folder: "{{ reqs_git_folder }}" git_url: "{{ reqs_git_url }}" git_branch: "{{ reqs_git_branch }}" @@ -82,14 +94,18 @@ bifrost_install_sources: git_url: "{{ staging_drivers_git_url }}" git_branch: "{{ staging_drivers_git_branch }}" name: ironic-staging-drivers + source_install: "{{ staging_drivers_source_install }}" - git_folder: "{{ keystone_git_folder }}" git_url: "{{ keystone_git_url }}" git_branch: "{{ keystone_git_branch }}" name: keystone + # NOTE(dtantsur): skip cloning if keystone is disabled + source_install: "{{ enable_keystone }}" - git_folder: "{{ sushy_git_folder }}" git_url: "{{ sushy_git_url }}" git_branch: "{{ sushy_git_branch }}" name: sushy + source_install: "{{ sushy_source_install }}" - git_folder: "{{ ipa_git_folder }}" git_url: "{{ ipa_git_url }}" git_branch: "{{ ipa_git_branch }}" diff --git a/playbooks/roles/bifrost-prep-for-install/tasks/main.yml b/playbooks/roles/bifrost-prep-for-install/tasks/main.yml index cb113c8ce..3fd31d8b2 100644 --- a/playbooks/roles/bifrost-prep-for-install/tasks/main.yml +++ b/playbooks/roles/bifrost-prep-for-install/tasks/main.yml @@ -30,9 +30,9 @@ update: "{{ update_repos | bool }}" clone: yes loop: "{{ bifrost_install_sources }}" - when: ci_testing_zuul | bool == false and copy_from_local_path | bool == false + when: ci_testing_zuul | bool == false and copy_from_local_path | bool == false and item.source_install | default(true) | bool - name: "Copy from local path" command: cp -a {{ item.git_url }} {{ item.git_folder }} creates={{ item.git_folder }} loop: "{{ bifrost_install_sources }}" - when: ci_testing_zuul | bool == true or copy_from_local_path | bool == true + when: (ci_testing_zuul | bool == true or copy_from_local_path | bool == true) and item.source_install | default(true) | bool diff --git a/releasenotes/notes/no-clone-cebedc81211dcfa5.yaml b/releasenotes/notes/no-clone-cebedc81211dcfa5.yaml new file mode 100644 index 000000000..45c198d1a --- /dev/null +++ b/releasenotes/notes/no-clone-cebedc81211dcfa5.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - | + No longer clones repositories with corresponding ``*_source_install`` + variables set to ``false``. + - | + Ironic Staging Drivers are now installed from source by default since they + are released very infrequently (usually once per cycle). diff --git a/zuul.d/bifrost-jobs.yaml b/zuul.d/bifrost-jobs.yaml index 6c7e666ac..0d7959678 100644 --- a/zuul.d/bifrost-jobs.yaml +++ b/zuul.d/bifrost-jobs.yaml @@ -21,12 +21,8 @@ - openstack/ironic-inspector - openstack/ironic-python-agent - openstack/ironic-python-agent-builder - - openstack/keystone - openstack/openstacksdk - - openstack/python-ironic-inspector-client - - openstack/python-ironicclient - openstack/requirements - - openstack/sushy - x/ironic-staging-drivers - job: @@ -81,6 +77,8 @@ name: bifrost-integration-tinyipa-keystone-ubuntu-bionic parent: bifrost-integration-tinyipa nodeset: ubuntu-bionic + required-projects: + - openstack/keystone vars: enable_keystone: true @@ -104,6 +102,8 @@ name: bifrost-integration-tinyipa-keystone-centos-8 parent: bifrost-integration-tinyipa nodeset: centos-8 + required-projects: + - openstack/keystone vars: enable_keystone: true