Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

v3.0.1

Latest
Compare
Choose a tag to compare
@mattcui mattcui released this 02 Dec 10:10
· 11 commits to master since this release

Softlayer eCPI v3 final release:

releases:
- name: bosh-softlayer-cpi
  url: https://bosh.io/d/github.com/cloudfoundry-incubator/bosh-softlayer-cpi-release?v=3.0.1
  sha1: 417d0bac7f2eb38a39b553b087eb11ecf31a7aa7 

From Softlayer eCPI v3, the following feature options are supported.
In bosh-init YML,

jobs:
- name: bosh
  ...
  properties:
    ...
    softlayer: &softlayer
      username: SOFTLAYER_USERNAME
      apiKey: SOFTLAYER_APIKEY
      featureOptions:
        enablePool: true                        # <-- Enable the vm pool feature. Default is false
        apiEndpoint: api.service.softlayer.com  # <-- Indicates the Softlayer API endpoint. Default is api.softlayer.com
        apiRetryCount: 10                       # <-- Indicates the retry times of accessing Softlayer API in case of failure. Default is 0
        apiWaitTime: 5                          # <-- The polling interval between two Softlayer API retries. "5" indicates 5 seconds polling interval. Default is 0
        createIscsiVolumeTimeout: 3600          # <-- The timeout value of total waiting time for creating a iscsi volume and attaching it the a vm. "3600" indicates 3600 seconds. Default is 600
        createIscsiVolumePollingInterval: 5     # <-- Within createIscsiVolumeTimeout value, in case of failure, the polling interval between retries. "5" indicates 5 second. Default is 0
        disableOsReload: false                  # <-- Indicates if os-reload is disabled or not. "true" means disable os-reload. Default is false
    pool: &pool               # <-- Indicates the vm pool server information
      host: 10.0.0.99    # <-- The IP of vm pool server. Either private or public IP is OK
      port: 12345             # <-- The port of vm pool server. Default is 8889

You could follow this guide to bootstrap a vm pool server (VPS) in Softlayer

This is how VPS feature works:

  • When deleting a vm, it's not really cancelled from Softlayer.
    • If it's not in the vm pool, add it to the pool and mark it as "free".
    • If it's already in the pool, just mark as "free".
  • When creating a vm
    • First check if there is a suitable vm in the pool. The criteria includes [cpu, memory, public_vlan, private_vlan]. Only all of them are the same as required, the vm in pool is considered as "suitable". If there are suitable vms in the pool, a random one is selected. Then run os-reload and install jobs on the vm. During os-reload, the vm is marked as "provisioning". When os-reload is done, it's marked as "using".
    • If there is no suitable vm in the pool, it will send a real order to Softlayer to create a new vm. After the vm is created, it's added to the vm pool and marked as "using".