Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 0 additions & 50 deletions .semaphore/semaphore-scheduled-builds.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 0 additions & 50 deletions .semaphore/semaphore.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 0 additions & 51 deletions .semaphore/semaphore.yml.d/blocks/40-openstack.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,3 @@
- name: "OpenStack integration (Yoga)"
run:
when: "${FORCE_RUN} or change_in(['/metadata.mk', '/lib.Makefile', '/networking-calico/', '/.semaphore/semaphore.yml.d/blocks/40-openstack.yml'], {pipeline_file: 'ignore'})"
dependencies:
- Prerequisites
task:
agent:
machine:
type: f1-standard-2
os_image: ubuntu2204
prologue:
commands:
- cd networking-calico
jobs:
- name: "OpenStack: Unit and FV tests (tox) on Yoga"
commands:
- ../.semaphore/run-and-monitor tox.log make tox-yoga
- name: "OpenStack: Mainline ST (DevStack + Tempest) on Yoga"
commands:
# For some reason python3-wrapt is pre-installed on a Semaphore ubuntu2004 node, but with
# a version (1.11.2) that is different from the version that OpenStack needs (1.13.3), and
# this was causing the DevStack setup to fail, because pip doesn't know how to uninstall
# or replace the existing version. Happily we do know that, so let's do it upfront here.
- sudo apt-get remove -y python3-wrapt || true
# Install all the packages that would trigger an initramfs update using a workaround
# for limited /boot partition space in the ubuntu2004 image
- sudo apt update
- sudo rsync -av /boot/ /boot2/
- sudo mount --bind /boot2 /boot
- sudo apt install -y cryptsetup lsscsi open-iscsi thin-provisioning-tools
- sudo umount /boot
- sudo rsync -av /boot2/ /boot/ --exclude "*.new" --exclude "*.dpkg-bak" --delete --inplace
- sudo rm -rf /boot2/
# Set NC_PLUGIN_REPO and NC_PLUGIN_REF so that DevStack will use the networking-calico
# code from the current PR or branch. The following checkout is to make sure of having a
# local ref that we can specify.
- git checkout -b devstack-test
- export NC_PLUGIN_REPO=$(dirname $(pwd))
- export NC_PLUGIN_REF=$(git rev-parse --abbrev-ref HEAD)
- sudo git config --system --add safe.directory ${NC_PLUGIN_REPO}/.git
# The BIRD config in our DevStack setup is thoroughly broken and generates loads of errors
# in the log. But we don't need it for a single node setup anyway, so let's disable it.
- export CALICO_BGP_MODE=none
- TEMPEST=true OPENSTACK_RELEASE=yoga ./devstack/bootstrap.sh
epilogue:
on_fail:
commands:
- mkdir logs
- sudo journalctl > logs/journalctl.txt
- artifact push job logs

- name: "OpenStack integration (Caracal)"
run:
when: "${FORCE_RUN} or change_in(['/metadata.mk', '/lib.Makefile', '/networking-calico/', '/.semaphore/semaphore.yml.d/blocks/40-openstack.yml'], {pipeline_file: 'ignore'})"
Expand Down
3 changes: 0 additions & 3 deletions networking-calico/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ tox: build-test-container
tox-%: upper-constraints-%.txt
$(MAKE) tox PIP_CONSTRAINT=/code/upper-constraints-$*.txt

upper-constraints-yoga.txt:
curl -fsSL --retry 5 https://releases.openstack.org/constraints/upper/yoga -o $@

upper-constraints-caracal.txt:
curl -fsSL --retry 5 https://raw.githubusercontent.com/openstack/requirements/refs/heads/$$(./infer-openstack-branch.sh caracal requirements)/upper-constraints.txt -o $@

Expand Down
4 changes: 2 additions & 2 deletions networking-calico/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ features with Calico, please see http://docs.projectcalico.org/master.

# Version skew

Calico for OpenStack is tested against two recent LTS OpenStack versions, as [defined by
Calico for OpenStack is tested against one or two recent LTS OpenStack versions, as [defined by
Canonical](https://canonical-openstack.readthedocs-hosted.com/en/latest/reference/release-cycle-and-supported-versions/).
For recent Calico versions the corresponding versions of OpenStack are as follows.

| Calico version | OpenStack versions |
| -------------- | ------------------ |
| master | Yoga, Caracal |
| master | Caracal |
| v3.30 | Yoga, Caracal |
3 changes: 0 additions & 3 deletions networking-calico/devstack/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,6 @@ fi
# Set correct constraints for Tempest to use. We need to do this because we're pinning to a
# different version of Tempest than the version that DevStack would naturally use.
case "${DEVSTACK_BRANCH}" in
*/yoga )
export UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/yoga
;;
* )
export UPPER_CONSTRAINTS_FILE=https://raw.githubusercontent.com/openstack/requirements/refs/heads/${DEVSTACK_BRANCH}/upper-constraints.txt
;;
Expand Down
29 changes: 0 additions & 29 deletions networking-calico/devstack/plugin.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,35 +29,6 @@ if [ "${Q_AGENT}" = calico-felix ]; then
# Also add BIRD project PPA as a package source.
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 sudo add-apt-repository -y ppa:cz.nic-labs/bird
fi

# If running with OpenStack Yoga, update rtslib-fb to v2.1.76, specifically to
# pick up https://github.com/open-iscsi/rtslib-fb/pull/183, in order to support
# details of the file layout under /sys/kernel/config/target/iscsi/ that changed
# between Ubuntu Focal and Ubuntu Jammy.
#
# Yoga-level OpenStack does not strictly support running on Jammy - in
# particular, because of its upper-constraints.txt using an older version of
# rtslib-fb that is incompatible with Jammy, and because of DevStack's
# SUPPORTED_DISTROS not including "jammy" - but we have been successfully
# running our system test for some time with Yoga on Jammy. So how does that
# make sense? The answer is that rtslib-fb is only used by Cinder, and we don't
# use either Cinder or DevStack in our ST.
#
# We want to keep running DevStack CI with Yoga, and Semaphore's available
# machine types mean that we now have to do that on Jammy. We also want to keep
# installing Cinder in our DevStack setup, because otherwise we can't run the
# "minimum basic scenario" test. So, hack the Yoga install here by updating
# rtslib-fb to v2.1.76.
#
# To be clear, this is unrelated to Calico. It's a workaround to make OpenStack
# Yoga code compatible with Jammy. I'm placing the workaround here simply
# because it's the most convenient place to put it, prior to Cinder being
# installed.
if [ "${DEVSTACK_BRANCH}" = unmaintained/yoga ]; then
sed -i 's,rtslib-fb===2.1.74,rtslib-fb===2.1.76,' ${REQUIREMENTS_DIR}/upper-constraints.txt
grep rtslib-fb ${REQUIREMENTS_DIR}/upper-constraints.txt
pip_install rtslib-fb==2.1.76
fi
;;

install)
Expand Down