bosh_cli_plugin_redis 0.2.1 → 0.2.2

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.
data/ChangeLog.md CHANGED
@@ -8,11 +8,13 @@ Converted into a bosh plugin. Prefix "bosh" to the sub-commands below:
8
8
  prepare redis
9
9
  Prepare bosh for deploying one or more Redis services
10
10
 
11
- create redis [--name] [--size] [--security_group]
11
+ create redis [--name redis-<timestamp>] [--size small] [--disk 4096]
12
+ [--security-group default]
12
13
  Create a Redis service deployed upon target bosh
13
- --name Unique name for service (within bosh & cloud foundry)
14
- --size Size of provisioned VMs
15
- --security_group Security group to assign to provisioned VMs
14
+ --name redis-<timestamp> Unique bosh deployment name
15
+ --size small Size of provisioned VMs
16
+ --disk 4096 Size of persistent disk (Mb)
17
+ --security-group default Security group to assign to provisioned VMs
16
18
 
17
19
  show redis uri
18
20
  Show the redis URI for connection via bosh DNS
@@ -25,6 +27,7 @@ Note: the `cf bind-redis-env-var` command has been removed as it is a) specific
25
27
  Other features/fixes:
26
28
 
27
29
  * Validates the resource size with available sizes in the template [v0.2.1]
30
+ * `bosh create redis --disk 10000` to disk persistent disk size (Mb) [v0.2.2]
28
31
 
29
32
  ## v0.1 - redis-cf-plugin
30
33
 
data/README.md CHANGED
@@ -55,11 +55,17 @@ Uploading new redis release to bosh...
55
55
  To create/provision a new redis service you run the following command. By default, it will select the smallest known instance size.
56
56
 
57
57
  ```
58
- $ bosh create redis myapp-redis
59
- $ bosh create redis myapp-redis --size small
60
- $ bosh create redis myapp-redis --size medium
61
- $ bosh create redis myapp-redis --size large
62
- $ bosh create redis myapp-redis --size xlarge
58
+ $ bosh create redis
59
+ $ bosh create redis --size small
60
+ $ bosh create redis --size medium
61
+ $ bosh create redis --size large
62
+ $ bosh create redis --size xlarge
63
+ ```
64
+
65
+ By default the redis server is assigned a 4096 Mb persistent volume/disk. To change this value use `--disk`:
66
+
67
+ ```
68
+ $ bosh create redis myapp-redis --disk 8192
63
69
  ```
64
70
 
65
71
  NOTE: By default, the `default` security group is used. It must have port `6379` open.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "bosh_cli_plugin_redis"
5
- spec.version = "0.2.1"
5
+ spec.version = "0.2.2"
6
6
  spec.authors = ["Dr Nic Williams"]
7
7
  spec.email = ["drnicwilliams@gmail.com"]
8
8
  spec.description = %q{Create dedicated Redis servers using Bosh}
@@ -14,3 +14,5 @@ properties:
14
14
  redis:
15
15
  resource: medium
16
16
  security_group: redis-server
17
+ redis_persistent_disk: 4096
18
+
@@ -22,6 +22,7 @@ redis_sg = find("properties.redis.security_group")
22
22
  redis_port = 6379
23
23
  redis_password = random_string 12, :redis
24
24
  redis_resource = find("properties.redis.resource")
25
+ redis_persistent_disk = find("properties.redis.persistent_disk")
25
26
  -%>
26
27
  name: <%= find("name") %>
27
28
  director_uuid: <%= find("director_uuid") %>
@@ -98,10 +99,12 @@ jobs:
98
99
  default:
99
100
  - dns
100
101
  - gateway
102
+ persistent_disk: <%= redis_persistent_disk %>
101
103
 
102
104
  properties:
103
105
  redis:
104
106
  resource: <%= redis_resource %>
105
107
  security_group: <%= redis_sg %>
108
+ persistent_disk: <%= redis_persistent_disk %>
106
109
  port: <%= redis_port %>
107
110
  password: <%= redis_password %>
@@ -10,4 +10,5 @@ properties:
10
10
  description: Resource/flavor of instance to use
11
11
  - name: redis.security_group
12
12
  description: Security group for instance(s). Must have TCP ports 22 & 6379 open.
13
- default: default
13
+ - name: redis.persistent_disk
14
+ description: Size of persistent disk for servers
@@ -14,3 +14,4 @@ properties:
14
14
  redis:
15
15
  resource: medium
16
16
  security_group: redis-server
17
+ redis_persistent_disk: 4096
@@ -22,6 +22,7 @@ redis_sg = find("properties.redis.security_group")
22
22
  redis_port = 6379
23
23
  redis_password = random_string 12, :redis
24
24
  redis_resource = find("properties.redis.resource")
25
+ redis_persistent_disk = find("properties.redis.persistent_disk")
25
26
  -%>
26
27
  name: <%= find("name") %>
27
28
  director_uuid: <%= find("director_uuid") %>
@@ -98,10 +99,12 @@ jobs:
98
99
  default:
99
100
  - dns
100
101
  - gateway
102
+ persistent_disk: <%= redis_persistent_disk %>
101
103
 
102
104
  properties:
103
105
  redis:
104
106
  resource: <%= redis_resource %>
105
107
  security_group: <%= redis_sg %>
108
+ persistent_disk: <%= redis_persistent_disk %>
106
109
  port: <%= redis_port %>
107
110
  password: <%= redis_password %>
@@ -10,4 +10,5 @@ properties:
10
10
  description: Resource/flavor of instance to use
11
11
  - name: redis.security_group
12
12
  description: Security group for instance(s). Must have TCP ports 22 & 6379 open.
13
- default: default
13
+ - name: redis.persistent_disk
14
+ description: Size of persistent disk for servers
@@ -53,24 +53,27 @@ module Bosh::Cli::Command
53
53
  desc "Create a Redis service deployed upon target bosh"
54
54
  option "--name redis-<timestamp>", String, "Unique bosh deployment name"
55
55
  option "--size small", String, "Size of provisioned VMs"
56
+ option "--disk 4096", Integer, "Size of persistent disk (Mb)"
56
57
  option "--security-group default", String, "Security group to assign to provisioned VMs"
57
58
  def create_redis
58
59
  auth_required
59
60
 
60
61
  service_name = options[:name] || default_name
61
62
  resource_size = options[:size] || default_size
63
+ persistent_disk = options[:disk] || default_persistent_disk
62
64
  security_group = options[:security_group] || default_security_group
63
65
  redis_port = 6379
64
66
 
65
67
  bosh_status # preload
66
68
  nl
67
- say "CPI: #{bosh_cpi}"
69
+ say "CPI: #{bosh_cpi.make_green}"
68
70
  say "Deployment name: #{service_name.make_green}"
69
71
  say "Resource size: #{validated_resource_size_colored(resource_size)}"
72
+ say "Persistent disk: #{persistent_disk.to_s.make_green}"
70
73
  say "Security group: #{security_group.make_green}"
71
74
  nl
72
75
 
73
- step("Validating resource size", "Resource size must be in #{available_resource_sizes.join(', ')}", :fatal) do
76
+ step("Validating resource size", "Resource size must be in #{available_resource_sizes.join(', ')}", :non_fatal) do
74
77
  available_resource_sizes.include?(resource_size)
75
78
  end
76
79
 
@@ -81,6 +84,8 @@ module Bosh::Cli::Command
81
84
  cancel_deployment
82
85
  end
83
86
 
87
+ raise Bosh::Cli::ValidationHalted unless errors.empty?
88
+
84
89
  template_file = template_file("single_vm.yml.erb")
85
90
 
86
91
  # Create an initial deployment file; upon which the CPI-specific template will be applied below
@@ -154,6 +159,10 @@ module Bosh::Cli::Command
154
159
  "small"
155
160
  end
156
161
 
162
+ def default_persistent_disk
163
+ 4096
164
+ end
165
+
157
166
  def default_security_group
158
167
  "default"
159
168
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli_plugin_redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -104,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  segments:
106
106
  - 0
107
- hash: -3254480115549192426
107
+ hash: -4483315635940311713
108
108
  required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  none: false
110
110
  requirements:
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  segments:
115
115
  - 0
116
- hash: -3254480115549192426
116
+ hash: -4483315635940311713
117
117
  requirements: []
118
118
  rubyforge_project:
119
119
  rubygems_version: 1.8.25