-
Notifications
You must be signed in to change notification settings - Fork 24
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
Add ability to install feature packs on top of existing servers #426
Conversation
// verify the datasources feature pack was installed successfully | ||
final Path modulePath = Path.of("modules", "com", "mysql", "jdbc"); | ||
assertThat(targetDir.toPath().resolve(modulePath)) | ||
.exists() | ||
.isDirectory(); |
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.
Just a suggestion - in this test we could check that originally the feature pack is missing, before running the add command.
public Integer call() throws Exception { | ||
final long startTime = System.currentTimeMillis(); | ||
|
||
if (fpl.split(":").length != 2) { |
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.
The version part is not valid input?
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.
No, the version of feature pack is a part of the channel
private final InstallationMetadata metadata; | ||
private final ProsperoConfig prosperoConfig; | ||
private final Console console; | ||
private CandidateActionsFactory candidateActionsFactory; |
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.
Can be final too.
prospero-common/src/main/java/org/wildfly/prospero/actions/FeaturesAddAction.java
Show resolved
Hide resolved
prospero-common/src/main/java/org/wildfly/prospero/actions/FeaturesAddAction.java
Outdated
Show resolved
Hide resolved
prospero-common/src/main/java/org/wildfly/prospero/actions/FeaturesAddAction.java
Outdated
Show resolved
Hide resolved
@@ -50,20 +48,19 @@ | |||
class PrepareCandidateAction implements AutoCloseable{ |
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'm not sure what to imagine under "candidate" term here. Is that just a working installation that maybe gets used at the end of the process?
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.
Yes. The candidate is basically a newly provisioned server with the new feature pack. In next step that candidate is merged with existing server to apply the changes. This is a process that happened in Galleon under the hood, but we explicitly split it up in prospero to allow preparing candidate without stopping the server (in case of update/revert at least).
I'm thinking the
|
That may be out of scope for this PR, but it feels to me that I'm missing some command to review the current state of the installation. I can add a new feature pack but I can't review currently installed feature packs. Something like Maybe I would like to call the command What about some general |
And a little brainstorming - we could consider something for user to discover available feature packs / models / layers. |
I think we should also add some paragraph in the docs about this. Correct procedure to follow, since it can require multiple commands to install e.g. the datasource and db driver. |
BTW I'm trying following:
without creating additional channel and providing driver version. It results in a NPE:
Update: I don't have this issue when working with the wildfly-27.0.1 manifest from the intergration-tests dir and the wildfly galleon pack. |
That's good idea. I think the
I like that - @honza-kasik, I think that would affect your tests WDYT?
Yes there's already #428 to discover available feature packs, and I added #429 to list models and layers. That's something we can add later on though.
Yes, absolutely. I need to finish #153 and add it there |
@TomasHofman I added a docs entry. could you take a quick look when you have a moment? |
- groupId: org.wildfly | ||
artifactId: wildfly-datasources-galleon-pack | ||
version: 4.0.1.Final |
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.
Do I remember correctly the datasources galleon pack is going to be part of the main channel?
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.
AFAIK, not in the community version.
4e1b51c
to
90e72fb
Compare
|
||
#### Offline installation | ||
|
||
Similarly to other operations, `feature-pack add` can be executed in an offline mode. To do so, users should provide local repositories with all required artifacts (both for base server and the new feature) using `--repositories` parameter. |
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'm missing description of --repositories
in the feature analysis. Can user also define a channel (with a manifest) for a new feature pack and then use --repositories=<offline-feature-pack-channel-repo>,<offline-base-channel-repo>
?
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.
@honza-kasik yes the --repositories
work in the same way as in update
operation so the user would have to provide both base and feature pack repositories
8b8b737
to
09a584f
Compare
c0d8ddc
to
866b242
Compare
… add If the provisioning.xml is not recorded during feature add operation, preserve current configuration and use it in revert operations
9ded83d
to
70a3e7f
Compare
70a3e7f
to
059bc71
Compare
Support installing features pack on top of already provisioned servers.
Adds
prospero features add
operation, history and revert support