Skip to content

EL8 uses rng-tools for entropy, not haveged#6775

Merged
yadvr merged 2 commits intoapache:mainfrom
mlsorensen:rngd-el8
Oct 14, 2022
Merged

EL8 uses rng-tools for entropy, not haveged#6775
yadvr merged 2 commits intoapache:mainfrom
mlsorensen:rngd-el8

Conversation

@mlsorensen
Copy link
Copy Markdown
Contributor

@mlsorensen mlsorensen commented Sep 27, 2022

Description

This PR changes the EL8 packaging to depend on rng-tools instead of the deprecated haveged that was inadvertently added previously. There is no haveged provided in EL8.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

cloudstack-management EL8 RPM previously would not install as no dependency was found in standard repos. Now it does. Also confirmed rngd running after install.

@codecov
Copy link
Copy Markdown

codecov Bot commented Sep 27, 2022

Codecov Report

Merging #6775 (83a5654) into main (8ab8fdc) will increase coverage by 0.07%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #6775      +/-   ##
============================================
+ Coverage     10.53%   10.61%   +0.07%     
- Complexity     6786     6862      +76     
============================================
  Files          2464     2466       +2     
  Lines        243988   244539     +551     
  Branches      38185    38272      +87     
============================================
+ Hits          25699    25949     +250     
- Misses       215054   215308     +254     
- Partials       3235     3282      +47     
Impacted Files Coverage Δ
...dstack/network/contrail/model/ModelObjectBase.java 28.84% <0.00%> (-15.39%) ⬇️
...cloudstack/network/contrail/model/ModelObject.java 29.16% <0.00%> (-4.17%) ⬇️
.../src/main/java/com/cloud/storage/VMTemplateVO.java 37.70% <0.00%> (-1.28%) ⬇️
...in/java/com/cloud/api/query/vo/TemplateJoinVO.java 38.09% <0.00%> (-1.15%) ⬇️
...a/com/cloud/api/query/dao/TemplateJoinDaoImpl.java 16.29% <0.00%> (-0.83%) ⬇️
...dstack/storage/configdrive/ConfigDriveBuilder.java 10.27% <0.00%> (-0.76%) ⬇️
.../main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java 27.34% <0.00%> (-0.74%) ⬇️
...main/java/com/cloud/api/query/vo/UserVmJoinVO.java 8.82% <0.00%> (-0.34%) ⬇️
...n/java/com/cloud/capacity/dao/CapacityDaoImpl.java 3.24% <0.00%> (-0.13%) ⬇️
.../src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java 0.75% <0.00%> (-0.08%) ⬇️
... and 30 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Requires: %{name}-common = %{_ver}
Requires: iptables-services
Requires: qemu-img
Requires: haveged
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@mlsorensen can you make similar change for consistency across all packaging distros (el7, suse and debian), see
3ee62e3
a240c3b

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

is that sane for all distros?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes rng-tools is available on all distros

Copy link
Copy Markdown
Contributor

@DaanHoogland DaanHoogland left a comment

Choose a reason for hiding this comment

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

looks good but @rohityadavcloud question seems valid for newer distros (debian and suse) I would not change el7 in this perspect.

Requires: %{name}-common = %{_ver}
Requires: iptables-services
Requires: qemu-img
Requires: haveged
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

is that sane for all distros?

@mlsorensen
Copy link
Copy Markdown
Contributor Author

mlsorensen commented Oct 7, 2022

looks good but @rohityadavcloud question seems valid for newer distros (debian and suse) I would not change el7 in this perspect.

That's a good observation @DaanHoogland. I'm not in a position to actually test Suse or others, I only made the change on EL8 because it was something I ran into and was able to validate a fix for. We see from the haveged/EL8 case that it might somehow be possible to edit these spec files and generate RPMs that won't actually install with standard repos, so I'm hesitant to change other distro builds that I don't have set up.

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 8, 2022

@mlsorensen can you check the other spec files in el7 and suse directories under packaging, and apply the same pattern of changes? If you git grep on haveged in the debian directory you can apply the same pattern of changes there as well. For testing we can use blueorangutan to kick packaging and run smoketest on all those distros.

Verified on Ubuntu, installing rng-tools automatically enables and
starts the rng-tools (rngd) service.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Copy link
Copy Markdown
Member

@yadvr yadvr left a comment

Choose a reason for hiding this comment

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

LGTM, after use the same rngd across distros for management server. This needs smoketests across all supported management server distros now.

@yadvr yadvr added this to the 4.18.0.0 milestone Oct 12, 2022
@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@yadvr yadvr requested a review from DaanHoogland October 12, 2022 18:04
@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan help

@apache apache deleted a comment from acs-robot Oct 12, 2022
@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud I understand these words: "help", "hello", "thanks", "package", "test"
Test command usage: test [mgmt os] [hypervisor] [keepEnv] [qemuEv]
Mgmt OS options: ['centos7', 'centos6', 'suse15', 'alma8', 'ubuntu18', 'ubuntu22', 'ubuntu20', 'rocky8']
Hypervisor options: ['kvm-centos6', 'kvm-centos7', 'kvm-rocky8', 'kvm-alma8', 'kvm-ubuntu18', 'kvm-ubuntu20', 'kvm-ubuntu22', 'kvm-suse15', 'vmware-55u3', 'vmware-60u2', 'vmware-65u2', 'vmware-67u3', 'vmware-70u1', 'vmware-70u2', 'vmware-70u3', 'xenserver-65sp1', 'xenserver-71', 'xenserver-74', 'xcpng74', 'xcpng76', 'xcpng80', 'xcpng81', 'xcpng82']
Note: when keepEnv is passed, you need to specify mgmt server os and hypervisor or use the matrix command.
when qemuEv is passed, it will deploy KVM hyperviosr hosts with qemu-kvm-ev, else it will default to stock qemu.
Package command usage: package [all(default value),kvm,xen,vmware,hyperv,ovm] - a comma separated list can be passed with package command to bundle the required hypervisor's systemVM templates. Not passing any argument will bundle all - kvm,xen and vmware templates.

Blessed contributors for kicking Trillian test jobs: ['rohityadavcloud', 'nvazquez', 'borisstoyanov', 'DaanHoogland', 'shwstppr', 'andrijapanicsb', 'rahulbcn27', 'davidjumani', 'harikrishna-patnala', 'vladimirpetrov', 'weizhouapache', 'NuxRo', 'mlsorensen']

@sonarqubecloud
Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@blueorangutan
Copy link
Copy Markdown

Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 4432

Copy link
Copy Markdown
Contributor

@DaanHoogland DaanHoogland left a comment

Choose a reason for hiding this comment

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

clgtm

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan test

@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan test rocky8 kvm-rocky8

@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud a Trillian-Jenkins test job (rocky8 mgmt + kvm-rocky8) has been kicked to run smoke tests

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan test ubuntu20 kvm-ubuntu20

@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud a Trillian-Jenkins test job (ubuntu20 mgmt + kvm-ubuntu20) has been kicked to run smoke tests

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 12, 2022

@blueorangutan test suse15 vmware-70u3

@blueorangutan
Copy link
Copy Markdown

@rohityadavcloud a Trillian-Jenkins test job (suse15 mgmt + vmware-70u3) has been kicked to run smoke tests

Copy link
Copy Markdown
Contributor

@sureshanaparti sureshanaparti left a comment

Choose a reason for hiding this comment

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

Code LGTM

@apache apache deleted a comment from DaanHoogland Oct 13, 2022
@apache apache deleted a comment from blueorangutan Oct 13, 2022
@blueorangutan
Copy link
Copy Markdown

Trillian test result (tid-5108)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 44471 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6775-t5108-kvm-centos7.zip
Smoke tests completed. 103 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Failure 471.94 test_vpc_redundant.py

@blueorangutan
Copy link
Copy Markdown

Trillian test result (tid-5111)
Environment: vmware-70u3 (x2), Advanced Networking with Mgmt server s15
Total time taken: 48814 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6775-t5111-vmware-70u3.zip
Smoke tests completed. 103 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_list_management_server_metrics Failure 0.02 test_metrics_api.py

@blueorangutan
Copy link
Copy Markdown

Trillian test result (tid-5109)
Environment: kvm-rocky8 (x2), Advanced Networking with Mgmt server r8
Total time taken: 50686 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6775-t5109-kvm-rocky8.zip
Smoke tests completed. 103 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_08_upgrade_kubernetes_ha_cluster Failure 764.04 test_kubernetes_clusters.py

@blueorangutan
Copy link
Copy Markdown

Trillian test result (tid-5113)
Environment: kvm-ubuntu20 (x2), Advanced Networking with Mgmt server u20
Total time taken: 40668 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6775-t5113-kvm-ubuntu20.zip
Smoke tests completed. 104 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@yadvr
Copy link
Copy Markdown
Member

yadvr commented Oct 14, 2022

I see mgmt server pkg change is working, we've tested Ubuntu 20, Suse15, CentOS7 and Rocky Linux8 as mgmt server in smoketests. Merging based on this.

@yadvr yadvr merged commit 289a43f into apache:main Oct 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants