Pulp CLI Meeting Minutes

The Pulp CLI meeting is the place to discuss features and issues that will affect the pulp-cli codebase. It’s mostly attended by pulp-cli committers, but anyone interested in pulpcore can come.

When

Usually every second week Wednesdays at 15:30-16:00 Central European (Summer) Time.

Where

On Google Meet
Video call link: https://meet.google.com/dvi-ebyc-zoj

Agenda

Anyone can add to the agenda.

Aug 19

  • pulp-cli-deb
    • Introduction to quba42
    • transfer of the repo to pulp namespace; adding the pulp/debian team
      • [mdellweg, davidd]
    • upload to PyPi; add quba42 to that package
  • pulp_rpm workflow docs still use httpie
  • Docs day
    • General organization (structure, outline); probably before docs day
    • Get the user started; point to workflow docs
      • dev-user-hat needs “pip install -e .”
      • pip-comfortable user needs pip-install
      • rpm-comfortable user needs to know how to dnf-install
    • Improve “how to add commands”
  • Reminder: self-assign issues or check issue assignment
    • unassignment is possible
    • check that github correctly links PR and issue
    • assign issues to next-milestone please?
      • can we do this as part of the merge-workflow?

Sep 1

  • Certguard plugin
    • should certguard commands be separate from core package?
    • how to deal with commands placement
      • pulp content-guard rbac … +1 +1+1
      • pulp cert-guard -t rhsm …
  • 3 month planning in 2 weeks
    • some FTEs may be freed up - do we want to raise cli-prio?
      • content for rpm/ansible?
      • ggainey AI - submit PR to generalize string/@ behavior
      • filtering (for existing cmds) would be good
      • field-selectivity can wait since you can be selective w/ jq after the fact

Sep 15

  • Nightly test is failing
  • Where to add ostree support?
    • No strong opinions
    • pulp_deb would like to see another external plugin
      • To improve support of external plugins

Sep 29

  • Reviewers: Please make sure every new user facing string gets a _().
    • Also we should gradually fix all the others we stumble over.
  • State of the translation experiment
  • We are currently testing the CLI with pulpcore 3.11 - 3.15. Are we ready to drop any workarounds for <=3.10 ?
    • Should we also install a global needs_plugin("core", "3.11") so users are aware and may use older versions?
      • make sure we can at least update the cached-schema if current is “too old” to run the command
      • the only significant potential consumer of pulp-cli pre-core-3.11 is Sat6.9, which is using core-3.7.
      • the current pulp-cli functionality serves that need just fine
      • +1 for 0.12 advancing the pulpcore requirement to 3.11+
        • If needed desperately, we could make a 0.11 branch that even runs it’s CI with core-3.7 as a target and accept backport PRs
  • OSTree support - prob wants/needs to be its own package
    • see the current (incomplete) state of deb-support for an example
    • need an oci-image that includes ‘external’ plugins for testing

Oct, 13

  • Squeezer is currently built on the premise that it has no external dependencies, but reusing the openapi.py between the two projects may bring a lot of maintenance benefit. What would be the impact of having the squeezer collection depend on pulp-cli?
    • This may need more thinking about impacts.
    • No timeline for a change like this.
  • Should we rename the base branch to main?
    • Let’s do this for consistency
    • [mdellweg] to change the name. Done.

Oct, 27

  • different content is different (rpm) so it may need to go into different command groups
  • Pulp shell would be super useful if you could cd into a context
    • also capturing output for further processing would be nice
  • Yay feature matrix

Feb, 16

  • Implement automerge on approved PRs?
    • Approve must be final
    • A change must dismiss any approval
    • request-for-change must be able to be reset/accepted by :the next reviewer", whoever that is
    • and the approving-reviewer is on the hook to do it!
      • Rules for auto-merge:
        • 1 approval
        • CI is green
        • no merge-conflicts
        • PR not in draft
    • if approved, and PR author removes Draft - automerge immediately?
    • Can we agree on a standard for “DO NOT APPROVE/MERGE THIS” in PR commit-message?
    • if applied in check-pr workflow, needs to reject merging AFTER CI runs
      • so it doesn’t cancel CI like lint does
    • Timeline/to-do
      • x9c4 to experiment
      • switch next Weds 23-FEB?
  • Discussion RE container and differences in some commands from other plugins
    • Example: modify allows base-version, but NOT in container
    • should the command-name be same, even when “standard” arguments are not?
    • OR should command-name be plugin-specific even when most args are similar?
    • gerrod to sync up w/ ipanova to discuss and bring back to next mtg

Mar 02

  • automerge discussion
    • disappointed in GH
    • will leave AM turned on (does no harm)
    • dismissal of reviews on change will be kept on
    • takeaway: be agressive about pushing the merge button
      • if it’s green - Do It!
      • whoever pushes the button, isn’t liable for bad reviews
      • still implies "do not Approve PR unless you’re willing for it to be merged immediately "
  • What about a Release 0.14.0? Yes!
    • moved outstanding issues to 0.15.0

We missed posting minutes for A Hot Minute:

JAN 18

Nov 23

Happened inbetween

  • There are A LOT of changes since 0.15, and a lot of things closed by not in 0.16 milestone - Release Soon pliz? [DONE]

Oct 26

Jul 6

Mar 16

  • label:triaged? or new issues get label:Triage-Needed?
    • Use the new label
    • Adjust the issue templates first
    • ggainey AI : PR 487
  • look for PR-template, point to our “how to contribute” docs

FEB 15

  • Out of free-to-take prio-list items
    • let’s not add any till pulp-glue is merged
  • For discussion: should we be at 1.0 now?
    • let’s not till pulp-glue is merged
    • let’s not until import/export rework is merged
    • revisit at our next mtg
  • Filtering repositories by content
  • RFC: Reunite the library that drives Pulp CLI and Squeezer
    • ggainey to raise w/ katello/pulp/build integration mtg
    • AI: [dkliban] talk to pcreech/zhunting/odilon RE details
    • we want pulp-glue to be released in pulp-cli/0.17, talk about pulp-cli/1.0 after that

Mar 1

  • For discussion: should we be at 1.0 now?
    • let’s not till pulp-glue is merged
    • let’s not until import/export rework is merged
    • look at translation mechanics in glue
    • revisit at our next mtg
  • Prio-list?
  • Pulp-maven - separate repo or part of pulp-cli?
    • maven is part of container-image
    • put it under pulp_maven? - no
      • cli talks to multiple versions
      • should have its own release-cycle
    • separate repo?
      • “not part of official images” - takes more work if it’s in pulp-cli
      • access/control of another group (eg pulp-deb)
      • demonstrate to other projects that you can have cli-plugins
      • [dkliban] will create plugin-repo for this, give all of us access
  • Replication commands
    • challenge: needs a pulpcore release
    • can teach CLI “this functionality requires 3.23.dev”
    • don’t forget to add skip-clause to tests
  • domains cli-PR - will get a proper review #asap
    • cli-cfg-per-domain support discussion
    • conflict between what pulp-replication needs, and what domains-cli-PR is currently doing
    • dkliban/gerrod to get together and discuss later today

Mar 15

Mar 29

  • not much progress to report this week
  • api-quirks discussion
  • RE import/export CLI state
    • don’t deprecate current/half-baked impl, just replace it
  • discussion RE pulp_python and import/export support
    • waiting on submitter
1 Like

Apr 12

Jun 8

  • core and plugins have added features that haven’t been exposed to cli
    • mini-teams should prob review and add issues (at least) to pulp-cli to get this work surfaced
  • pulp_gem plugin
    • cli-support should be moved to pulp/ org
  • pulp-cli needs to support all the branches in pulp-oci-image
    • what about pulp-maven?
    • no support currently
  • pulp-cli docs need another update review/work
    • esp docs “for us”, as opposed to “how to use pulp-cli” for users
  • let’s start thinking of higher-level/wizard/workflow commands that could be added to pulp-cli - get some RFEs open?
    • example: a single cmd to create remote/repo/sync/publish/distribute
  • squeezer and automation
    • can we finish the use-pulp-glue pieces?
    • how many plugins does squeezer currently support?

Aug 2

  • release-workflow-improvements - DONE
    • 0.20.2 released w/ “fix” for pyyaml/cython problem
    • release-process needs a bit of tweaking - retry coming #soon
    • patchback now works on pulp-cli!
    • pulp-cli release-workflow now looks a lot more like everything else in /pulp/
    • will use experience here, to improve experience in pulpcore/plugins
  • click-8.1.4+ lint issues - DONE
  • python-3.12 is incoming (to release in Oct) - be prepared
  • A lot of versions of the CLI seem to be uninstallable for the PyYAML build issues.
    • 0.18.2 is the oldest working one. Should we yank all older from pypi?
    • prob should poke RPM Build Gang to RPM-ize something newer than 0.14.0
  • Are we ready / Do we need to declare supported branches for the CLI?
    • discussion ensues
    • maybe let’s not borrow trouble - don’t worry about unless/until a stakeholder tells us they need specific branches
  • Improve how a ca_cert is passed to pulp-glue
    • currently supported only via ca-bundle-support from request-module
    • dkliban to write up an issue
    • make sure it is available in the cli-profile setup
    • can we think of ways to make this a not-breaking change? Do we even care?
  • https://github.com/pulp/pulp-cli/pull/758

Aug 16

  • import/export work is alive again
    • [ggainey] report back at next mtg
  • Question: do we delete old release branches.
    • older than 0.19?
      • 0.19 is first with new release process
    • 0.14 packaged for katello
      • because there’s already a 0.14.1
    • 0.21.2 is latest-branch
    • conditional “yes”
      • keep 0.14 and 0.21
      • if we want to release on 0.14, will need the new release-process backported
  • installing CLI in same container as pulpcore Fun
    • pip is dumb
    • use the rpm dist
    • install into a virtenv
  • discussion w/ downstream around avoiding cross-version-conversations with client-bindings (not pulp-cli related)
    • pulp-glue exists for exactly this reason
    • except Ruby :frowning:
2 Likes

Oct 11

  • look at translation mechanics in glue
  • do we want a pulp-glue talk at PulpCon?
    • could be dkliban talking about using it in pulp-replicator?
    • AI: mdellweg to ask dkliban if he’d like to do such a thing
    • what would the focus of such a talk be?
      • 30 min, DEV oriented
      • what is it?
      • why is it?
      • where is it already in use?
      • quick example of using it?
      • compare to doing same in bindings?
      • glue-support for some plugins live in diff packages (eg, ostree, maven, gem) - lib is extensible
  • lookit the cool updates to the docs-page!
    • Pulp CLI
    • pulp-glue API ref
    • choose version from top-left
    • reorganized
1 Like

Oct 25