Ultra Low Cost Performance Servers

HowTo Create A New RapidSpace Datacenter

How to create a new datacenter in RapidSpace SlapOS master
  • Last Update:2020-04-03
  • Version:001
  • Language:en

When a new location will contain RapidSpace machines, the RapidSpace administrator must follow this guide to prepare the data in SlapOS master:

Determine the datacenter's information

In order to create all the needed data, you will need the following information about the datacenter:

  • Name of the hosting company <DHC>
  • GPS coordinates of the datacenter
  • Location of the datacenter (region, country) <DL>

You will also need the current version of KVM release <KRV>

Create the computer network

Login as "rapid.space" user in https://slapos.vifib.com and click on the "Networks" menu then "+ Add". The computer network must have the title "<DHC> (<DL>)". The title is very important because it will be displayed in the order page of RapidSpace. You need also to remember the computer network reference <CNR>.

When the computer network is created, you need to transfer it to the Project "Rapid Space Networks". 

Create the site

Login as "rapid.space" user in https://slapos.vifib.com and click on the "Sites" menu then "+ Add". The site title should simply be "<DHC>". Fill the GPS coordinates of the datacenter in the site.

 

Create the Subscription Condition (x2)

Login as superadministrator in https://vifib.erp5.net and create a Subscription Condition in English and another one in Chinese for the datacenter.

The English one should have the following parameters (if a parameter is omited it should be blank or unticked):

  • title: Rapid Space VM in <DHC> datacenter
  • reference: rapidvm-<CNR>
  • short title: Rapid Space VM <DHC>
  • supplier: "Rapid Space" (organisation_module/rapid_space)
  • price: 195
  • currency: EUR
  • Parameter Template Renderer Method Id: SubscriptionCondition_renderKVMClusterParameter
  • Software Release: <KRV>
  • Software Type: kvm-cluster
  • Root SLA XML: <?xml version="1.0" encoding="utf-8" ?>
    <instance>
      <parameter id="project_guid">PROJ-24</parameter>
      <parameter id="network_guid"><CNR></parameter>
    </instance>
  • Root XML: <?xml version="1.0" encoding="utf-8"?>
    <instance>
        <parameter id="_">{
        "frontend": {
          "frontend-additional-instance-guid": "SOFTINST-123499"
        },
        "kvm-partition-dict": {
            "KVM0": {
                "cpu-count": 40,
                "cpu-max-count": 41,
                "ram-size": 245760,
                "ram-max-size": 245761,
                "disk-device-path": "/dev/disk/disk-path-for-vm",
                "project-guid": "PROJ-24",
                "network-guid": "<CNR>",
                "disable-ansible-promise": true
            }
        }
    }</parameter>
    </instance>

The Chinese one should have the following parameters (if a parameter is omited it should be blank or unticked):

  • title: [ZH] Rapid Space VM in <DHC> datacenter
  • reference: rapidvm-<CNR>_zh
  • short title: Rapid Space VM <DHC>
  • supplier: "Rapid Space" (organisation_module/rapid_space)
  • price: 1888
  • currency: CNY
  • Parameter Template Renderer Method Id: SubscriptionCondition_renderKVMClusterParameter
  • Software Release: <KRV>
  • Software Type: kvm-cluster
  • Root SLA XML: <?xml version="1.0" encoding="utf-8" ?>
    <instance>
      <parameter id="project_guid">PROJ-24</parameter>
      <parameter id="network_guid"><CNR></parameter>
    </instance>
  • Root XML: <?xml version="1.0" encoding="utf-8"?>
    <instance>
        <parameter id="_">{
        "frontend": {
          "frontend-additional-instance-guid": "SOFTINST-123499"
        },
        "kvm-partition-dict": {
            "KVM0": {
                "cpu-count": 40,
                "cpu-max-count": 41,
                "ram-size": 245760,
                "ram-max-size": 245761,
                "disk-device-path": "/dev/disk/disk-path-for-vm",
                "project-guid": "PROJ-24",
                "network-guid": "<CNR>",
                "disable-ansible-promise": true
            }
        }
    }</parameter>
    </instance>