Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove references to postgresql-evr #3167

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

ianballou
Copy link
Contributor

With the merging of Katello/katello#11087 , the evr database type is now being added to postgres directly in Katello. This means users no longer need to install the RPM. So, for Katello 4.14, it will be safe to remove this reference.

Q: do we still need postgresql-contrib? I think we may need it for Pulpcore...

  • I am okay with my commits getting squashed when you merge this PR.
  • I am familiar with the contributing guidelines.

Please cherry-pick my commits into:

  • Foreman 3.11/Katello 4.13
  • Foreman 3.10/Katello 4.12
  • Foreman 3.9/Katello 4.11 (Satellite 6.15; orcharhino 6.8/6.9)
  • Foreman 3.8/Katello 4.10
  • Foreman 3.7/Katello 4.9 (Satellite 6.14)
  • Foreman 3.6/Katello 4.8
  • Foreman 3.5/Katello 4.7 (Satellite 6.13; orcharhino 6.6/6.7)
  • We do not accept PRs for Foreman older than 3.5.

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

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

AFAIK this was the only reason why we installed the Satellite repositories and enabled the satellite module on the external DB. Please simply it so it only uses RHEL base OS & AppStream.

I'd also like to see it in the release notes as a headline feature, because it enables managed databases (like in cloud environments) to be used.

@pr-processor pr-processor bot added Waiting on contributor Requires an action from the author and removed Not yet reviewed labels Jul 25, 2024
@pr-processor pr-processor bot added Needs re-review and removed Waiting on contributor Requires an action from the author labels Jul 26, 2024
@ianballou
Copy link
Contributor Author

ianballou commented Jul 26, 2024

AFAIK this was the only reason why we installed the Satellite repositories and enabled the satellite module on the external DB. Please simply it so it only uses RHEL base OS & AppStream.

Which part of the docs does this live in?

I'm not seeing any references to Satellite at least in https://docs.theforeman.org/nightly/Installing_Server/index-katello.html#using-external-databases_foreman, which seems to contain all of the external DB docs.

@ianballou ianballou requested a review from ekohl July 30, 2024 20:30
@ianballou
Copy link
Contributor Author

ianballou commented Jul 30, 2024

Downstream: https://docs.theforeman.org/nightly/Installing_Server/index-satellite.html#preparing-a-host-for-external-databases_satellite

I see, I thought you meant we advised users to install Satellite repositories on normal Foreman smart proxies.

@ianballou
Copy link
Contributor Author

@ekohl if I'm not wrong, I think that means we can also stop having users install the Katello repositories as well on external databases. I've removed references to installing our repos from both the Katello and Satellite docs.
Unless

--enable={RepoRHEL9BaseOS} \
--enable={RepoRHEL9AppStream}
----
endif::[]

ifdef::katello[]
. Install the `katello-repos-latest.rpm` package
. Ensure that the {EL} 9 BaseOS and Appstream repositories are enabled.
Copy link
Member

Choose a reason for hiding this comment

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

For upstream, this is now the same as EL 8 so at the very least we can drop them. I'd actually consider dropping the whole repository setup for upstream. Essentially you want a basic OS install which I'd feel confident in assuming from users.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm fine with that.

@@ -4,7 +4,8 @@
[id="katello-headline-features"]
== Headline Features

There are no highlights with Katello {KatelloVersion}.
Remote installation of the Katello database on systems where root access is not available is now possible.
Copy link
Member

Choose a reason for hiding this comment

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

We always add headers, so something like

Suggested change
Remote installation of the Katello database on systems where root access is not available is now possible.
=== postgresql-evr extension no longer required
Installation of the Katello database on remote systems where root access is not available is now possible.

And perhaps also note that you only need a basic PostgreSQL installation now, which means it probably also works with managed databases like Amazon RDS and others.

@pr-processor pr-processor bot added Waiting on contributor Requires an action from the author Needs re-review and removed Needs re-review Waiting on contributor Requires an action from the author labels Jul 31, 2024
@ianballou
Copy link
Contributor Author

This is what the entire section looks like now for upstream external DBs:

image

There is only a "prerequisites" section with no procedure. Looking for comments on how to deal with this following normal foreman-documentation conventions.

@asteflova
Copy link
Contributor

There is only a "prerequisites" section with no procedure. Looking for comments on how to deal with this following normal foreman-documentation conventions.

Conceptually speaking, it’s strange that a section named "Preparing" includes prerequisites. Because "Preparing" itself is a prerequisite by definition.

If you think the two bullets should indeed be considered prerequisites applicable to all the modules in 4.10. Using external databases with Foreman, you can split them off into a separate module and include it at the beginning of assembly_using-external-databases.adoc. See Prerequisites for bare-metal provisioning (source here) for an example of prereqs included at the assembly level.

If you feel the two bullets are actually procedure steps, you can merge them with .Procedure:

.Procedure
. Ensure the prepared host meets [...]
. Ensure the host has [...]
. Select the operating system [...]

Then, even if you hide the last step for upstream builds, the rest of the module will still make sense for these builds.

Copy link
Member

Choose a reason for hiding this comment

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

I also think you can drop lines 6-9 because now a base RHEL subscription gives you access to the right repositories. Though with service level agreement I'm a bit uncertain.

Do we still need procedure? After removing the specific Satellite repositories, isn't it sufficient to say you need a RHEL 8 or 9 system with an attached subscription? Essentially, drop the whole chapter Preparing a host for external databases and make them prerequisites in the Installing PostgreSQL procedure

@asteflova @apinnick what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've ripped out so much of this page that I think I could just include this info as prerequisites.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sounds good to me from the docs perspective. Looking at the procedure steps, it looks like you could save a lot of space by shrinking it into a prerequisite bullet without losing much value. More importantly (to me), anything that's a prerequisite should be labeled as "prerequisite", not "preparing" or anything like that. We are supposed to apply the same wording and terminology consistently (this helps make the content predictable).

=== postgresql-evr extension no longer required

Installation of the Katello database on remote systems where root access is not available is now possible.
Only a basic PostgreSQL installation is required, which should enable installs on systems like Amazon RDS or Azure Database for PostgreSQL.
Copy link
Member

Choose a reason for hiding this comment

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

This is out of scope, but we have a guide https://docs.theforeman.org/nightly/Deploying_Project_on_AWS/index-katello.html and using Amazon RDS would be a good thing to document, after it's been verified.

@ianballou
Copy link
Contributor Author

ianballou commented Aug 6, 2024

It's looking likely that I'll need to also add information for users upgrading their remote databases due to Katello/katello#11098.

Looks like https://docs.theforeman.org/nightly/Upgrading_Project/index-katello.html#Upgrading_the_External_Database_upgrading-connected is what will need updating.

@ekohl
Copy link
Member

ekohl commented Aug 7, 2024

Q: do we still need postgresql-contrib? I think we may need it for Pulpcore...

We do. I forgot which extension they use, but it's shipped in postgresql-contrib.

@ianballou
Copy link
Contributor Author

Some screenshots of the update:

image

image

image

@ianballou
Copy link
Contributor Author

postgresql-evr removal is looking to be delayed until Katello 4.15.

@ianballou ianballou marked this pull request as draft August 8, 2024 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants