knife-openstack 2.1.0 → 4.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/chef/knife/cloud/openstack_server_create_options.rb +64 -51
- data/lib/chef/knife/cloud/openstack_service.rb +33 -17
- data/lib/chef/knife/cloud/openstack_service_options.rb +34 -24
- data/lib/chef/knife/openstack_flavor_list.rb +18 -4
- data/lib/chef/knife/openstack_floating_ip_allocate.rb +22 -9
- data/lib/chef/knife/openstack_floating_ip_associate.rb +24 -11
- data/lib/chef/knife/openstack_floating_ip_disassociate.rb +24 -11
- data/lib/chef/knife/openstack_floating_ip_list.rb +18 -4
- data/lib/chef/knife/openstack_floating_ip_release.rb +16 -4
- data/lib/chef/knife/openstack_group_list.rb +21 -4
- data/lib/chef/knife/openstack_helpers.rb +20 -4
- data/lib/chef/knife/openstack_image_list.rb +22 -8
- data/lib/chef/knife/openstack_network_list.rb +18 -4
- data/lib/chef/knife/openstack_server_create.rb +38 -37
- data/lib/chef/knife/openstack_server_delete.rb +17 -5
- data/lib/chef/knife/openstack_server_list.rb +5 -6
- data/lib/chef/knife/openstack_server_show.rb +4 -5
- data/lib/chef/knife/openstack_volume_list.rb +10 -9
- data/lib/knife-openstack/version.rb +2 -2
- metadata +16 -216
- data/.github/ISSUE_TEMPLATE.md +0 -21
- data/.gitignore +0 -32
- data/.travis.yml +0 -18
- data/CHANGELOG.md +0 -339
- data/CONTRIBUTING.MD +0 -164
- data/Gemfile +0 -5
- data/README.md +0 -179
- data/Rakefile +0 -29
- data/knife-openstack.gemspec +0 -41
- data/spec/functional/flavor_list_func_spec.rb +0 -47
- data/spec/functional/floating_ip_list_func_spec.rb +0 -48
- data/spec/functional/group_list_func_spec.rb +0 -65
- data/spec/functional/image_list_func_spec.rb +0 -53
- data/spec/functional/network_list_func_spec.rb +0 -46
- data/spec/functional/server_create_func_spec.rb +0 -118
- data/spec/functional/server_delete_func_spec.rb +0 -84
- data/spec/functional/server_list_func_spec.rb +0 -98
- data/spec/functional/server_show_func_spec.rb +0 -46
- data/spec/functional/volume_list_func_spec.rb +0 -46
- data/spec/integration/cleanup.rb +0 -89
- data/spec/integration/config/environment.yml.sample +0 -13
- data/spec/integration/openstack_spec.rb +0 -649
- data/spec/spec_context.rb +0 -56
- data/spec/spec_helper.rb +0 -128
- data/spec/unit/openstack_flavor_list_spec.rb +0 -30
- data/spec/unit/openstack_floating_ip_allocate_spec.rb +0 -56
- data/spec/unit/openstack_floating_ip_associate_spec.rb +0 -40
- data/spec/unit/openstack_floating_ip_disassociate_spec.rb +0 -39
- data/spec/unit/openstack_floating_ip_list_spec.rb +0 -27
- data/spec/unit/openstack_floating_ip_release_spec.rb +0 -49
- data/spec/unit/openstack_group_list_spec.rb +0 -44
- data/spec/unit/openstack_image_list_spec.rb +0 -32
- data/spec/unit/openstack_network_list_spec.rb +0 -39
- data/spec/unit/openstack_server_create_spec.rb +0 -449
- data/spec/unit/openstack_server_delete_spec.rb +0 -43
- data/spec/unit/openstack_server_list_spec.rb +0 -32
- data/spec/unit/openstack_server_show_spec.rb +0 -42
- data/spec/unit/openstack_service_spec.rb +0 -128
- data/spec/unit/openstack_volume_list_spec.rb +0 -30
@@ -1,10 +1,24 @@
|
|
1
|
-
#
|
1
|
+
#
|
2
2
|
# Author:: Vasundhara Jagdale (<vasundhara.jagdale@clogeny.com>)
|
3
|
-
# Copyright:: Copyright (c)
|
3
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
4
18
|
|
5
|
-
|
6
|
-
|
7
|
-
|
19
|
+
require_relative "openstack_helpers"
|
20
|
+
require_relative "cloud/openstack_service_options"
|
21
|
+
require_relative "cloud/openstack_service"
|
8
22
|
require "chef/knife/cloud/command"
|
9
23
|
|
10
24
|
class Chef
|
@@ -17,10 +31,9 @@ class Chef
|
|
17
31
|
banner "knife openstack floating_ip disassociate IP (options)"
|
18
32
|
|
19
33
|
option :instance_id,
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
required: true
|
34
|
+
long: "--instance-id ID",
|
35
|
+
description: "Instance id to disassociate with.",
|
36
|
+
required: true
|
24
37
|
|
25
38
|
def execute_command
|
26
39
|
if @name_args[0]
|
@@ -30,9 +43,9 @@ class Chef
|
|
30
43
|
exit 1
|
31
44
|
end
|
32
45
|
|
46
|
+
response = @service.disassociate_address(config[:instance_id], floating_ip)
|
33
47
|
if response && response.status == 202
|
34
|
-
|
35
|
-
ui.info "Floating IP #{floating_ip} disassociated with Instance #{locate_config_value(:instance_id)}"
|
48
|
+
ui.info "Floating IP #{floating_ip} disassociated with Instance #{config[:instance_id]}"
|
36
49
|
end
|
37
50
|
end
|
38
51
|
end
|
@@ -1,10 +1,24 @@
|
|
1
|
-
#
|
1
|
+
#
|
2
2
|
# Author:: Vasundhara Jagdale (<vasundhara.jagdale@clogeny.com>)
|
3
|
-
# Copyright:: Copyright
|
3
|
+
# Copyright:: Copyright 2015-2020 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
4
18
|
|
5
19
|
require "chef/knife/cloud/list_resource_command"
|
6
|
-
|
7
|
-
|
20
|
+
require_relative "openstack_helpers"
|
21
|
+
require_relative "cloud/openstack_service_options"
|
8
22
|
|
9
23
|
class Chef
|
10
24
|
class Knife
|
@@ -1,11 +1,23 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
#
|
3
2
|
# Author:: Vasundhara Jagdale (<vasundhara.jagdale@clogeny.com>)
|
4
|
-
# Copyright:: Copyright
|
3
|
+
# Copyright:: Copyright 2015-2020 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
5
17
|
#
|
6
18
|
|
7
|
-
|
8
|
-
|
19
|
+
require_relative "openstack_helpers"
|
20
|
+
require_relative "cloud/openstack_service_options"
|
9
21
|
require "chef/knife/cloud/command"
|
10
22
|
|
11
23
|
class Chef
|
@@ -1,7 +1,24 @@
|
|
1
|
-
#
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright 2018 Chef Software, Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
2
18
|
require "chef/knife/cloud/list_resource_command"
|
3
|
-
|
4
|
-
|
19
|
+
require_relative "openstack_helpers"
|
20
|
+
require_relative "cloud/openstack_service_options"
|
21
|
+
require "chef/json_compat"
|
5
22
|
|
6
23
|
class Chef
|
7
24
|
class Knife
|
@@ -16,7 +33,7 @@ class Chef
|
|
16
33
|
@service.connection.security_groups
|
17
34
|
rescue Excon::Errors::BadRequest => e
|
18
35
|
response = Chef::JSONCompat.from_json(e.response.body)
|
19
|
-
ui.fatal("Unknown server error (#{response[
|
36
|
+
ui.fatal("Unknown server error (#{response["badRequest"]["code"]}): #{response["badRequest"]["message"]}")
|
20
37
|
raise e
|
21
38
|
end
|
22
39
|
|
@@ -1,5 +1,21 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require_relative "cloud/openstack_service_options"
|
3
19
|
|
4
20
|
class Chef
|
5
21
|
class Knife
|
@@ -18,7 +34,7 @@ class Chef
|
|
18
34
|
end
|
19
35
|
|
20
36
|
def create_service_instance
|
21
|
-
OpenstackService.new
|
37
|
+
OpenstackService.new(config: config)
|
22
38
|
end
|
23
39
|
|
24
40
|
def validate!
|
@@ -32,7 +48,7 @@ class Chef
|
|
32
48
|
ips.each do |ip|
|
33
49
|
version = "IPv6" if ip["version"] == 6
|
34
50
|
version = "IPv4" if ip["version"] == 4
|
35
|
-
info << "#{addresses.keys[0]}:#{version}: #{ip[
|
51
|
+
info << "#{addresses.keys[0]}:#{version}: #{ip["addr"]}"
|
36
52
|
end
|
37
53
|
end
|
38
54
|
info.join(" ")
|
@@ -1,10 +1,24 @@
|
|
1
|
-
#
|
1
|
+
#
|
2
2
|
# Author:: Prabhu Das (<prabhu.das@clogeny.com>)
|
3
|
-
# Copyright:: Copyright
|
3
|
+
# Copyright:: Copyright 2014-2020 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
4
18
|
|
5
19
|
require "chef/knife/cloud/list_resource_command"
|
6
|
-
|
7
|
-
|
20
|
+
require_relative "openstack_helpers"
|
21
|
+
require_relative "cloud/openstack_service_options"
|
8
22
|
|
9
23
|
class Chef
|
10
24
|
class Knife
|
@@ -16,10 +30,10 @@ class Chef
|
|
16
30
|
banner "knife openstack image list (options)"
|
17
31
|
|
18
32
|
option :disable_filter,
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
33
|
+
long: "--disable-filter",
|
34
|
+
description: "Disable filtering of the image list. Currently filters names ending with 'initrd' or 'kernel'",
|
35
|
+
boolean: true,
|
36
|
+
default: false
|
23
37
|
|
24
38
|
def before_exec_command
|
25
39
|
# set resource_filters
|
@@ -1,10 +1,24 @@
|
|
1
|
-
#
|
1
|
+
#
|
2
2
|
# Author:: Prabhu Das (<prabhu.das@clogeny.com>)
|
3
|
-
# Copyright:: Copyright
|
3
|
+
# Copyright:: Copyright 2014-2020 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
4
18
|
|
5
19
|
require "chef/knife/cloud/list_resource_command"
|
6
|
-
|
7
|
-
|
20
|
+
require_relative "openstack_helpers"
|
21
|
+
require_relative "cloud/openstack_service_options"
|
8
22
|
|
9
23
|
class Chef
|
10
24
|
class Knife
|
@@ -1,9 +1,9 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
#
|
3
|
-
# Author:: Seth Chisamore (<schisamo@
|
4
|
-
# Author:: Matt Ray (<matt@
|
2
|
+
# Author:: Seth Chisamore (<schisamo@chef.io>)
|
3
|
+
# Author:: Matt Ray (<matt@chef.io>)
|
5
4
|
# Author:: Chirag Jog (<chirag@clogeny.com>)
|
6
|
-
#
|
5
|
+
# Author:: Lance Albertson (<lance@osuosl.org>)
|
6
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
7
7
|
# License:: Apache License, Version 2.0
|
8
8
|
#
|
9
9
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -20,10 +20,10 @@
|
|
20
20
|
#
|
21
21
|
|
22
22
|
require "chef/knife/cloud/server/create_command"
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
require_relative "openstack_helpers"
|
24
|
+
require_relative "cloud/openstack_server_create_options"
|
25
|
+
require_relative "cloud/openstack_service"
|
26
|
+
require_relative "cloud/openstack_service_options"
|
27
27
|
require "chef/knife/cloud/exceptions"
|
28
28
|
|
29
29
|
class Chef
|
@@ -43,19 +43,19 @@ class Chef
|
|
43
43
|
server_def: {
|
44
44
|
# servers require a name, knife-cloud generates the chef_node_name
|
45
45
|
:name => config[:chef_node_name],
|
46
|
-
:image_ref => service.get_image(
|
47
|
-
:flavor_ref => service.get_flavor(
|
48
|
-
:security_groups =>
|
49
|
-
:availability_zone =>
|
50
|
-
"os:scheduler_hints" =>
|
51
|
-
:metadata =>
|
52
|
-
:key_name =>
|
46
|
+
:image_ref => service.get_image(config[:image]).id,
|
47
|
+
:flavor_ref => service.get_flavor(config[:flavor]).id,
|
48
|
+
:security_groups => config[:openstack_security_groups],
|
49
|
+
:availability_zone => config[:availability_zone],
|
50
|
+
"os:scheduler_hints" => config[:openstack_scheduler_hints],
|
51
|
+
:metadata => config[:metadata],
|
52
|
+
:key_name => config[:openstack_ssh_key_id],
|
53
53
|
},
|
54
|
-
server_create_timeout:
|
54
|
+
server_create_timeout: config[:server_create_timeout],
|
55
55
|
}
|
56
|
-
unless
|
56
|
+
unless config[:openstack_volumes].nil?
|
57
57
|
counter = 99
|
58
|
-
@create_options[:server_def][:block_device_mapping] =
|
58
|
+
@create_options[:server_def][:block_device_mapping] = config[:openstack_volumes].map do |vol|
|
59
59
|
counter += 1
|
60
60
|
{
|
61
61
|
volume_id: vol,
|
@@ -66,8 +66,8 @@ class Chef
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
@create_options[:server_def][:user_data] =
|
70
|
-
@create_options[:server_def][:nics] =
|
69
|
+
@create_options[:server_def][:user_data] = config[:user_data] if config[:user_data]
|
70
|
+
@create_options[:server_def][:nics] = config[:network_ids].map { |nic| nic_id = { "net_id" => nic } } if config[:network_ids]
|
71
71
|
|
72
72
|
Chef::Log.debug("Create server params - server_def = #{@create_options[:server_def]}")
|
73
73
|
# set columns_with_info map
|
@@ -94,7 +94,7 @@ class Chef
|
|
94
94
|
msg_pair("Public IP Address", primary_public_ip_address(server.addresses)) if primary_public_ip_address(server.addresses)
|
95
95
|
msg_pair("Private IP Address", primary_private_ip_address(server.addresses)) if primary_private_ip_address(server.addresses)
|
96
96
|
|
97
|
-
floating_address =
|
97
|
+
floating_address = config[:openstack_floating_ip]
|
98
98
|
bind_ip = primary_network_ip_address(server.addresses, server.addresses.keys[0])
|
99
99
|
Chef::Log.debug("Floating IP Address requested #{floating_address}")
|
100
100
|
unless floating_address == "-1" # no floating IP requested
|
@@ -140,10 +140,10 @@ class Chef
|
|
140
140
|
super
|
141
141
|
|
142
142
|
# Use SSH password either specified from command line or from openstack server instance
|
143
|
-
config[:ssh_password] =
|
143
|
+
config[:ssh_password] = config[:ssh_password] || server.password unless config[:openstack_ssh_key_id]
|
144
144
|
|
145
|
-
# The bootstrap network is always
|
146
|
-
# only set the bootstrap network to 'private' if still
|
145
|
+
# The bootstrap network is always initialized to 'public' when a network name isn't specified. Therefore,
|
146
|
+
# only set the bootstrap network to 'private' if still initialized to public and nothing was specified for
|
147
147
|
# the private network name.
|
148
148
|
config[:bootstrap_network] = "private" if config[:private_network] && config[:bootstrap_network] == "public"
|
149
149
|
|
@@ -172,51 +172,52 @@ class Chef
|
|
172
172
|
|
173
173
|
def validate_params!
|
174
174
|
# set param vm_name to a random value if the name is not set by the user (plugin)
|
175
|
-
config[:chef_node_name] = get_node_name(
|
175
|
+
config[:chef_node_name] = get_node_name(config[:chef_node_name], config[:chef_node_name_prefix])
|
176
176
|
|
177
177
|
errors = []
|
178
178
|
|
179
|
-
if
|
180
|
-
if
|
181
|
-
errors << "You must provide
|
179
|
+
if config[:connection_protocol] == "winrm"
|
180
|
+
if config[:connection_password].nil?
|
181
|
+
errors << "You must provide Connection Password."
|
182
182
|
end
|
183
|
-
elsif
|
183
|
+
elsif config[:connection_protocol] != "ssh"
|
184
184
|
errors << "You must provide a valid bootstrap protocol. options [ssh/winrm]. For linux type images, options [ssh]"
|
185
185
|
end
|
186
186
|
|
187
|
-
errors << "You must provide --image-os-type option [windows/linux]" unless %w{windows linux}.include?(
|
187
|
+
errors << "You must provide --image-os-type option [windows/linux]" unless %w{windows linux}.include?(config[:image_os_type])
|
188
188
|
error_message = ""
|
189
189
|
raise CloudExceptions::ValidationError, error_message if errors.each { |e| ui.error(e); error_message = "#{error_message} #{e}." }.any?
|
190
190
|
end
|
191
191
|
|
192
192
|
def is_image_valid?
|
193
|
-
service.get_image(
|
193
|
+
service.get_image(config[:image]).nil? ? false : true
|
194
194
|
end
|
195
195
|
|
196
196
|
def is_flavor_valid?
|
197
|
-
service.get_flavor(
|
197
|
+
service.get_flavor(config[:flavor]).nil? ? false : true
|
198
198
|
end
|
199
199
|
|
200
200
|
def is_floating_ip_valid?
|
201
|
-
address =
|
201
|
+
address = config[:openstack_floating_ip]
|
202
202
|
|
203
203
|
return true if address == "-1" # no floating IP requested
|
204
204
|
|
205
205
|
addresses = service.connection.addresses
|
206
206
|
return false if addresses.empty? # no floating IPs
|
207
|
+
|
207
208
|
# floating requested without value
|
208
209
|
if address.nil?
|
209
210
|
if addresses.find_index { |a| a.fixed_ip.nil? }
|
210
|
-
|
211
|
+
true
|
211
212
|
else
|
212
|
-
|
213
|
+
false # no floating IPs available
|
213
214
|
end
|
214
215
|
else
|
215
216
|
# floating requested with value
|
216
217
|
if addresses.find_index { |a| a.ip == address }
|
217
|
-
|
218
|
+
true
|
218
219
|
else
|
219
|
-
|
220
|
+
false # requested floating IP does not exist
|
220
221
|
end
|
221
222
|
end
|
222
223
|
end
|
@@ -1,15 +1,27 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
#
|
3
2
|
# Author:: Siddheshwar More (<siddheshwar.more@clogeny.com>)
|
4
3
|
# Author:: Kaustubh Deorukhkar (<kaustubh@clogeny.com>)
|
5
|
-
# Copyright:: Copyright
|
4
|
+
# Copyright:: Copyright 2013-2020 Chef Software, Inc.
|
5
|
+
# License:: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
6
18
|
#
|
7
19
|
|
8
20
|
require "chef/knife/cloud/server/delete_options"
|
9
21
|
require "chef/knife/cloud/server/delete_command"
|
10
|
-
|
11
|
-
|
12
|
-
|
22
|
+
require_relative "cloud/openstack_service"
|
23
|
+
require_relative "cloud/openstack_service_options"
|
24
|
+
require_relative "openstack_helpers"
|
13
25
|
|
14
26
|
class Chef
|
15
27
|
class Knife
|