bigtop
bigtop copied to clipboard
BIGTOP-3691. Bump Puppet to Puppet7
Description of PR
bump puppet to puppet7 for centos
How was this patch tested?
- build a bigtop-puppet docker image
cd $BIGTOP_HOME/docker/bigtop-puppet
./build.sh trunk-centos-7
- create bigtop docker container
cd $BIGTOP_HOME/provisioner/docker
./docker-hadoop.sh -c 1
For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'BIGTOP-3638. Your PR title ...')?
- [x] Make sure that newly added files do not have any licensing issues. When in doubt refer to https://www.apache.org/licenses/
@vivostar Thanks for the contribution.
This patch can not be merged because it breaks the deployment on distros other than CentOS 7. We must take care of all supported distros at the same time in order to upgrade Puppet.
@iwasakims thanks for your advice, so I made another some patch for debian, ubuntu, and centos8(rocky linux). The advantage of ugdating puppet deploy is that we can use puppet new features such as hiera v5, ignore the stdlib edition and the module dirs among distros so as to make our deployment more succinct. Up to now, these are all tested on amd64 machines.
I'm not sure if Puppet 7 from puppetlabs supports aarch64 and ppc64le, but it didn't as of Puppet 5 according to the following discussion. https://lists.apache.org/thread/gbgox39m9wks50hjl986h0syb41b7n3k. If it still doesn't, I'm afraid it will be much tough work to support all architectures...:pensive:
The patch worked for me on Rocky Linux 8 (x86_64), CentOS 7 (aarch64), Ubuntu 18.04 (aarch64).
https://lists.apache.org/thread/gbgox39m9wks50hjl986h0syb41b7n3k.
I don't know the context of the thread. If you know the specific failure scenario (distro/arch), let me know. @sekikn
hi, @iwasakims , now the patch is work well on debian(x86_64).
@vivostar @iwasakims
I don't know the context of the thread. If you know the specific failure scenario (distro/arch), let me know.
I was not involved in the discussion in question directly, but as far as I investigated and tried, puppetlabs doesn't seem to support ppc64le.
Steps to reproduce are as follows. I ran them on Ubuntu 22.04.
- Download CentOS 7 image for ppc64le from any mirror site listed in http://isoredirect.centos.org/altarch/7/isos/ppc64le/.
- Create VM using the downloaded image (configure parameters in accordance with your environment):
$ sudo apt-get install -y libvirt-clients virtinst libvirt-daemon-system qemu-utils qemu-system-ppc
$ sudo virt-install --name=c7ppc --ram=8192 --vcpus=4 --network=bridge=virbr0,model=virtio --os-variant=rhel7.9 --arch=ppc64le --machine=pseries-2.12 --disk=/var/lib/libvirt/images/c7ppc.img,format=qcow2,size=20 --cdrom=CentOS-7-ppc64le-Minimal-2009.iso --serial=pty --console=pty --boot=hd --graphics=none
- Test this PR in the created VM:
$ sudo yum update -y
$ sudo yum install -y curl git unzip wget
$ git clone https://github.com/apache/bigtop.git
$ cd bigtop
$ curl -sL https://github.com/apache/bigtop/pull/908.patch | git apply
$ sudo bigtop_toolchain/bin/puppetize.sh
...
failure: repodata/repomd.xml from puppet7: [Errno 256] No more mirrors to try.
http://yum.puppetlabs.com/puppet7/el/7/ppc64le/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
bigtop_toolchain/bin/puppetize.sh: line 60: /opt/puppetlabs/bin/puppet: No such file or directory
😰oops, I will issue this to Puppet Community.
hi, @sekikn , I find ppc64 puppet pakages on the url https://nightlies.puppetlabs.com/ so I update the patch. please help test it on the ppc64 machine, thanks.
now the patch is work well on bigtop-slaves images.
@vivostar I can try the latest PR on ppc64le, but I still have a few concerns...
- I couldn't find the ppc64le package for Fedora 35, Debian or Ubuntu, either on the official or nightly repo.
- The CentOS 7 ppc64le package seems to be unattended. Its timestamp is 2020-10-27.
- Though I'm not sure how the nightly repo is operated actually, its name sounds like it's unstable and not suitable for production use.
All of the advantages of upgrading Puppet you mentioned above are certainly reasonable, but considering these circumstances, upgrading to Puppet 7 looks a bit too early to me. If the puppet community has a plan to support ppc64le and the packages will be provided in the official repository, how about putting off the upgrade after that?
@vivostar I can try the latest PR on ppc64le, but I still have a few concerns...
- I couldn't find the ppc64le package for Fedora 35, Debian or Ubuntu, either on the official or nightly repo.
- The CentOS 7 ppc64le package seems to be unattended. Its timestamp is 2020-10-27.
- Though I'm not sure how the nightly repo is operated actually, its name sounds like it's unstable and not suitable for production use.
All of the advantages of upgrading Puppet you mentioned above are certainly reasonable, but considering these circumstances, upgrading to Puppet 7 looks a bit too early to me. If the puppet community has a plan to support ppc64le and the packages will be provided in the official repository, how about putting off the upgrade after that?
That's right, updating puppet is non-trivial.