Skip to content

IBM/ibm-cos-vm-iac

Repository files navigation

Infrastructure-as-code for IBM COS Trial VMs

Scope

The purpose of this project is to demonstrate how a pure virtual variant of the IBM Cloud Object Storage System can be built on top a KVM-based Linux virtualization host. Please note that this project as well as the operation of IBM Cloud Object Storage System (IBM COS) deployed as KVM VMs is not supported by IBM and only to be used for evaluation or demonstration purposes.

Please note that the VM templates for IBM COS are optimized to be as small as possible for a test system with regards to (virtual) CPU assignment, RAM consuption and disk space. Depending on what you want to achieve with the test installation, you might need to increase the values.

Prerequisites

Before running the main build script from within the source directory you need to have a Linux console on a system with libvirt/KVM installed. Tests were performed using Fedora 33-37 and RHEL 8.4 as host OS and with COS versions 3.15.7.83, 3.16.6.65, 3.17.0.63 and 3.17.2.40. You'll need at least the following packages installed

e.g. example command for RHEL 8.4:

dnf install qemu-img qemu-kvm libvirt libvirt-client bash tar openssh expect virt-install

You need to download the IBM COS OVA files from FixCentral. There might be authorization required, contact your IBM representative for help with that. Place the ova files into the OVA directory. While testing this project, the following files were used:

clevos-3.17.2.40-accesser.ova
clevos-3.17.2.40-accesser.ova.md5
clevos-3.17.2.40-manager.ova
clevos-3.17.2.40-manager.ova.md5
clevos-3.17.2.40-slicestor.ova
clevos-3.17.2.40-slicestor.ova.md5

Note: Use the MD5 checksums to verify that your downloads are not corrupted, otherwise they are not needed for this project.

Usage

Review the configuration file to adjust the settings if required. The BASE_IP parameter is the starting address of a sequential address range for the devices. So if you enter 10.0.10.10 here the script will use 10.0.10.10 for the manager, 10.0.10.11 for the accesser and 10.0.10.12, 10.0.12.13, 10.0.12.14 for the 3 (default) slicestors. Please note that so far only 3 or 6 slicestors were tested.

To build the IBM COS system, open a terminal window, cd to the src/ directory and run ./build.sh

On a system with 6-core Intel i7, 64GB RAM and NVMe SSD the installation process will take approximately 5 minutes for a 5-node system (manager, accesser, 3 slicestors).

Once the script is completed, point your browser on the host system to https://<your manager IP> and start configuring the system as described in the documentation.

Notes

You can find information about the project license, how to contribute, who is maintaining the project and a list of changes at the following locations:

If you have any questions or issues you can create a new issue here.

Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:

  1. Fork the repo
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

All source files must include a Copyright and License header. The SPDX license header is preferred because it can be easily scanned.

If you would like to see the detailed LICENSE click here.

#
# Copyright 2020- IBM Inc. All rights reserved
# SPDX-License-Identifier: Apache2.0
#

About

Deploy IBM Cloud Object Storage System trial/test VMs via Infrastructure-as-Code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages