-
Notifications
You must be signed in to change notification settings - Fork 100
Add DR with active-passive and external storage #3679
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
Conversation
The PR preview for f95ffc1 is available at theforeman-foreman-documentation-preview-pr-3679.surge.sh The following output files are affected by this PR: |
@ehelms Can you please review another DR scenario? I am once again making a lot of barely-educated guesses and I added several questions as comments so please keep that in mind and read carefully :) Also, I'm not sure what level of detail we are aiming for with this scenario: Do we want to keep things high-level like the virtualization scenario or can we/should we provide more detailed instructions? |
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very clear and well-structured overall, I have only a few suggestions and considerations. 👍
Also, I'll just paste here what I found in section 21.1. Overview of recommended disaster recovery plans
:
Choose a disaster recovery plan that best helps ensure the continuity of Satellite services in your deployment.
Virtualizing your Satellite Server ...
This communicates the idea "my disaster recovery plan is virtualizing the Satellite Server", but virtualizing by itself is not the solution. I'd make it more precise:
Snapshots of virtualized Satellite Server
This also aligns better with the non-action style of the subsequent plan suggestions.
This method is suitable if you can run Satellite on top of virtualization.
This is partly subjective, but to me choosing this phrasing:
run Satellite on top of virtualization
(phrasing 1)
instead of something like this:
run Satellite virtualized
(phrasing 2a)
or
run Satellite in a virtual machine
(phrasing 2b)
implies that scenario described in phrasing 1 has some additional layer between Satellite and virtualization, and scenario described in phrasings 2a and 2b does not. But maybe most readers have more context, which rules out that extra non-existent layer.
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...equisites-disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Show resolved
Hide resolved
...c_recovering-from-disaster-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...c_recovering-from-disaster-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
Let's track these in #3704. |
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...dules/con_disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...equisites-disaster-recovery-with-active-and-passive-project-server-and-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Show resolved
Hide resolved
...c_recovering-from-disaster-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
...c_recovering-from-disaster-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
@ehelms @evgeni Thanks for all your feedback so far! I implemented most of it, except for one comment thread that remains open with a follow-up question. Can you please re-review? This scenario feels more complex to me than the virtualization one, so I can't really tell whether we are getting close enough to the desired outcome. |
|
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Show resolved
Hide resolved
Co-authored-by: Eric Helms <[email protected]>
5b988b8
to
306f0f9
Compare
Feedback from style review implemented, which means Rebased, which pulled in the change in #3705 and allowed me to include the procedure on retrieving status of services cleanly. |
...ring-for-disaster-recovery-with-active-and-passive-project-server-with-external-storage.adoc
Outdated
Show resolved
Hide resolved
. Clone your active {ProjectServer}. | ||
See xref:cloning_satellite_server[]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just realized: the cloning process involves a DB-restore, which is probably not what people want.
What would probably work is: clone with /var/lib/pgsql
being local, then turn things off and replace it with shared storage.
But that's fragile :/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When you say that it's "fragile", you're actually kind of saying that that's probably not what we want either :) So what would be a good solution?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah… The deployment consists of three things: packages (rpms), config (/etc) and data (/var/lib/). To get a working deployment you need all of them. As the data is quickly moving, we place it on shared storage so it can be picked up from various places. The packages and config are not, so we can keep them on "traditional" storage, but they still need to match.
The easiest way to create a matching set is a "clone" (in the general meaning of the term), but satellite-clone does more than cloning rpms/configs, it also does data.
How we can get to a good clone of the slowly moving parts only: I need to think more about it :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created issue #3714 where we can track this. According to #3679 (review), this open item doesn't block merging.
ede6556
to
f95ffc1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am good to merge the current state.
--------- Co-authored-by: Eric Helms <[email protected]> Co-authored-by: Evgeni Golov <[email protected]> (cherry picked from commit 79a2600)
What changes are you introducing?
Adding a new disaster recovery scenario: Active and passive server with external storage.
Why are you introducing these changes? (Explanation, links to references, issues, etc.)
A follow-up to #3558
The new scenario follows the structure established in #3615 for consistency
Anything else to add? (Considerations, potential downsides, alternative solutions you have explored, etc.)
Now that I'm working on the second scenario, I can already see opportunities for reuse or snippets. However, I think it will be better to deal with this after all the planned scenarios are in place.
Checklists
Please cherry-pick my commits into: