cyoi 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/ChangeLog.md +1 -0
- data/lib/cyoi/cli/provider_blobstore/blobstore_cli_openstack.rb +1 -1
- data/lib/cyoi/providers/clients/aws_provider_client.rb +20 -0
- data/lib/cyoi/providers/clients/fog_provider_client.rb +8 -1
- data/lib/cyoi/version.rb +1 -1
- data/spec/integration/cli/address/address_openstack_spec.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2ExOTQzNDFhNWU2NjgyMzdlM2FlMWM3YWJmMTVkOGQ0NTNmMTQ4NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTYwZGYwMGVhNjM2MTk4YTkwOTExZjQzNDZlN2MwZWQzMGE1ZTAwZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDBhNDQ5NGM0OWRmODg4YzQwMThiMWM5ZDRlNzRiM2ViZDRiZTdmMTJkZTRj
|
10
|
+
Y2VjNmM3MGFmMWE1ZDFjYTNiMzNlNzA4YTJlMWQ1MTkwN2RhOTQ0MjYzMmE2
|
11
|
+
ZWUxY2E5NTM4YjdhZjRiMjE4NDFjNDBlNGZhMWM4NDkwZDI5YzY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZWIzYmE1MDllMTI1NGU4N2QxNDhlN2Q5N2EyYTFmNGRkOWM5NjQ2MzhiNDNh
|
14
|
+
MjUxZmIxMjJiZTUwNGEyMzE1YmJkYTRjNjkxYjZlMGIyYmNiZTBmOTQzZmVh
|
15
|
+
NzQ3NTZkZDE4MTI4YzMxZDRiOTk2ZTk0ZjQxODcwMmI4NGQzOTk=
|
data/ChangeLog.md
CHANGED
@@ -2,4 +2,4 @@ require "cyoi/cli/provider_blobstore/blobstore_cli_base"
|
|
2
2
|
class Cyoi::Cli::Blobstore::BlobstoreCliOpenStack < Cyoi::Cli::Blobstore::BlobstoreCliBase
|
3
3
|
end
|
4
4
|
|
5
|
-
Cyoi::Cli::Blobstore.register_cli("
|
5
|
+
Cyoi::Cli::Blobstore.register_cli("openstack", Cyoi::Cli::Blobstore::BlobstoreCliOpenStack)
|
@@ -8,6 +8,26 @@ require "cyoi/providers/constants/aws_constants"
|
|
8
8
|
class Cyoi::Providers::Clients::AwsProviderClient < Cyoi::Providers::Clients::FogProviderClient
|
9
9
|
include Cyoi::Providers::Constants::AwsConstants
|
10
10
|
|
11
|
+
# Creates a bucket and makes it publicly read-only
|
12
|
+
def create_blobstore(blobstore_name)
|
13
|
+
super
|
14
|
+
policy = {
|
15
|
+
"Version" => "2008-10-17",
|
16
|
+
"Statement" => [
|
17
|
+
{
|
18
|
+
"Sid" => "AddPerm",
|
19
|
+
"Effect" => "Allow",
|
20
|
+
"Principal" => {
|
21
|
+
"AWS" => "*"
|
22
|
+
},
|
23
|
+
"Action" => "s3:GetObject",
|
24
|
+
"Resource" => "arn:aws:s3:::#{blobstore_name}/*"
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
28
|
+
fog_storage.put_bucket_policy(blobstore_name, policy)
|
29
|
+
end
|
30
|
+
|
11
31
|
# @return [Integer] megabytes of RAM for requested flavor of server
|
12
32
|
def ram_for_server_flavor(server_flavor_id)
|
13
33
|
if flavor = fog_compute_flavor(server_flavor_id)
|
@@ -23,18 +23,25 @@ class Cyoi::Providers::Clients::FogProviderClient
|
|
23
23
|
false
|
24
24
|
end
|
25
25
|
|
26
|
+
# Creates a bucket/object-store/directory/blobstore
|
27
|
+
# To be overridden to make the bucket publicly read-only
|
28
|
+
# per IaaS.
|
26
29
|
def create_blobstore(blobstore_name)
|
27
30
|
unless supports_blobstore_service?
|
28
31
|
puts "Provider does not support blobstore service"
|
29
32
|
false
|
30
33
|
else
|
31
|
-
print "
|
34
|
+
print "Creating publicly readable blobstore #{blobstore_name}... "
|
32
35
|
blobstore = fog_storage.directories.create(key: blobstore_name)
|
33
36
|
puts "done"
|
34
37
|
blobstore
|
35
38
|
end
|
39
|
+
rescue Excon::Errors::Forbidden => e
|
40
|
+
puts "failed: credentials do not allow blobstore to be created"
|
41
|
+
false
|
36
42
|
rescue Excon::Errors::Conflict => e
|
37
43
|
puts "failed: blobstore already exists but owned by someone else"
|
44
|
+
false
|
38
45
|
end
|
39
46
|
|
40
47
|
def create_key_pair(key_pair_name)
|
data/lib/cyoi/version.rb
CHANGED
@@ -20,7 +20,7 @@ describe "cyoi address openstack" do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it "address aleady assigned" do
|
23
|
-
|
23
|
+
skip("Fog::Compute::OpenStack.list_address_pools does not provide a mock test")
|
24
24
|
setting "provider.name", "openstack"
|
25
25
|
setting "provider.credentials.openstack_username", "USERNAME"
|
26
26
|
setting "provider.credentials.openstack_api_key", "PASSWORD"
|
@@ -33,10 +33,10 @@ describe "cyoi address openstack" do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it "address is provisioned from OpenStack" do
|
36
|
-
|
36
|
+
skip("Fog::Compute::OpenStack.list_address_pools does not provide a mock test")
|
37
37
|
run_interactive(unescape("cyoi address #{settings_dir}"))
|
38
38
|
assert_passing_with("Confirming: Using address")
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cyoi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Nic Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog
|