Bryan Conrad
2015-02-12 17:37:36 UTC
Hi, I'm trying to create a server in EC2 with some volumes made from EBS
snapshots attached on startup. Basically, the same functionality as when
you launch an AMI from the console, and specify snapshots to create the
volumes in the AMI from.
Here's what I've tried:
datestring = Date.today.strftime('%Y%m%d')
puts datestring
data = compute.snapshots.all(description: "db01r1*data*#{datestring}*").
first
log = compute.snapshots.all(description: "db01r1*log*#{datestring}*").first
journal = compute.snapshots.all(description: "db01r1*journal*#{datestring}*"
).first
mapping = [
{
DeviceName: '/dev/sdf',
Ebs: {
SnapshotId: data.id
},
},
{
DeviceName: '/dev/sdg',
Ebs: {
SnapshotId: journal.id
},
},
{
DeviceName: '/dev/sdh',
Ebs: {
SnapshotId: log.id
}
}
]
pp mapping
s = compute.servers.create image_id: IMAGE_ID, flavor_id: 'm3.medium',
description: "dbtest-#{datestring}", block_device_mapping: mapping
Unfortunately, I get back the following:
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/middlewares/expects.rb:6:in
`response_call': InvalidRequest => The request received was invalid.
(Fog::Compute::AWS::Error)
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/middlewares/response_parser.rb:8:in
`response_call'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/connection.rb:365:in
`response'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/connection.rb:235:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-xml-0.1.1/lib/fog/xml/sax_parser_connection.rb:37:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-xml-0.1.1/lib/fog/xml/connection.rb:7:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/compute.rb:522:in
`_request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/compute.rb:517:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/requests/compute/run_instances.rb:139:in
`run_instances'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/models/compute/servers.rb:159:in
`save_many'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/models/compute/server.rb:201:in
`save'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-core-1.27.2/lib/fog/core/collection.rb:50:in
`create'
from ./dbtest.rb:70:in `<main>'
Any info about why exactly the request is invalid, or corrections to the
device mapping (It's hard to find the docs on this, but it looks correct
from the AWS docs I found).
Thanks for any help you can provide,
Bryan
snapshots attached on startup. Basically, the same functionality as when
you launch an AMI from the console, and specify snapshots to create the
volumes in the AMI from.
Here's what I've tried:
datestring = Date.today.strftime('%Y%m%d')
puts datestring
data = compute.snapshots.all(description: "db01r1*data*#{datestring}*").
first
log = compute.snapshots.all(description: "db01r1*log*#{datestring}*").first
journal = compute.snapshots.all(description: "db01r1*journal*#{datestring}*"
).first
mapping = [
{
DeviceName: '/dev/sdf',
Ebs: {
SnapshotId: data.id
},
},
{
DeviceName: '/dev/sdg',
Ebs: {
SnapshotId: journal.id
},
},
{
DeviceName: '/dev/sdh',
Ebs: {
SnapshotId: log.id
}
}
]
pp mapping
s = compute.servers.create image_id: IMAGE_ID, flavor_id: 'm3.medium',
description: "dbtest-#{datestring}", block_device_mapping: mapping
Unfortunately, I get back the following:
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/middlewares/expects.rb:6:in
`response_call': InvalidRequest => The request received was invalid.
(Fog::Compute::AWS::Error)
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/middlewares/response_parser.rb:8:in
`response_call'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/connection.rb:365:in
`response'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/excon-0.42.1/lib/excon/connection.rb:235:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-xml-0.1.1/lib/fog/xml/sax_parser_connection.rb:37:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-xml-0.1.1/lib/fog/xml/connection.rb:7:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/compute.rb:522:in
`_request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/compute.rb:517:in
`request'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/requests/compute/run_instances.rb:139:in
`run_instances'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/models/compute/servers.rb:159:in
`save_many'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-1.26.0/lib/fog/aws/models/compute/server.rb:201:in
`save'
from
/Users/bryan/.rvm/gems/ruby-2.1.5/gems/fog-core-1.27.2/lib/fog/core/collection.rb:50:in
`create'
from ./dbtest.rb:70:in `<main>'
Any info about why exactly the request is invalid, or corrections to the
device mapping (It's hard to find the docs on this, but it looks correct
from the AWS docs I found).
Thanks for any help you can provide,
Bryan
--
You received this message because you are subscribed to the Google Groups "ruby-fog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ruby-fog+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "ruby-fog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ruby-fog+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.