bigtop icon indicating copy to clipboard operation
bigtop copied to clipboard

BIGTOP-3691. Bump Puppet to Puppet7

Open vivostar opened this issue 2 years ago • 11 comments

Description of PR

bump puppet to puppet7 for centos

How was this patch tested?

  1. build a bigtop-puppet docker image
cd $BIGTOP_HOME/docker/bigtop-puppet
./build.sh trunk-centos-7
  1. 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 avatar Jun 02 '22 17:06 vivostar

@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 avatar Jun 05 '22 15:06 iwasakims

@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.

vivostar avatar Jun 06 '22 07:06 vivostar

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:

sekikn avatar Jun 06 '22 08:06 sekikn

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

iwasakims avatar Jun 10 '22 06:06 iwasakims

hi, @iwasakims , now the patch is work well on debian(x86_64).

vivostar avatar Jun 10 '22 10:06 vivostar

@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.

  1. Download CentOS 7 image for ppc64le from any mirror site listed in http://isoredirect.centos.org/altarch/7/isos/ppc64le/.
  2. 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
  1. 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

sekikn avatar Jun 10 '22 15:06 sekikn

😰oops, I will issue this to Puppet Community.

vivostar avatar Jun 10 '22 16:06 vivostar

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.

vivostar avatar Jun 11 '22 03:06 vivostar

now the patch is work well on bigtop-slaves images.

vivostar avatar Jun 11 '22 12:06 vivostar

@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?

sekikn avatar Jun 12 '22 00:06 sekikn

@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.

vivostar avatar Jun 12 '22 02:06 vivostar