Skip to content

Commit

Permalink
NR-144356: add support for sles 15.5 (#1717)
Browse files Browse the repository at this point in the history
* NR-144356: add support for sles 15.5

* enable sles 15.5 for canaries
  • Loading branch information
brushknight authored Aug 8, 2023
1 parent a13f21b commit a90edcc
Show file tree
Hide file tree
Showing 6 changed files with 260 additions and 16 deletions.
80 changes: 80 additions & 0 deletions build/goreleaser/linux/sles_155_amd64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# SLES 15.5 amd64

- id: sle-15.5-infrastructure-agent
builds:
- linux-agent-amd64
- linux-ctl-amd64
- linux-service-amd64
package_name: newrelic-infra
file_name_template: "newrelic-infra-{{ .Env.TAG }}-1.sles15.5.{{ .Arch }}"
vendor: 'New Relic, Inc.'
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
maintainer: '[email protected]'
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
formats:
- rpm
bindir: /usr/bin
contents:
- src: 'build/package/systemd/newrelic-infra.service'
dst: '/etc/systemd/system/newrelic-infra.service'
- src: 'LICENSE'
dst: '/var/db/newrelic-infra/LICENSE.txt'
- src: 'target/nridocker/amd64/etc/newrelic-infra/integrations.d/docker-config.yml'
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
type: config

- src: 'target/nridocker/amd64/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
- src: 'target/nriflex/amd64/nri-flex'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-flex'
- src: 'target/nriprometheus/amd64/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'

# - src: 'assets/examples/logging/linux/file.yml.example'
# dst: '/etc/newrelic-infra/logging.d/file.yml.example'
# - src: 'assets/examples/logging/linux/fluentbit.yml.example'
# dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
# - src: 'assets/examples/logging/linux/syslog.yml.example'
# dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
# - src: 'assets/examples/logging/linux/systemd.yml.example'
# dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
# - src: 'assets/examples/logging/linux/tcp.yml.example'
# dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'
# - src: 'target/fluent-bit-plugin/amd64/out_newrelic.so'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
# - src: 'assets/examples/logging/parsers.conf'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
empty_folders:
- /var/db/newrelic-infra/custom-integrations
- /var/db/newrelic-infra/integrations.d
- /var/log/newrelic-infra
- /var/run/newrelic-infra
epoch: 0
release: 1.sles15.5
replacements:
amd64: x86_64

# Scripts to execute during the installation of the package.
scripts:
preinstall: "build/package/before-install.sh"
preremove: "build/package/rpm/prerm-systemd.sh"

# Packages to replace according to old packaging scripts.
replaces:
- opspro-agent
- opspro-agent-systemd
# Section.
section: default
# Priority.
priority: extra
rpm:
scripts:
posttrans: "build/package/rpm/postinst-systemd.sh"
summary: "New Relic Infrastructure Agent"
group: default
# Recommended packages. If they fail to install installation of the agent will not be interrupted.
# recommends:
# - fluent-bit

# end SLES 15.5 amd64
75 changes: 75 additions & 0 deletions build/goreleaser/linux/sles_155_arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# SLES 15.5 arm

- id: sle-15.5-infrastructure-agent-arm
builds:
- linux-agent-arm
- linux-ctl-arm
- linux-service-arm
package_name: newrelic-infra
file_name_template: "newrelic-infra-{{ .Env.TAG }}-1.sles15.5.{{ .Arch }}"
vendor: 'New Relic, Inc.'
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
maintainer: '[email protected]'
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
formats:
- rpm
bindir: /usr/bin
contents:
# - src: 'assets/examples/logging/linux/file.yml.example'
# dst: '/etc/newrelic-infra/logging.d/file.yml.example'
# - src: 'assets/examples/logging/linux/fluentbit.yml.example'
# dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
# - src: 'assets/examples/logging/linux/syslog.yml.example'
# dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
# - src: 'assets/examples/logging/linux/systemd.yml.example'
# dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
# - src: 'assets/examples/logging/linux/tcp.yml.example'
# dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'

- src: 'build/package/systemd/newrelic-infra.service'
dst: '/etc/systemd/system/newrelic-infra.service'
- src: 'LICENSE'
dst: '/var/db/newrelic-infra/LICENSE.txt'
- src: 'target/nridocker/{{ .Arch }}/etc/newrelic-infra/integrations.d/docker-config.yml'
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
type: config

- src: 'target/nridocker/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
- src: 'target/nriflex/{{ .Arch }}/nri-flex'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-flex'
- src: 'target/nriprometheus/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
# - src: 'target/fluent-bit-plugin/{{ .Arch }}/out_newrelic.so'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
# - src: 'assets/examples/logging/parsers.conf'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
empty_folders:
- /var/db/newrelic-infra/custom-integrations
- /var/db/newrelic-infra/integrations.d
- /var/log/newrelic-infra
- /var/run/newrelic-infra
epoch: 0
release: 1.sles15.5

# Scripts to execute during the installation of the package.
scripts:
preinstall: "build/package/before-install.sh"
preremove: "build/package/rpm/prerm-systemd.sh"

# Packages to replace according to old packaging scripts.
replaces:
- opspro-agent
- opspro-agent-systemd
# Section.
section: default
# Priority.
priority: extra
rpm:
scripts:
posttrans: "build/package/rpm/postinst-systemd.sh"
summary: "New Relic Infrastructure Agent"
group: default

# end SLES 15.5 arm
80 changes: 80 additions & 0 deletions build/goreleaser/linux/sles_155_arm64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# SLES 15.5 arm64

- id: sle-15.5-infrastructure-agent-arm64
builds:
- linux-agent-arm64
- linux-ctl-arm64
- linux-service-arm64
package_name: newrelic-infra
file_name_template: "newrelic-infra-{{ .Env.TAG }}-1.sles15.5.{{ .Arch }}"
vendor: 'New Relic, Inc.'
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
maintainer: '[email protected]'
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
formats:
- rpm
bindir: /usr/bin
contents:
# - src: 'assets/examples/logging/linux/file.yml.example'
# dst: '/etc/newrelic-infra/logging.d/file.yml.example'
# - src: 'assets/examples/logging/linux/fluentbit.yml.example'
# dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
# - src: 'assets/examples/logging/linux/syslog.yml.example'
# dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
# - src: 'assets/examples/logging/linux/systemd.yml.example'
# dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
# - src: 'assets/examples/logging/linux/tcp.yml.example'
# dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'

- src: 'build/package/systemd/newrelic-infra.service'
dst: '/etc/systemd/system/newrelic-infra.service'
- src: 'LICENSE'
dst: '/var/db/newrelic-infra/LICENSE.txt'
- src: 'target/nridocker/{{ .Arch }}/etc/newrelic-infra/integrations.d/docker-config.yml'
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
type: config

- src: 'target/nridocker/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
- src: 'target/nriflex/{{ .Arch }}/nri-flex'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-flex'
- src: 'target/nriprometheus/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
dst: '/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
# - src: 'target/fluent-bit-plugin/{{ .Arch }}/out_newrelic.so'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
# - src: 'assets/examples/logging/parsers.conf'
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
empty_folders:
- /var/db/newrelic-infra/custom-integrations
- /var/db/newrelic-infra/integrations.d
- /var/log/newrelic-infra
- /var/run/newrelic-infra
epoch: 0
release: 1.sles15.5

# Scripts to execute during the installation of the package.
scripts:
preinstall: "build/package/before-install.sh"
preremove: "build/package/rpm/prerm-systemd.sh"

# Packages to replace according to old packaging scripts.
replaces:
- opspro-agent
- opspro-agent-systemd
# Section.
section: default
# Priority.
priority: extra
rpm:
scripts:
posttrans: "build/package/rpm/postinst-systemd.sh"
summary: "New Relic Infrastructure Agent"
group: default
# Recommended packages. If they fail to install installation of the agent will not be interrupted.
# recommends:
# FB not supported yet
# - td-agent-bit #To be removed on removal of the ff fluent_bit_19
# - fluent-bit

# end SLES 15.5 arm64
6 changes: 6 additions & 0 deletions build/release.mk
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ generate-goreleaser-amd64:
$(CURDIR)/build/goreleaser/linux/sles_152_amd64.yml\
$(CURDIR)/build/goreleaser/linux/sles_153_amd64.yml\
$(CURDIR)/build/goreleaser/linux/sles_154_amd64.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_amd64.yml\
> $(GORELEASER_CONFIG_LINUX)

.PHONY : generate-goreleaser-arm
Expand All @@ -208,6 +209,7 @@ generate-goreleaser-amd64:
$(CURDIR)/build/goreleaser/linux/sles_152_arm.yml\
$(CURDIR)/build/goreleaser/linux/sles_153_arm.yml\
$(CURDIR)/build/goreleaser/linux/sles_154_arm.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_arm.yml\
> $(GORELEASER_CONFIG_LINUX)

.PHONY : generate-goreleaser-arm64
Expand All @@ -231,6 +233,7 @@ generate-goreleaser-arm64:
$(CURDIR)/build/goreleaser/linux/sles_152_arm64.yml\
$(CURDIR)/build/goreleaser/linux/sles_153_arm64.yml\
$(CURDIR)/build/goreleaser/linux/sles_154_arm64.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_arm64.yml\
> $(GORELEASER_CONFIG_LINUX)

.PHONY : generate-goreleaser-legacy
Expand Down Expand Up @@ -300,6 +303,9 @@ generate-goreleaser-multiarch:
$(CURDIR)/build/goreleaser/linux/sles_154_amd64.yml\
$(CURDIR)/build/goreleaser/linux/sles_154_arm.yml\
$(CURDIR)/build/goreleaser/linux/sles_154_arm64.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_amd64.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_arm.yml\
$(CURDIR)/build/goreleaser/linux/sles_155_arm64.yml\
> $(GORELEASER_CONFIG_LINUX)

.PHONY : generate-goreleaser-for-docker
Expand Down
5 changes: 5 additions & 0 deletions build/upload-schema-linux-rpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- 15.2
- 15.3
- 15.4
- 15.5

- src: "newrelic-infra-{version}-1.sles{os_version}.{arch}.rpm"
arch:
Expand All @@ -57,6 +58,7 @@
- 15.2
- 15.3
- 15.4
- 15.5

- src: "newrelic-infra-{version}-1.amazonlinux-{os_version}.{arch}.rpm"
arch:
Expand Down Expand Up @@ -125,6 +127,7 @@
- 15.2
- 15.3
- 15.4
- 15.5

- src: "newrelic-infra-{version}-1.sles{os_version}.{arch}.rpm.sum"
arch:
Expand All @@ -141,6 +144,7 @@
- 15.2
- 15.3
- 15.4
- 15.5

- src: "newrelic-infra-{version}-1.sles{os_version}.{arch}.rpm.sum"
arch:
Expand All @@ -157,6 +161,7 @@
- 15.2
- 15.3
- 15.4
- 15.5

- src: "newrelic-infra-{version}-1.amazonlinux-{os_version}.{arch}.rpm.sum"
arch:
Expand Down
30 changes: 14 additions & 16 deletions test/automated/ansible/group_vars/localhost/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,14 +177,13 @@ instances:
platform: "linux"
python_interpreter: "/usr/bin/python3"
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
# Infra Agent not supported yet
# - ami: "ami-0e03a27c1453107db" # based on suse-sles-15-sp5-v20230620-hvm-ssd-x86_64
# type: "t3a.small"
# name: "amd64:sles-15.5"
# username: "ec2-user"
# platform: "linux"
# python_interpreter: "/usr/bin/python3"
# launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
- ami: "ami-0e03a27c1453107db" # based on suse-sles-15-sp5-v20230620-hvm-ssd-x86_64
type: "t3a.small"
name: "amd64:sles-15.5"
username: "ec2-user"
platform: "linux"
python_interpreter: "/usr/bin/python3"
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
############################
# sles arm64
############################
Expand All @@ -210,14 +209,13 @@ instances:
platform: "linux"
python_interpreter: "/usr/bin/python3"
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
# Infra Agent not supported yet
# - ami: "ami-046216af2ce255621" # based on suse-sles-15-sp5-v20230620-hvm-ssd-arm64
# type: "t4g.small"
# name: "arm64:sles-15.5"
# username: "ec2-user"
# platform: "linux"
# python_interpreter: "/usr/bin/python3"
# launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
- ami: "ami-046216af2ce255621" # based on suse-sles-15-sp5-v20230620-hvm-ssd-arm64
type: "t4g.small"
name: "arm64:sles-15.5"
username: "ec2-user"
platform: "linux"
python_interpreter: "/usr/bin/python3"
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
############################
# redhat amd64
############################
Expand Down

0 comments on commit a90edcc

Please sign in to comment.