Skip to content

Fix/plugins python package init - #13137

Open
DaanHoogland wants to merge 4 commits into
mainfrom
fix/plugins-python-package-init
Open

Fix/plugins python package init#13137
DaanHoogland wants to merge 4 commits into
mainfrom
fix/plugins-python-package-init

Conversation

@DaanHoogland

@DaanHoogland DaanHoogland commented May 8, 2026

Copy link
Copy Markdown
Contributor

Description

This PR...

Fixes: #3679

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

… packages

The test/integration/plugins directory and its subdirectories were
missing __init__.py files, preventing Python from treating them as
packages. This caused local/relative imports to fail when running
plugin tests in a deployed Marvin environment, making it impossible
to modularize tests for plugins.

Fixes #3679
@boring-cyborg boring-cyborg Bot added component:integration-test Python Warning... Python code Ahead! labels May 8, 2026
@codecov

codecov Bot commented May 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 18.09%. Comparing base (72b99a3) to head (4a99048).
⚠️ Report is 278 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main   #13137   +/-   ##
=========================================
  Coverage     18.08%   18.09%           
- Complexity    16718    16720    +2     
=========================================
  Files          6037     6037           
  Lines        542546   542546           
  Branches      66432    66432           
=========================================
+ Hits          98146    98161   +15     
+ Misses       433378   433364   -14     
+ Partials      11022    11021    -1     
Flag Coverage Δ
uitests 3.51% <ø> (ø)
unittests 19.25% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Completes fix for #3679 by adding Python package init files to all
plugin test subdirectories: linstor, quota, scaleio, solidfire,
storpool, tf
@sonarqubecloud

sonarqubecloud Bot commented May 8, 2026

Copy link
Copy Markdown

@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17840

@winterhazel winterhazel added this to the 4.23.0 milestone May 15, 2026
@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@weizhouapache @winterhazel , I don’t think this needs further testing. See any potential problems?

@weizhouapache

Copy link
Copy Markdown
Member

@weizhouapache @winterhazel , I don’t think this needs further testing. See any potential problems?

@DaanHoogland
no testing required I think.

do you have more details what the issue is ?

@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@weizhouapache @winterhazel , I don’t think this needs further testing. See any potential problems?

@DaanHoogland no testing required I think.

do you have more details what the issue is ?

it is an old issue with modularisation of integration tests:
#3679

this makes it hard to use core functionality in test scripts for plugins

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to make test/integration/plugins (and selected plugin subdirectories) proper Python packages by adding missing __init__.py files, aligning plugin test layout with existing smoke/component integration test packages.

Changes:

  • Add test/integration/plugins/__init__.py to mark the plugins test directory as a package.
  • Add __init__.py files to multiple plugin subdirectories (e.g., tf, ldap, storpool, solidfire, etc.) to enable package-style imports.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/integration/plugins/init.py Marks plugins integration tests directory as a Python package.
test/integration/plugins/datera/init.py Marks datera plugin tests folder as a package.
test/integration/plugins/ldap/init.py Marks ldap plugin tests folder as a package (supports relative imports in tests).
test/integration/plugins/linstor/init.py Marks linstor plugin tests folder as a package.
test/integration/plugins/quota/init.py Marks quota plugin tests folder as a package.
test/integration/plugins/scaleio/init.py Marks scaleio plugin tests folder as a package.
test/integration/plugins/solidfire/init.py Marks solidfire plugin tests folder as a package.
test/integration/plugins/storpool/init.py Marks storpool plugin tests folder as a package.
test/integration/plugins/tf/init.py Marks tf plugin tests folder as a package (supports relative imports in tests).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +16
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
Comment on lines +1 to +5
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
@weizhouapache weizhouapache modified the milestones: 4.23.0, 4.22.2 Jun 30, 2026
@DaanHoogland DaanHoogland moved this from Backlog to Ready in CloudStack Testing Sep 1, 2026
@DaanHoogland DaanHoogland moved this from Ready to conflict/waiting in CloudStack Testing Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: conflict/waiting

Development

Successfully merging this pull request may close these issues.

marvin tests in plugin directory are not considered to be in python package

6 participants