Skip to content

Commit

Permalink
Misc fixes for failing github workflows
Browse files Browse the repository at this point in the history
Add separate workflow for testing on Python 3.6 as this
requires an older Ubuntu release.

Fixup unit tests for compatibility with newer versions of mock.

Drop latest/stable functional test targets - this is actually
2.9.x of Juju and is already covered by the 2.9 targets and we
want to avoid suddenly picking up a new Juju version because
this will break with the new approach to version alignment in the
Python module for Juju.

Drop 2.8 functional test target - its broken and we don't really
support this version any longer.

Fixup iptables forwarding issues from LXD containers with a flush
and re-create of rules.

(cherry picked from commit 9277a94)
(cherry picked from commit ee92b9b)
(cherry picked from commit 355ad7a)
  • Loading branch information
javacruft authored and Corey Bryant committed Dec 8, 2023
1 parent 6307638 commit af6f2d1
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 16 deletions.
39 changes: 28 additions & 11 deletions .github/workflows/tox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,36 @@ on:
- pull_request

jobs:
build_old_versions:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ['3.6', '3.7']

steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install codecov tox tox-gh-actions
- name: Lint with tox
run: tox -e pep8
- name: Test with tox
run: tox -e py
- name: Codecov
run: |
set -euxo pipefail
codecov --verbose --gcov-glob unit_tests/*
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.8, 3.9]

steps:
- uses: actions/checkout@v1
Expand All @@ -35,21 +60,11 @@ jobs:
fail-fast: false
matrix:
juju_channel:
- latest/stable
- 2.9/stable
- 2.8/stable
bundle:
- first
- second
- third
exclude:
# disable 'first' and 'second' bundles for juju 2.8 since 'magpie'
# is not a promulgated charm in the charmstore, only on charmhub
# which 2.8 can't talk to.
- juju_channel: 2.8/stable
bundle: first
- juju_channel: 2.8/stable
bundle: second
env:
TEST_ZAZA_BUG_LP1987332: "on" # http://pad.lv/1987332
needs: build
Expand All @@ -67,6 +82,8 @@ jobs:
sudo chmod 666 /var/snap/lxd/common/lxd/unix.socket
# until Juju provides stable IPv6-support we unfortunately need this
lxc network set lxdbr0 ipv6.address none
sudo iptables -F FORWARD
sudo iptables -P FORWARD ACCEPT
# pull images
lxc image copy --alias juju/bionic/amd64 --copy-aliases ubuntu-daily:bionic local:
lxc image copy --alias juju/focal/amd64 --copy-aliases ubuntu-daily:focal local:
Expand Down
10 changes: 6 additions & 4 deletions unit_tests/test_zaza_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,8 +435,9 @@ def test_block_until_auto_reconnect_model_disconnected_sync(self):
# model.disconnect and model.connect should've each have been called
# twice, once for run_in_model, and once each for the disconnection.
self.Model_mock.disconnect.assert_has_calls([mock.call(), mock.call()])
self.Model_mock.connect_model.has_calls([mock.call('modelname'),
mock.call('modelname')])
self.Model_mock.connect_model.assert_has_calls(
[mock.call('modelname'), mock.call('testmodel')]
)

def test_block_until_auto_reconnect_model_disconnected_async(self):
self._mocks_for_block_until_auto_reconnect_model(
Expand All @@ -450,8 +451,9 @@ async def _async_true():
# model.disconnect and model.connect should've each have been called
# twice, once for run_in_model, and once each for the disconnection.
self.Model_mock.disconnect.assert_has_calls([mock.call(), mock.call()])
self.Model_mock.connect_model.has_calls([mock.call('modelname'),
mock.call('modelname')])
self.Model_mock.connect_model.assert_has_calls(
[mock.call('modelname'), mock.call('testmodel')]
)

def test_block_until_auto_reconnect_model_blocks_till_true(self):
self._mocks_for_block_until_auto_reconnect_model(True, True)
Expand Down
2 changes: 1 addition & 1 deletion unit_tests/utilities/test_zaza_utilities_generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ def test_series_upgrade(self):
_unit, _machine_num, origin=_origin,
to_series=_to_series, from_series=_from_series,
workaround_script=_workaround_script, files=_files)
self.block_until_all_units_idle.called_with()
self.block_until_all_units_idle.assert_called_with()
self.prepare_series_upgrade.assert_called_once_with(
_machine_num, to_series=_to_series)
self.wrap_do_release_upgrade.assert_called_once_with(
Expand Down

0 comments on commit af6f2d1

Please sign in to comment.