Skip to content

Conversation

@rwsu
Copy link
Contributor

@rwsu rwsu commented Jan 10, 2023

Users would like the ability to change their network configuration at the console if network connectivity problems are detected.

To achieve this goal, this patch adds a new service called agent-interactive-console.service to block the login prompt and the agent services that pulls an image from the registry.

The service will execute the agent TUI to allow users to update their network configuration. The TUI will check there is connectivity to the registry and to the rendezvous host. If the connectivity checks pass, the TUI exits, which also lead the interactive console service to exit, and this unblocks the login prompt and agent services waiting for pull from the registry, allowing the agent-based installer to proceed.

The agent TUI will be added in a future patch.

For now, the service executes a script that logs its presence, sleeps for 60 seconds, and exits. This should not block the automated flow.

Most of the service definition was lifted from @celebdor's POC: #6560

Signed-off-by: Richard Su [email protected]

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for naming it agent-<...>, in the long term I think it'd be easier to rename all of our services with a known fixed prefix (for the sake of troubleshooting)

rwsu added 2 commits January 12, 2023 22:22
Users would like the ability to change their network
configuration at the console if network connectivity problems
are detected.

To achieve this goal, this patch adds a new service called
agent-interactive-console.service to block the login prompt
and the agent services that pulls an image from the registry.

The service will execute the agent TUI to allow users to update
their network configuration. The TUI will check there is
connectivity to the registry and to the rendezvous host. If
the connectivity checks pass, the TUI exits, which also lead
the interactive console service to exit, and this unblocks the
login prompt and agent services waiting for pull from the registry,
allowing the agent-based installer to proceed.

The agent TUI will be added in a future patch.

For now, the service executes a script that logs its
presence, sleeps for 60 seconds, and exits. This should not
block the automated flow.

Added ConditionPathExists=/usr/local/bin/agent-tui, which means
the service does not start nor is it active until the agent-tui
binary is present at that path.

Most of the service definition was lifted from celebdor's POC:
openshift#6560

Signed-off-by: Richard Su <[email protected]>
The interactive console service will not start or be active until
the path exists.
@bfournie
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 19, 2023
Create a .path to track existence of the agent-tui.

If the agent-tui binary exists at the specified path, PathExists,
then the unit agent-interactive-console.service will be enabled.

If the agent-tui binary does not exist, then
agent-interactive-console.service is not enabled.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 20, 2023
rwsu added a commit to rwsu/installer that referenced this pull request Jan 20, 2023
Update the interactive console service to have it check the current
host can access the release image and rendezvous host. Display
this connectivity information to the user before prompting to run
the network configuration tui.

If there is connectivity, then the prompt times out after 60s and
the automation flow is allowed to continue.

If there is a connectivity issue, then the network configuration
tui will be executed to allow users to update. The tui, however,
has not been  integrated with the interactive console service, so
in the meantime, there is a 60s sleep in place of executing the tui.
This will be changed in a future patch.

Depends on: openshift#6756

Signed-off-by: Richard Su <[email protected]>
@andfasano
Copy link
Contributor

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 20, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andfasano

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 20, 2023
@bfournie
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 20, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 21, 2023

@rwsu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-workers-rhel8 7d66340 link false /test e2e-aws-ovn-workers-rhel8
ci/prow/e2e-agent-sno-ipv6 7d66340 link false /test e2e-agent-sno-ipv6
ci/prow/e2e-aws-ovn-disruptive 7d66340 link false /test e2e-aws-ovn-disruptive
ci/prow/e2e-vsphere-upi-zones 7d66340 link false /test e2e-vsphere-upi-zones

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-merge-robot openshift-merge-robot merged commit 26ce7ce into openshift:master Jan 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants