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

[DNM] AGENT-701: day2 add node spike #7465

Closed

Conversation

andfasano
Copy link
Contributor

Note
This PR represents a quick-and-rough PoC for the epic AGENT-682, just intended to evaluate the feasibility of the approach for ABI, to support the upcoming design discussion and to hilight potential impacts on the current code. It's not meant to be merged or to represent an implementation proposal, and it uses a totally arbirtrary API that could completely change in its final shape. In addition, it's currently designed to work with just one node.

How to use it

  1. Deploy a compact cluster using dev-scripts, with an extra worker, using the following config:
export WORKING_DIR=/home/dev-scripts
export OPENSHIFT_RELEASE_IMAGE=registry.ci.openshift.org/ocp/release:4.14.0-0.nightly-2023-09-04-122123
export AGENT_E2E_TEST_SCENARIO=COMPACT_IPV4

export NUM_EXTRA_WORKERS=1
export EXTRA_WORKER_VCPU=4
export EXTRA_WORKER_DISK=100
export EXTRA_WORKER_MEMORY=9000
  1. Build openshift-install from the current PR and patch it with the desired release version (see billi-release.sh)
  2. Prepare an asset folder with the following content:
    a. kubeconfig file obtained from the previously installed cluster
    b. A valid plain pull-secret file
    c. agent-config.yaml configured as follow (update the MAC address as required):
apiVersion: v1alpha1
metadata:
  name: ostest
  namespace: cluster0
rendezvousIP: 192.168.111.23
hosts:
    - hostname: extraworker-0
      role: worker
      interfaces:
        - name: eth0 
          macAddress: 00:54:59:71:7f:15
      networkConfig:
        interfaces:
          - name: eth0
            type: ethernet
            state: up
            mac-address: 00:54:59:71:7f:15
            ipv4:
              enabled: true
              address:
                - ip: 192.168.111.23
                  prefix-length: 24
              dhcp: false
        dns-resolver:
          config:
            server:
              - 192.168.111.1
        routes:
          config:
            - destination: 0.0.0.0/0 
              next-hop-address: 192.168.111.1
              next-hop-interface: eth0
              table-id: 254
  1. Run the following command in the assets folder:
    $ openshift-install agent create nodes-image
  2. Load the newly generated workers-agent.x86_64.iso ISO in the extraworker-0 VM and launch it.
  3. Wait for new certificate signing requests to appear (oc get csr) and approve them (there should be two, one after the other) oc adm certificate approve <csr-id>
  4. Verify the presence of the extra worker node in the cluster (oc get nodes)

@andfasano andfasano changed the title agent: day2 add node spike AGENT-701: day2 add node spike Sep 5, 2023
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 5, 2023
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 5, 2023

@andfasano: This pull request references AGENT-701 which is a valid jira issue.

In response to this:

Note
This PR represents a quick-and-rough PoC for the epic AGENT-682, just intended to evaluate the feasibility of the approach for ABI, to support the upcoming design discussion and to hilight potential impacts on the current code. It's not meant to be merged or to represent an implementation proposal, and it uses a totally arbirtrary API that could completely change in its final shape. In addition, it's currently designed to work with just one node.

How to use it

  1. Deploy a compact cluster using dev-scripts, with an extra worker, using the following config:
export WORKING_DIR=/home/dev-scripts
export OPENSHIFT_RELEASE_IMAGE=registry.ci.openshift.org/ocp/release:4.14.0-0.nightly-2023-09-04-122123
export AGENT_E2E_TEST_SCENARIO=COMPACT_IPV4

export NUM_EXTRA_WORKERS=1
export EXTRA_WORKER_VCPU=4
export EXTRA_WORKER_DISK=100
export EXTRA_WORKER_MEMORY=9000
  1. Build openshift-install from the current PR and patch it with the desired release version (see billi-release.sh)
  2. Prepare an asset folder with the following content:
    a. kubeconfig file obtained from the previously installed cluster
    b. A valid plain pull-secret file
    c. agent-config.yaml configured as follow (update the MAC address as required):
apiVersion: v1alpha1
metadata:
 name: ostest
 namespace: cluster0
rendezvousIP: 192.168.111.23
hosts:
   - hostname: extraworker-0
     role: worker
     interfaces:
       - name: eth0 
         macAddress: 00:54:59:71:7f:15
     networkConfig:
       interfaces:
         - name: eth0
           type: ethernet
           state: up
           mac-address: 00:54:59:71:7f:15
           ipv4:
             enabled: true
             address:
               - ip: 192.168.111.23
                 prefix-length: 24
             dhcp: false
       dns-resolver:
         config:
           server:
             - 192.168.111.1
       routes:
         config:
           - destination: 0.0.0.0/0 
             next-hop-address: 192.168.111.1
             next-hop-interface: eth0
             table-id: 254
  1. Run the following command in the assets folder:
    $ openshift-install agent create nodes-image
  2. Load the newly generated workers-agent.x86_64.iso ISO in the extraworker-0 VM and launch it.
  3. Wait for new certificate signing requests to appear (oc get csr) and approve them (there should be two, one after the other) oc adm certificate approve <csr-id>
  4. Verify the presence of the extra worker node in the cluster (oc get nodes)

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.

@andfasano andfasano changed the title AGENT-701: day2 add node spike [DNM] AGENT-701: day2 add node spike Sep 5, 2023
@andfasano
Copy link
Contributor Author

/draft

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 5, 2023

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from andfasano. For more information see the Kubernetes Code Review Process.

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

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

@andfasano
Copy link
Contributor Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 5, 2023
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 9, 2023
@openshift-merge-robot
Copy link
Contributor

PR needs rebase.

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.

Copy link
Contributor

openshift-ci bot commented Nov 21, 2023

@andfasano: 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-agent-compact-ipv4 36172ef link true /test e2e-agent-compact-ipv4
ci/prow/gofmt 36172ef link true /test gofmt
ci/prow/agent-integration-tests 36172ef link true /test agent-integration-tests
ci/prow/e2e-agent-sno-ipv4-pxe 36172ef link false /test e2e-agent-sno-ipv4-pxe
ci/prow/shellcheck 36172ef link true /test shellcheck
ci/prow/unit 36172ef link true /test unit
ci/prow/e2e-agent-compact-ipv4-appliance 36172ef link false /test e2e-agent-compact-ipv4-appliance
ci/prow/e2e-agent-ha-dualstack 36172ef link false /test e2e-agent-ha-dualstack
ci/prow/aro-unit 36172ef link true /test aro-unit
ci/prow/e2e-agent-sno-ipv6 36172ef link false /test e2e-agent-sno-ipv6
ci/prow/okd-unit 36172ef link true /test okd-unit
ci/prow/e2e-agent-compact-ipv4-none-platform 36172ef link false /test e2e-agent-compact-ipv4-none-platform
ci/prow/golint 36172ef link true /test golint
ci/prow/okd-scos-unit 36172ef link false /test okd-scos-unit
ci/prow/altinfra-images 36172ef link true /test altinfra-images
ci/prow/terraform-images 36172ef link true /test terraform-images
ci/prow/terraform-verify-vendor 36172ef link true /test terraform-verify-vendor

Full PR test history. Your PR dashboard.

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.

@andfasano
Copy link
Contributor Author

Discussion thread moved to openshift/enhancements#1517

@andfasano andfasano closed this Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants