Skip to content

Commit

Permalink
Remove old clients
Browse files Browse the repository at this point in the history
Removed: sles11sp3 sles11sp4 sles12sp3 sles12sp4
         leap15.0 leap15.1 sles15 sles15sp1
         ubuntu16.04 debian10
Not removed yet: sles15sp2 sles15sp3 sles15sp4
  • Loading branch information
Bischoff committed Aug 9, 2024
1 parent fd5e33c commit 8f9fab3
Show file tree
Hide file tree
Showing 28 changed files with 52 additions and 714 deletions.
34 changes: 17 additions & 17 deletions README_ADVANCED.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ Some modules have a `product_version` variable that determines the software prod

Legal values for released software are:

- `4.2-released` (latest released maintenance update for SUSE Manager 4.2 and Tools)
- `4.3-released` (latest released maintenance update for SUSE Manager 4.3 and Tools)
- `4.3-VM-released` (latest released maintenance update for SUSE Manager 4.3 virtual machine)
- `5.0-released` (latest released maintenance update for SUSE Manager 5.0 and Tools)
- `uyuni-released` (latest released version for Uyuni Server, Proxy and Tools, from systemsmanagement:Uyuni:Stable)

Legal values for work-in-progress software are:

- `4.2-nightly` (corresponds to the Build Service project Devel:Galaxy:Manager:4.2)
- `4.3-nightly` (corresponds to the Build Service project Devel:Galaxy:Manager:4.3)
- `4.3-VM-nightly` (corresponds to the VM image in the Build Service project Devel:Galaxy:Manager:4.3)
- `4.3-beta` (corresponds to the Build Service project SUSE:SLE-15-SP4:Update:Products:Manager43)
- `5.0-nightly` (corresponds to the Build Service project Devel:Galaxy:Manager:5.0)
- `head` (corresponds to the Build Service project Devel:Galaxy:Manager:Head, uses SLE Micro as the base image for server)
- `uyuni-master` (corresponds to the Build Service project systemsmanagement:Uyuni:Master, for `server` and `proxy` only works with openSUSE Leap image)

Expand All @@ -46,18 +46,18 @@ module "suse-minion" {
source = "./modules/minion"
base_configuration = module.base.configuration
name = "min-sles15sp1"
image = "sles15sp1o"
name = "min-sles15sp6"
image = "sles15sp6o"
server_configuration = module.proxy.configuration
product_version = "4.2-nightly"
product_version = "5.0-nightly"
}
module "server" {
source = "./modules/server"
base_configuration = module.base.configuration
name = "server"
product_version = "4.2-released"
product_version = "5.0-released"
}
```

Expand All @@ -69,7 +69,7 @@ For some modules like `minion`, `image` is mandatory and Terraform will refuse t

For other modules like `server` there is a default selection if nothing is specified. Please note that not all OS combinations might be supported, refer to official documentation to select a compatible OS.

The following example creates a SUSE Manager server using "nightly" packages from version 4.2 based on SLES 15 SP3:
The following example creates a SUSE Manager server using "nightly" packages from version 5.0 based on SLES 15 SP3:

```hcl
module "server" {
Expand All @@ -78,7 +78,7 @@ module "server" {
image = "sles15sp3o"
name = "server"
product_version = "4.2-nightly"
product_version = "5.0-nightly"
}
```

Expand Down Expand Up @@ -209,7 +209,7 @@ module "virthost" {
server_configuration = module.srv.configuration
...
name = "min-kvm"
image = "sles15sp1o"
image = "sles15sp6o"
...
provider_settings = {
vcpu = 3
Expand Down Expand Up @@ -311,7 +311,7 @@ module "server" {
base_configuration = module.base.configuration
name = "server"
product_version = "4.2-nightly"
product_version = "5.0-nightly"
channels = ["sles12-sp5-pool-x86_64"]
}
```
Expand All @@ -337,11 +337,11 @@ module "server" {
base_configuration = module.base.configuration
name = "server"
product_version = "4.2-nightly"
channels = ["sles12-sp3-pool-x86_64", "sles12-sp3-updates-x86_64"]
product_version = "5.0-nightly"
channels = ["sles15-sp3-pool-x86_64", "sles15-sp3-updates-x86_64"]
wait_for_reposync = true
cloned_channels = [
{ channels = ["sles12-sp3-pool-x86_64", "sles12-sp3-updates-x86_64"],
{ channels = ["sles15-sp3-pool-x86_64", "sles15-sp3-updates-x86_64"],
prefix = "cloned-2017-q3",
date = "2017-09-30"
}
Expand Down Expand Up @@ -547,7 +547,7 @@ module "proxy" {
base_configuration = module.base.configuration
name = "proxy"
product_version = "4.2-nightly"
product_version = "5.0-nightly"
server_configuration = module.server.configuration
minion = false
Expand Down Expand Up @@ -672,7 +672,7 @@ module "server" {
base_configuration = module.base.configuration
name = "server"
product_version = "4.2-nightly"
product_version = "5.0-nightly"
smt = "http://smt.suse.de"
}
```
Expand Down Expand Up @@ -788,7 +788,7 @@ module "minion" {
base_configuration = module.base.configuration
name = "minion"
image = "sles15sp1o"
image = "sles15sp6o"
server_configuration = module.server.configuration
evil_minion_count = 10
evil_minion_slowdown_factor = 1
Expand Down Expand Up @@ -911,7 +911,7 @@ An example follows:
module "server" {
source = "./modules/server"
base_configuration = module.base.configuration
product_version = "4.2-nightly"
product_version = "5.0-nightly"
name = "server"
repository_disk_size = 500
database_disk_size = 50
Expand Down
51 changes: 0 additions & 51 deletions backend_modules/azure/host/user_data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,31 +40,6 @@ runcmd:

%{ endif }

%{ if image == "sles15"}
zypper:
repos:
- id: os_pool_repo
name: os_pool_repo
baseurl: http://${mirror_url}/SUSE/Products/SLE-Module-Basesystem/15-SP1/x86_64/product
enabled: 1
autorefresh: 1

packages: ["salt-minion"]
%{ endif }

%{ if image == "sles15sp1o" }
zypper:
repos:
- id: salt_qubes_build
name: salt_qubes_build
baseurl: https://download.opensuse.org/repositories/home:/wicked:/qubes-build/SLE_15_SP1/
enabled: 1
autorefresh: 1

packages: ["salt-minion"]

%{ endif }

%{ if image == "sles15sp2o" }
zypper:
repos:
Expand Down Expand Up @@ -130,32 +105,6 @@ packages: ["salt-minion"]

%{ endif }

%{ if image == "sles12sp3"}
zypper:
repos:
- id: os_manager_tools
name: os_manager_tools
baseurl: http://${mirror_url}/SUSE/Updates/SLE-Manager-Tools/12/x86_64/update
enabled: 1
autorefresh: 1
- id: os_pool_repo
name: os_pool_repo
baseurl: http://${mirror_url}/SUSE/Products/SLE-SERVER/12-SP3/x86_64/product/
enabled: 1
autorefresh: 1

packages: ["salt-minion"]
%{ endif }
%{ if image == "sles11sp4"}
# WORKAROUND: SLES 11 SP4 does not ship with Salt installed
runcmd:
- zypper ar http://${mirror_url}/repo/\$RCE/SLES11-SP4-SUSE-Manager-Tools/sle-11-x86_64/ tools_pool_repo
- zypper ar http://${mirror_url}/repo/\$RCE/SLES11-SP4-Pool/sle-11-x86_64/ os_pool_repo
- zypper ref
- zypper in -y salt-minion
- zypper removerepo --all
- rm /etc/modprobe.d/50-ipv6.conf
%{ endif }
%{ if image == "rhel9"}
yum_repos:
# repo for salt
Expand Down
10 changes: 0 additions & 10 deletions backend_modules/libvirt/base/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,15 @@ locals {
opensuse154armo = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.opensuse.org"}/distribution/leap/15.4/appliances/openSUSE-Leap-15.4-ARM-JeOS-efi.aarch64.qcow2"
opensuse155armo = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.opensuse.org"}/distribution/leap/15.5/appliances/openSUSE-Leap-15.5-Minimal-VM.aarch64-Cloud.qcow2"
opensuse156armo = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.opensuse.org"}/distribution/leap/15.6/appliances/openSUSE-Leap-15.6-Minimal-VM.aarch64-Cloud.qcow2"
sles15 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles15.x86_64.qcow2"
sles15o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-JeOS-GM/SLES15-JeOS.x86_64-15.0-OpenStack-Cloud-GM.qcow2"
sles15sp1 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles15sp1.x86_64.qcow2"
sles15sp1o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP1-JeOS-QU4/SLES15-SP1-JeOS.x86_64-15.1-OpenStack-Cloud-QU4.qcow2"
sles15sp2 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles15sp2.x86_64.qcow2"
sles15sp2o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP2-JeOS-GM/SLES15-SP2-JeOS.x86_64-15.2-OpenStack-Cloud-GM.qcow2"
sles15sp3o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP3-JeOS-GM/SLES15-SP3-JeOS.x86_64-15.3-OpenStack-Cloud-GM.qcow2"
sles15sp4o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP4-Minimal-GM/SLES15-SP4-Minimal-VM.x86_64-OpenStack-Cloud-GM.qcow2"
sles15sp5o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP5-Minimal-GM/SLES15-SP5-Minimal-VM.x86_64-Cloud-GM.qcow2"
sles15sp6o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-15-SP6-Minimal-GM/SLES15-SP6-Minimal-VM.x86_64-Cloud-GM.qcow2"
sles11sp4 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles11sp4.x86_64.qcow2"
sles12sp3 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles12sp3.x86_64.qcow2"
sles12sp4 = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/ibs/Devel:/Galaxy:/Terraform:/Images/images/sles12sp4.x86_64.qcow2"
sles12sp4o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://schnell.suse.de"}/SLE12/SLE-12-SP4-JeOS-GM/SLES12-SP4-JeOS.x86_64-12.4-OpenStack-Cloud-GM.qcow2"
sles12sp5o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.suse.de"}/install/SLE-12-SP5-JeOS-GM/SLES12-SP5-JeOS.x86_64-12.5-OpenStack-Cloud-GM.qcow2"
ubuntu1604o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud-images.ubuntu.com"}/xenial/current/xenial-server-cloudimg-amd64-disk1.img"
ubuntu2004o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud-images.ubuntu.com"}/focal/current/focal-server-cloudimg-amd64.img"
ubuntu2204o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud-images.ubuntu.com"}/jammy/current/jammy-server-cloudimg-amd64.img"
debian10o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud.debian.org"}/images/cloud/OpenStack/current-10/debian-10-openstack-amd64.qcow2"
debian11o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud.debian.org"}/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.qcow2"
debian12o = "${var.use_mirror_images ? "http://${var.mirror}" : "http://cloud.debian.org"}/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2"
opensuse154-ci-pro = "${var.use_mirror_images ? "http://${var.mirror}" : "http://download.opensuse.org"}/repositories/systemsmanagement:/sumaform:/images:/libvirt/images/opensuse154-ci-pr.x86_64.qcow2"
Expand Down
129 changes: 0 additions & 129 deletions backend_modules/libvirt/host/user_data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -153,27 +153,6 @@ runcmd:
- zypper removerepo --all
%{ endif }

%{ if image == "sles12sp4o" }
zypper:
repos:
- id: os_pool_repo
name: os_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.suse.de/ibs"}/SUSE/Products/SLE-SERVER/12-SP4/x86_64/product/
enabled: 1
autorefresh: 1
- id: tools_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.opensuse.org"}/repositories/systemsmanagement:/Uyuni:/Stable:/SLE12-Uyuni-Client-Tools/SLE_12/
enabled: true
gpgcheck: false
name: tools_pool_repo

%{ if install_salt_bundle }
packages: ["venv-salt-minion", "avahi", "nss-mdns", "qemu-guest-agent"]
%{ else }
packages: ["avahi", "nss-mdns", "qemu-guest-agent"]
%{ endif }
%{ endif }

%{ if image == "sles12sp5o" }
zypper:
repos:
Expand All @@ -195,67 +174,6 @@ packages: ["avahi", "nss-mdns", "qemu-guest-agent"]
%{ endif }
%{ endif }

%{ if image == "sles15o" }
zypper:
repos:
- id: os_pool_repo
name: os_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.suse.de/ibs"}/SUSE/Products/SLE-Module-Basesystem/15/x86_64/product
enabled: 1
autorefresh: 1
## WORKAROUND: name of server app repo needs to be alphabetically after the base system repo to force GPG key update
- id: server_applications_pool_repo
name: module_server_applications_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.suse.de/ibs"}/SUSE/Products/SLE-Module-Server-Applications/15/x86_64/product
enabled: 1
autorefresh: 1
- id: tools_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.opensuse.org"}/repositories/systemsmanagement:/Uyuni:/Stable:/SLE15-Uyuni-Client-Tools/SLE_15/
enabled: true
gpgcheck: false
name: tools_pool_repo

%{ if install_salt_bundle }
packages: ["venv-salt-minion", "avahi", "nss-mdns", "qemu-guest-agent"]
%{ else }
packages: ["avahi", "nss-mdns", "qemu-guest-agent"]
%{ endif }

runcmd:
# WORKAROUND: cloud-init in SLES 15 does not take care of the following
- "systemctl start 'qemu-ga@virtio\\x2dports-org.qemu.guest_agent.0'"
%{ endif }

%{ if image == "sles15sp1o" }
zypper:
repos:
- id: os_pool_repo
name: os_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.suse.de/ibs"}/SUSE/Products/SLE-Module-Basesystem/15-SP1/x86_64/product
enabled: 1
autorefresh: 1
- id: module_server_applications_pool_repo
name: module_server_applications_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.suse.de/ibs"}/SUSE/Products/SLE-Module-Server-Applications/15-SP1/x86_64/product
enabled: 1
autorefresh: 1
- id: tools_pool_repo
baseurl: http://${ use_mirror_images ? mirror : "download.opensuse.org"}/repositories/systemsmanagement:/Uyuni:/Stable:/SLE15-Uyuni-Client-Tools/SLE_15/
enabled: true
gpgcheck: false
name: tools_pool_repo

%{ if install_salt_bundle }
packages: ["venv-salt-minion", "avahi", "nss-mdns", "qemu-guest-agent"]
%{ else }
packages: ["avahi", "nss-mdns", "qemu-guest-agent"]
%{ endif }

runcmd:
# WORKAROUND: cloud-init in SLES 15 SP1 does not take care of the following
- "systemctl start 'qemu-ga@virtio\\x2dports-org.qemu.guest_agent.0'"
%{ endif }

%{ if image == "sles15sp2o" }
zypper:
repos:
Expand Down Expand Up @@ -651,53 +569,6 @@ packages: ["venv-salt-minion", "avahi-daemon", "qemu-guest-agent", "gnupg", "pyt
packages: ["salt-minion", "avahi-daemon", "qemu-guest-agent", "gnupg", "python3-apt"]
%{ endif }
%{ endif }
%{ if image == "debian10o" }
apt:
sources:
tools_pool_repo:
source: deb http://${ use_mirror_images ? mirror : "download.opensuse.org"}/repositories/systemsmanagement:/Uyuni:/Stable:/Debian10-Uyuni-Client-Tools/Debian_10/ /
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQENBFsnulUBCADNjL4hvhVtSzqVDlMtFFFP28Acq+UNF8WKKMhbBirfOpXwwI1C
NR3i0CXPOce5eKShuuWAjD2E36e2XAp3rUAo/aCA7UgtJkMNKzzlTOcqHHxKTx6H
gvp0Fb6xTKywZ7VttGhwUynl+CsDuOst3ROXTNdb8XMfm4joH2FW5D3ACN2qNiv0
MVcFNKxQ98w8M9xJxdI8DuyngnSeZwAosNzEio3JhTPiTv9ngY2Z3AuYUcwTEt7o
feEN+ivAgYnn+a6DBKFBeCW7VUD3V+tH8/fKnkvI4gf2o3N7Ok+/uE+DPUBb+14f
+9dhBjd+7+pR3ayEZFjQns5XFShoYu2+CQspABEBAAG0UHN5c3RlbXNtYW5hZ2Vt
ZW50OlV5dW5pIE9CUyBQcm9qZWN0IDxzeXN0ZW1zbWFuYWdlbWVudDpVeXVuaUBi
dWlsZC5vcGVuc3VzZS5vcmc+iQE+BBMBCAAoBQJjQDEEAhsDBQkMNyavBgsJCAcD
AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCXLl1sDSCDPjsSCAC1v9YHwuP0kRt8VPlq
/RLgADb5TsUPOaDcZ/maKVxhL5EgY2mX1ViCO4Bm+VFL2ZSJEXth8/Zp/dZe80e9
tlZgag5uPQe9FV0IAHXYt91DYJlE7VuxvdhADIt9RcDmS4OrSAfQoroyh5OW3ZRW
Kqa68L6RBhiyuvBTaRCUdIhqDBjVCgMlLJxC5soOIVCEvMRzOxHqO0+gvKomvM1P
iK4cio2OcIqZb8vCyMIXtYniHqA0rUZD4U+EB9enmYcj9ZhWO9oQXZ0qCQN6ve/K
1Q7NjImT5oEHWGFeLmwWZMe2+djFcHiCQM1bFN1gC+2ASz5XPC7OKdrIi+E85gMo
cYu+iEYEExECAAYFAlsnulUACgkQOzARt2udZSO/4QCcDf+j/XRbJn2PudsSoyjw
3B2boakAnA9A9b8UoEYgmLTRpwXYuhsxOCDE
=8MsV
-----END PGP PUBLIC KEY BLOCK-----
runcmd:
# HACK: cloud-init in Debian 10 does not take care of the following
- echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- systemctl restart sshd
- systemctl start qemu-guest-agent
# HACK: buster-backports repository has changed
- sed -i 's/deb.debian.org\/debian buster-backports/archive.debian.org\/debian buster-backports/g' /etc/apt/sources.list

bootcmd:
# HACK: Make "gnupg" to be installed before configuring repos, so gpg key can be imported
- DEBIAN_FRONTEND=noninteractive apt-get -yq update
- DEBIAN_FRONTEND=noninteractive apt-get -yq install gnupg

%{ if install_salt_bundle }
packages: ["venv-salt-minion", "avahi-daemon", "qemu-guest-agent", "apt-transport-https", "python-apt", "python3-apt"]
%{ else }
packages: ["salt-minion", "avahi-daemon", "qemu-guest-agent", "apt-transport-https", "python-apt", "python3-apt"]
%{ endif }
%{ endif }

%{ if image == "amazonlinux2o" }

Expand Down
2 changes: 1 addition & 1 deletion backend_modules/null/base/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ variable "provider_settings" {

variable "images" {
description = "list of images to be uploaded to the libvirt host, leave default for all"
default = [ "almalinux8o", "almalinux9o", "amazonlinux2o", "centos7o", "libertylinux9o", "opensuse154o", "opensuse155o", "tumbleweedo", "oraclelinux9o", "rocky8o", "rocky9o", "sles12sp4o", "sles12sp5o", "sles15sp3o", "sles15sp4o", "ubuntu2004o", "ubuntu2204o"]
default = [ "almalinux8o", "almalinux9o", "amazonlinux2o", "centos7o", "libertylinux9o", "opensuse154o", "opensuse155o", "tumbleweedo", "oraclelinux9o", "rocky8o", "rocky9o", "sles12sp5o", "sles15sp2o", "sles15sp3o", "sles15sp4o", "sles15sp5o", "sles15sp6o", "ubuntu2004o", "ubuntu2204o"]
type = set(string)
}

Expand Down
2 changes: 1 addition & 1 deletion main.tf.libvirt-testsuite.example
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ module "cucumber_testsuite" {
# "opensuse154o", "opensuse155o",
# "oraclelinux9o",
# "rocky8o", "rocky9o",
# "sles12sp4o", "sles12sp5o", "sles15o", "sles15sp1o", "sles15sp2o", "sles15sp3o", "sles15sp4o",
# "sles12sp5o", "sles15sp2o", "sles15sp3o", "sles15sp4o", "sles15sp5o", "sles15sp6o",
# "ubuntu2004o", "ubuntu2204o"
# to see what VM uses what image, have a look at the image variable in the cucumber_module definition
# https://github.com/uyuni-project/sumaform/blob/master/modules/cucumber_testsuite/main.tf
Expand Down
2 changes: 1 addition & 1 deletion main.tf.libvirt-testsuite.example.Manager-43
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ module "cucumber_testsuite" {
# "opensuse154o", "opensuse155o",
# "oraclelinux9o",
# "rocky8o", "rocky9o",
# "sles12sp4o", "sles12sp5o", "sles15o", "sles15sp1o", "sles15sp2o", "sles15sp3o", "sles15sp4o",
# "sles12sp5o", "sles15sp2o", "sles15sp3o", "sles15sp4o", "sles15sp5o", "sles15sp6o",
# "ubuntu2004o", "ubuntu2204o"
# to see what VM uses what image, have a look at the image variable in the cucumber_module definition
# https://github.com/uyuni-project/sumaform/blob/master/modules/cucumber_testsuite/main.tf
Expand Down
Loading

0 comments on commit 8f9fab3

Please sign in to comment.