Comments (2)
F.Y.I
require "base64"
def create_server(options)
raise OpenStack::Exception::MissingArgument, "Server name, flavorRef, and imageRef, must be supplied" unless (options[:name] && options[:flavorRef] && options[:imageRef])
options[:personality] = Personalities.get_personality(options[:personality])
options[:security_groups] = (options[:security_groups] || []).inject([]){|res, c| res << {"name"=>c} ;res}
unless options[:user_data].nil?
options[:user_data] = Base64.urlsafe_encode64(options[:user_data])
end
data = JSON.generate(:server => options)
response = @connection.csreq("POST",@connection.service_host,"#{@connection.service_path}/servers",@connection.service_port,@connection.service_scheme,{'content-type' => 'application/json'},data)
OpenStack::Exception.raise_exception(response) unless response.code.match(/^20.$/)
server_info = JSON.parse(response.body)['server']
server = OpenStack::Compute::Server.new(self,server_info['id'])
server.adminPass = server_info['adminPass']
return server
end
from ruby-openstack.
You can use it without modify the create_server method and provide it as hash argument:
# Example which creates a vm with image id 1 and flavor id 1.
# Also uses base64 encoded string as user_data
openstack_server = compute_api.create_server(
:name => "hostname.domain.tld",
:flavorRef => 1,
:imageRef => 1,
:user_data => "NCA4IDE1IDE2IDIzIDQy", #base64 encoded string!
)
Regards,
Alexander
from ruby-openstack.
Related Issues (20)
- Timeout
- Error: test_rebuild_server(ServersTest): NoMethodError: undefined method `encode' for URI:Module
- Bad URI when trying to connect to Openstack HOT 3
- Temporary URL support HOT 1
- Support Identity v3 HOT 6
- ChunkedConnectionWrapper make IO.copy_stream very slow HOT 1
- Support for heat HOT 2
- New gemspec declares openstack itself as dependency HOT 2
- Mispelling? get_floating_ip_polls HOT 1
- Implement Keystone interaction? HOT 3
- 2.0.2 Breaks `headerprep` in `lib/openstack/connection.rb:228`. HOT 2
- When release 2.1.0 to rubygems.org? HOT 1
- getting an error after connecting HOT 4
- ChunkedConnectionWrapper bug (and possible fix) HOT 1
- when delete an object key that no exists in container, will raise OpenStack::Exception::Other
- Wiki contribution
- Inconsistencies in swift container headers structure in write vs create_object
- What are the options required? They're not listed out. HOT 1
- Invalid API Version Detection (regex issue)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ruby-openstack.