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

Add support for Pbench agent installation #315

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

asyedham
Copy link
Member

@asyedham asyedham commented Dec 7, 2020

[skip-ci]
boot_vm.yml, playbook creates an uperf client and server vm
pbench_agent_bootstrap.yml, playbook installs necessary repos.
pbench_agent_install.yml, playbook install pbench agent on vm's and compute nodes
#320

@asyedham asyedham force-pushed the pbench-support branch 7 times, most recently from 85e7471 to 07a27b3 Compare December 16, 2020 19:35
@asyedham asyedham force-pushed the pbench-support branch 2 times, most recently from 77fb63f to a580142 Compare December 18, 2020 12:25
@asyedham asyedham changed the title [WIP] Add support for Pbench installation Add support for Pbench agent installation Dec 18, 2020
@asyedham asyedham force-pushed the pbench-support branch 3 times, most recently from 8f598e0 to 320d667 Compare December 24, 2020 11:16
@asyedham asyedham linked an issue Jan 13, 2021 that may be closed by this pull request
To install Pbench agent on the compute nodes and vm's (i.e client and server),you have to follow the below steps and set the below params install/group_vars/all.yml

`pbench_key_url: <pbench_key_url>
 pbench_config_url: <pbench_config_url>
 pbench_configuration_environment: <pbench_configuration_environment>`

`cd  {{ ansible_user_dir}}/jetpack/install`

1) To create the client and server
     `ansible-playbook boot.yml`
2) Install Pbench agent bootstrapping
     `ansible-playbook pbench_agent_bootstrap.yml -e "repos=<perf-dept-repo>" `
3) Install Pbench agent install
     `ansible-playbook pbench_agent_install.yml`
Copy link

@portante portante left a comment

Choose a reason for hiding this comment

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

Do you mean to check in install/templates/.pass_auth.sh.j2.swp?

become: yes
loop:
- "{{ epel_repo.el7 }}"
- perl-Data-UUID

Choose a reason for hiding this comment

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

Why do you have to install perl-Data-UUID?

Copy link
Member Author

Choose a reason for hiding this comment

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

These will install perl-Data-UUID after the epel is installed on computes as by default the yum repos are disabled

Choose a reason for hiding this comment

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

But why is this needed explicitly? The pbench-agent RPM should have dependencies that take care of this.

- "{{ vm_names }}"
ignore_errors: yes

- name: create a vm's

Choose a reason for hiding this comment

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

Why are there two roles that are named the same and seem to do almost the same thing?

Copy link
Member Author

Choose a reason for hiding this comment

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

There are two tasks for idempotency because

  • In the first task it creates Uperf client and server vm, so it uses UUID's of the ports registered in var port_ids that were created newly if these ports didn't exist
  • The second task creates uperf client and server vm's using the UUID of the ports already exist registered in get_port_ids var

Choose a reason for hiding this comment

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

Why not just have one task handle this?

install/roles/flavors/vars/main.yml Show resolved Hide resolved
install/roles/images/tasks/main.yml Outdated Show resolved Hide resolved
install/roles/images/tasks/main.yml Show resolved Hide resolved
install/roles/network/vars/main.yml Show resolved Hide resolved
sudo dnf install {{ epel_repo.el8 }} -y
sudo dnf module install -y python36
sudo alternatives --set python /usr/bin/python3
sudo dnf --enablerepo=PowerTools install perl-Data-UUID -y

Choose a reason for hiding this comment

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

Why do you need to explicitly install perl-Data-UUID here and not for CentOS 7? Don't you have this requirement elsewhere?

Copy link
Member Author

Choose a reason for hiding this comment

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

I had seen this requirement in the Pbench installation documentation. But I just checked the doc and can't find it now

Choose a reason for hiding this comment

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

The pbench-agent RPM should have its own dependencies. I'd suggest removing this to confirm.

install/pbench_agent_bootstrap.yml Show resolved Hide resolved
@@ -0,0 +1,108 @@
---

# Playbook to create client and server vm on Openstack

Choose a reason for hiding this comment

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

Can this be factored out into its own PR as it does not appear to be tightly related to pbench agent installation?

Copy link
Member Author

Choose a reason for hiding this comment

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

This PR supports Pbench agent installation on Openstack Vm's, Computes, and Trafficgen host if enabled. This playbook creates the Uperf client and server vm.

Choose a reason for hiding this comment

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

Sure, but this playbook appears to be completely independent of what it is being used for, which makes it verifiable on its own and not tied to anything pbench.

README.md Show resolved Hide resolved
@asyedham
Copy link
Member Author

@portante Thanks for reviewing my PR.

README.md Outdated Show resolved Hide resolved
@stale
Copy link

stale bot commented Feb 22, 2021

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the not_ready label Feb 22, 2021
@stale
Copy link

stale bot commented Mar 26, 2021

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the not_ready label Mar 26, 2021
@asyedham asyedham added hold and removed not_ready labels Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for Pbench installation on Openstack vm's
3 participants