This repository has been archived by the owner on Jan 21, 2022. It is now read-only.
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".