provisioning

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2016 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package provisioning provides an API of JSON-RPC 2.0

Example Request:

./jsonrpctest.py http://YOUR_FF_SERVER:7000/v1 \
Provisioning.Exec \
"{'User': 'ubuntu', \
'Host': 'YOUR_REMOTE_SERVER', \
'DisplayOutput': true, \
'AbortOnError': true, \
'AptCache': false, \
'UseSudo': true, \
'CmdLine': 'echo FastForward'}"

Example Response:

{u'id': 1, u'result': u'FastForward\n', u'error': None}

Query Parameters:

User - The username for remote server.
Host - The remote server ip or FQDN.
DisplayOutput - true/false, Show the execution output.
AbortOnError - true/false, Ignore errors if set to true.
AptCache - true/false, Using apt-get update before installation if set to true.
UseSudo - true/false, Using sudo privilege for execution if set to true.
CmdLine - The command line to be executed.

Status Codes:

200 - No error.
400 - Bad parameter.
500 - Server error.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cmd

type Cmd struct {
	// AptCache is using the apt-get update before execute the command line.
	AptCache bool

	// CmdLine contains the command line.
	CmdLine string

	// UseSudo is the sudo privilege.
	UseSudo bool
}

Cmd contains command line configurations.

type Conf

type Conf struct {
	loom.Config
}

Conf contains ssh and other configuration data needed for all the public functions in provisioning stage.

func MakeConfig

func MakeConfig(user, host string, output, abort bool) (*Conf, error)

MakeConfig generate the configuration for ssh login.

func (*Conf) Execute

func (c *Conf) Execute(d Cmd) (result string, err error)

Execute takes a command and runs it on the remote host over ssh.

func (*Conf) GetFile

func (c *Conf) GetFile(remotefile string, localfile string) error

GetFile copies the file from the remote host to the local FastForward server, using scp. Wildcards are not currently supported.

func (*Conf) PutFile

func (c *Conf) PutFile(localfiles string, remotefile string) error

PutFile copies one or more local files to the remote host, using scp. localfiles can contain wildcards, and remotefile can be either a directory or a file.

func (*Conf) PutString

func (c *Conf) PutString(data string, remotefile string) error

PutString generates a new file on the remote host containing data. The file is created with mode 0644.

func (*Conf) Self

func (c *Conf) Self(d Cmd) (result string, err error)

Self executes a command on the FastForward API server.

type ExtraVars

type ExtraVars struct {
	// Ansible Playbook *.yml
	Playbook string
	// Vars: node_name
	NodeName string
	// Vars: node
	NodeSlice []string
	// Vars: node
	Node string
	// Vars: host
	HostIP string
	// Vars: storage_ip
	StorageIP string
	// Vars: storage_mask
	StorageMask string
	// Vars: storage_network
	StorageNetwork string
	// Vars: storage_broadcast
	StorageBroadcast string
	// Command line playback-nic
	PlaybackNic PlaybackNic
	// Vars: host
	HostName string
	// Vars: router_id
	RouterID string
	// Vars: state
	State string
	// Vars: priority
	Priority string
	// Python scripts *.py
	PythonScript string
	// Vars: my_ip
	MyIP string
	// Vars: my_storage_ip
	MyStorageIP string
	// Vars: swift_storage_storage_ip
	SwiftStorageStorageIP []string
	// Vars: device_name
	DeviceName string
	// Vars: device_weight
	DeviceWeight int
	// Vars: hosts
	Hosts string
	// Vars: client
	ClientName string
	// Vars: disk
	Disk string
	// Vars: partition
	Partition string
}

ExtraVars takes playback command line arguments.

func (ExtraVars) AddCephMon

func (vars ExtraVars) AddCephMon() error

AddCephMon add the Ceph monitors. The method takes the following command of Playback:

playback --ansible 'openstack_ceph_mon.yml --extra-vars "node=compute01" -vvvv'
playback --ansible 'openstack_ceph_mon.yml --extra-vars "node=compute02" -vvvv'
playback --ansible 'openstack_ceph_mon.yml --extra-vars "node=compute03" -vvvv'
playback --ansible 'openstack_ceph_mon.yml --extra-vars "node=compute04" -vvvv'

func (ExtraVars) AddOSD

func (vars ExtraVars) AddOSD() error

AddOSD add the Ceph OSDs. Only sopport sdb and sdc. The method takes the following commands of Playback:

playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute01 disk=sdb partition=sdb1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute01 disk=sdc partition=sdc1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute02 disk=sdb partition=sdb1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute02 disk=sdc partition=sdc1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute03 disk=sdb partition=sdb1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute03 disk=sdc partition=sdc1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute04 disk=sdb partition=sdb1" -vvvv'
playback --ansible 'openstack_ceph_osd.yml --extra-vars "node=compute04 disk=sdc partition=sdc1" -vvvv'

Only support two nodes for sdb and sdc currently.

func (ExtraVars) AutoStart

func (vars ExtraVars) AutoStart() error

AutoStart fix the service can not auto start when sys booting. The method takes the following command of Playback:

python patch-autostart.py

func (ExtraVars) CephAdmin

func (vars ExtraVars) CephAdmin() error

CephAdmin deploy the Ceph admin node. Ensure the admin node must be have password-less SSH access to Ceph nodes. When ceph-deploy logs in to a Ceph node as a user, that particular user must have passwordless sudo privileges. Copy SSH public key to each Ceph node from Ceph admin node:

ssh-keygen
ssh-copy-id ubuntu@ceph_node

The method takes the following command of Playback:

playback --ansible 'openstack_ceph_admin.yml -vvvv'

func (ExtraVars) CephClient

func (vars ExtraVars) CephClient() error

CephClient deploy the Ceph client. The method takes the following commands of Playback:

playback --ansible 'openstack_ceph_client.yml --extra-vars "client=controller01" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=controller02" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute01" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute02" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute03" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute04" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute05" -vvvv'
playback --ansible 'openstack_ceph_client.yml --extra-vars "client=compute06" -vvvv'

func (ExtraVars) CephInitMon

func (vars ExtraVars) CephInitMon() error

CephInitMon deploy the Ceph initial monitor. The method takes the following command of Playback:

playback --ansible 'openstack_ceph_initial_mon.yml -vvvv'

func (ExtraVars) CephUserPool

func (vars ExtraVars) CephUserPool() error

CephUserPool creates the cinder ceph user and pool name. The method takes the following command of Playback:

playback --ansible 'openstack_ceph_cinder_pool_user.yml -vvvv'

func (ExtraVars) CinderAPI

func (vars ExtraVars) CinderAPI() error

CinderAPI deploy cinder-api. The method takes the following command of Playback:

playback --ansible 'openstack_cinder_api.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_cinder_api.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) CinderVolume

func (vars ExtraVars) CinderVolume() error

CinderVolume deploy cinder-volume on controller node(ceph backend). The method takes the following command of Playback:

playback --ansible 'openstack_cinder_volume_ceph.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_cinder_volume_ceph.yml --extra-vars "host=controller02" -vvvv'

Copy the ceph.client.cinder.keyring from ceph-admin node to /etc/ceph/ceph.client.cinder.keyring of cinder volume nodes and nova-compute nodes to using the ceph client:

ceph auth get-or-create client.cinder | ssh ubuntu@controller01 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@controller02 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute01 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute02 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute03 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute04 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute05 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh ubuntu@compute06 sudo tee /etc/ceph/ceph.client.cinder.keyring

func (ExtraVars) ConfigureStorageNetwork

func (vars ExtraVars) ConfigureStorageNetwork() error

ConfigureStorageNetwork takes playback-nic to set up the storage network. Purge the configuration and set address to 192.169.151.19 for eth1 of host 192.169.150.19 as public interface:

playback-nic --purge --public --host 192.169.150.19 --user ubuntu --address 192.169.151.19 --nic eth1 --netmask 255.255.255.0 --gateway 192.169.151.1 --dns-nameservers "192.169.11.11 192.169.11.12"

Setting address to 192.168.1.12 for eth2 of host 192.169.150.19 as private interface:

playback-nic --private --host 192.169.150.19 --user ubuntu --address 192.168.1.12 --nic eth2 --netmask 255.255.255.0

func (ExtraVars) Dashboard

func (vars ExtraVars) Dashboard() error

Dashboard deploy Horizon. The method takes the following command of Playback:

playback --ansible 'openstack_horizon.yml -vvvv'

func (ExtraVars) Designate

func (vars ExtraVars) Designate() error

Designate deploy DNS as a Service. The method takes the following command of Playback:

playback --ansible openstack_dns.yml -vvvv

Execute on controller01:

bash /mnt/designate-keystone-setup
nohup designate-central > /dev/null 2>&1 &
nohup designate-api > /dev/null 2>&1 &

func (ExtraVars) DistSwiftRingConf

func (vars ExtraVars) DistSwiftRingConf() error

DistSwiftRingConf destribute Swift ring configuration files. Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /etc/swift directory on each storage node and any additional nodes running the proxy service.

func (ExtraVars) FinalizeSwift

func (vars ExtraVars) FinalizeSwift() error

FinalizeSwift finalize Swift installation. The method takes the following commands of Playback:

playback --ansible 'openstack_swift_finalize_installation.yml --extra-vars "hosts=swift_proxy" -vvvv'
playback --ansible 'openstack_swift_finalize_installation.yml --extra-vars "hosts=swift_storage" -vvvv'

func (ExtraVars) FormatDiskForSwift

func (vars ExtraVars) FormatDiskForSwift() error

FormatDiskForSwift formats devices for Swift Storage (sdb1 and sdc1). Each of the swift nodes, /dev/sdb1 and /dev/sdc1, must contain a suitable partition table with one partition occupying the entire device. Although the Object Storage service supports any file system with extended attributes (xattr), testing and benchmarking indicate the best performance and reliability on XFS. The method takes the folowing commands of Playback:

playback --ansible 'openstack_storage_partitions.yml --extra-vars "host=compute05" -vvvv'
playback --ansible 'openstack_storage_partitions.yml --extra-vars "host=compute06" -vvvv'

func (ExtraVars) GetCephKey

func (vars ExtraVars) GetCephKey() error

GetCephKey add Ceph initial monitors and gather the keys. The method takes the following command of Playback:

playback --ansible 'openstack_ceph_gather_keys.yml -vvvv'

func (ExtraVars) Glance

func (vars ExtraVars) Glance() error

Glance deploy Glance HA. The method takes the following commands of Playback:

playback --ansible 'openstack_glance.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_glance.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) Heat

func (vars ExtraVars) Heat() error

Heat deploy orchestration components(heat). The method takes the following commands of Playback:

playback --ansible 'openstack_heat_controller.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_heat_controller.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) InitSwiftRings

func (vars ExtraVars) InitSwiftRings() error

InitSwiftRings initial Swift rings. The method takes the following commands of Playback:

playback --ansible 'openstack_swift_builder_file.yml -vvvv'
playback --ansible 'openstack_swift_add_node_to_the_ring.yml --extra-vars "swift_storage_storage_ip=192.168.1.16 device_name=sdb1 device_weight=100" -vvvv'
playback --ansible 'openstack_swift_add_node_to_the_ring.yml --extra-vars "swift_storage_storage_ip=192.168.1.16 device_name=sdc1 device_weight=100" -vvvv'
playback --ansible 'openstack_swift_add_node_to_the_ring.yml --extra-vars "swift_storage_storage_ip=192.168.1.15 device_name=sdb1 device_weight=100" -vvvv'
playback --ansible 'openstack_swift_add_node_to_the_ring.yml --extra-vars "swift_storage_storage_ip=192.168.1.15 device_name=sdc1 device_weight=100" -vvvv'
playback --ansible 'openstack_swift_rebalance_ring.yml -vvvv'

func (ExtraVars) Keystone

func (vars ExtraVars) Keystone() error

Keystone method deploy the Keystone components. The method takes the following commands of Playback:

playback --ansible 'openstack_keystone.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_keystone.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) KvmToDocker

func (vars ExtraVars) KvmToDocker() error

KvmToDocker converts kvm to docker(OPTIONAL). The method takes the following command of Playback:

playback --novadocker --user ubuntu --hosts compute06

func (ExtraVars) LBOptimize

func (vars ExtraVars) LBOptimize() error

LBOptimize optimizing load balancer. the method takes the floowing command of Playback:

python patch-limits.py

func (ExtraVars) LoadBalancer

func (vars ExtraVars) LoadBalancer() error

LoadBalancer deploy a HAProxy and Keepalived for OpenStack HA. The method takes the following command of Playback:

playback --ansible 'openstack_haproxy.yml --extra-vars "host=lb01 router_id=lb01 state=MASTER priority=150" -vvvv'
playback --ansible 'openstack_haproxy.yml --extra-vars "host=lb02 router_id=lb02 state=SLAVE priority=100" -vvvv'

func (ExtraVars) MariadbCluster

func (vars ExtraVars) MariadbCluster() error

MariadbCluster deploy MariaDB Cluster. The method takes the following commands of Playback:

playback --ansible 'openstack_mariadb.yml --extra-vars "host=controller01 my_ip=192.169.151.19" -vvvv'
playback --ansible 'openstack_mariadb.yml --extra-vars "host=controller02 my_ip=192.169.151.17" -vvvv'
python keepalived.py

func (ExtraVars) NovaComputes

func (vars ExtraVars) NovaComputes() error

NovaComputes deploy Nova computes. The method takes the following commands of Playback:

playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute01 my_ip=192.169.151.16" -vvvv'
playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute02 my_ip=192.169.151.22" -vvvv'
playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute03 my_ip=192.169.151.18" -vvvv'
playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute04 my_ip=192.169.151.25" -vvvv'
playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute05 my_ip=192.169.151.12" -vvvv'
playback --ansible 'openstack_compute_node.yml --extra-vars "host=compute06 my_ip=192.169.151.14" -vvvv'

func (ExtraVars) NovaController

func (vars ExtraVars) NovaController() error

NovaController deploy Nova controller. The method takes the following commands of Playback:

playback --ansible 'openstack_compute_controller.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_compute_controller.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) NovaNetwork

func (vars ExtraVars) NovaNetwork() error

NovaNetwork deploy legacy networking nova-network(FLATdhcp Only). The method takes the following commands of Playback:

playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute01 my_ip=192.169.151.16" -vvvv'
playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute02 my_ip=192.169.151.22" -vvvv'
playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute03 my_ip=192.169.151.18" -vvvv'
playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute04 my_ip=192.169.151.25" -vvvv'
playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute05 my_ip=192.169.151.12" -vvvv'
playback --ansible 'openstack_nova_network_compute.yml --extra-vars "host=compute06 my_ip=192.169.151.14" -vvvv'

Create initial network. For example, using an exclusive slice of 172.16.0.0/16 with IP address range 172.16.0.1 to 172.16.255.254:

nova network-create ext-net --bridge br100 --multi-host T --fixed-range-v4 172.16.0.0/16
nova floating-ip-bulk-create --pool ext-net 192.169.151.65/26
nova floating-ip-bulk-list

Extend the demo-net pool:

nova floating-ip-bulk-create --pool ext-net 192.169.151.128/26
nova floating-ip-bulk-create --pool ext-net 192.169.151.192/26
nova floating-ip-bulk-list

func (ExtraVars) PrepareBasicEnvirionment

func (vars ExtraVars) PrepareBasicEnvirionment() error

PrepareBasicEnvirionment prepares OpenStack basic environment. The method takes the following command of Playback:

playback --ansible 'openstack_basic_environment.yml -vvvv'

func (ExtraVars) RabbtmqCluster

func (vars ExtraVars) RabbtmqCluster() error

RabbtmqCluster deploy RabbitMQ Cluster. The method takes the following commands of Playback:

playback --ansible 'openstack_rabbitmq.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_rabbitmq.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) RestartCephDeps

func (vars ExtraVars) RestartCephDeps() error

RestartCephDeps restart volume service dependency to take effect for ceph backend. The method takes the following command of Playback:

python restart_cindervol_deps.py ubuntu@controller01 ubuntu@controller02

Only support controller01 and controller02 currently.

func (ExtraVars) SwiftProxy

func (vars ExtraVars) SwiftProxy() error

SwiftProxy deploy Swift proxy HA. The method takes the following commands of Playback:

playback --ansible 'openstack_swift_proxy.yml --extra-vars "host=controller01" -vvvv'
playback --ansible 'openstack_swift_proxy.yml --extra-vars "host=controller02" -vvvv'

func (ExtraVars) SwiftStorage

func (vars ExtraVars) SwiftStorage() error

SwiftStorage deploy Swift storage. The method takes the following commands of Playback:

playback --ansible 'openstack_swift_storage.yml --extra-vars "host=compute05 my_storage_ip=192.168.1.16" -vvvv'
playback --ansible 'openstack_swift_storage.yml --extra-vars "host=compute06 my_storage_ip=192.168.1.15" -vvvv'

func (ExtraVars) SyncCephKey

func (vars ExtraVars) SyncCephKey() error

SyncCephKey copy the Ceph keys to nodes. Copy the configuration file and admin key to your admin node and your Ceph Nodes so that you can use the ceph CLI without having to specify the monitor address and ceph.client.admin.keyring each time you execute a command. The method takes the following commands of Playback:

playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=controller01" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=controller02" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute01" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute02" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute03" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute04" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute05" -vvvv'
playback --ansible 'openstack_ceph_copy_keys.yml --extra-vars "node=compute06" -vvvv'

type OpenStack

type OpenStack interface {
	// Prepare OpenStack basic environment.
	PrepareBasicEnvirionment() error
	// Using playback-nic to setting the network for storage network.
	ConfigureStorageNetwork() error
	// Deploy HAProxy and keepalived.
	LoadBalancer() error
	// LBOptimize optimizing load balancer.
	LBOptimize() error
	// Deploy MariaDB cluster.
	MariadbCluster() error
	// Deploy RabbitMQ cluster.
	RabbtmqCluster() error
	// Deploy Keystone HA.
	Keystone() error
	// Format the disk for Swift storage, only support sdb1 and sdc1 currently.
	FormatDiskForSwift() error
	// Deploy Swift storage.
	SwiftStorage() error
	// Deploy Swift proxy HA.
	SwiftProxy() error
	// Initial Swift rings.
	InitSwiftRings() error
	// Distribute Swift ring configuration files.
	DistSwiftRingConf() error
	// Finalize Swift installation.
	FinalizeSwift() error
	// Deploy Glance HA.
	Glance() error
	// Deploy Ceph admin node.
	CephAdmin() error
	// Deploy the Ceph initial monitor.
	CephInitMon() error
	// Deploy the Ceph clients.
	CephClient() error
	// Add Ceph initial monitor(s) and gather the keys.
	GetCephKey() error
	// Add Ceph OSDs.
	AddOSD() error
	// Add Ceph monitors.
	AddCephMon() error
	// Copy the Ceph keys to nodes.
	SyncCephKey() error
	// Create the cinder ceph user and pool name.
	CephUserPool() error
	// Deploy cinder-api.
	CinderAPI() error
	// Deploy cinder-volume on controller node(Ceph backend).
	CinderVolume() error
	// Restart volume service dependency to take effect for ceph backend.
	RestartCephDeps() error
	// Deploy Nova controller.
	NovaController() error
	// Deploy Horizon.
	Dashboard() error
	// Deploy Nova computes.
	NovaComputes() error
	// Deploy Legacy networking nova-network(FlatDHCP Only).
	NovaNetwork() error
	// Deploy Orchestration components(heat).
	Heat() error
	// Enable service auto start
	AutoStart() error
	// Deploy Dns as a Service
	Designate() error
	// Convert kvm to Docker(OPTIONAL)
	KvmToDocker() error
}

OpenStack interface takes methods for provision OpenStack.

type PlaybackNic

type PlaybackNic struct {
	// Args: purge
	Purge bool
	// Args: public
	Public bool
	// Args: private
	Private bool
	// Args: host
	Host string
	// Args: user
	User string
	// Args: address
	Address string
	// Args: nic
	NIC string
	// Args: netmask
	Netmask string
	// Args: gateway
	Gateway string
	// Args: dns-nameservers
	DNS string
}

PlaybackNic using playback-nic command instaed of openstack_interface.yml

type Provisioning

type Provisioning interface {
	Execute(c Cmd) (string, error)
	GetFile(remotefile string, localfile string) error
	Self(d Cmd) (result string, err error)
	PutFile(localfiles string, remotefile string) error
	PutString(data string, remotefile string) error
}

Provisioning contains the provisioning method only.

Directories

Path Synopsis
api
rpc/json
Package main is a provisioning api based on JSON-RPC 2.0
Package main is a provisioning api based on JSON-RPC 2.0
rpc/json/openstack
Package openstack provides an API of JSON-RPC 2.0 for Playback.
Package openstack provides an API of JSON-RPC 2.0 for Playback.
rpc/json/openstack/client
Package client provides a playback api client for ff command line.
Package client provides a playback api client for ff command line.
rpc/json/openstack/server
Package main is the JSON-RPC 2.0 API server for playback.
Package main is the JSON-RPC 2.0 API server for playback.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL