knife-openstack 2.0.1 → 4.0.0
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 +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 -12
- data/lib/chef/knife/openstack_floating_ip_disassociate.rb +25 -12
- 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 +36 -35
- 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 +17 -91
- data/.github/ISSUE_TEMPLATE.md +0 -21
- data/.gitignore +0 -32
- data/.travis.yml +0 -10
- data/CHANGELOG.md +0 -335
- data/CONTRIBUTING.MD +0 -164
- data/Gemfile +0 -21
- data/README.md +0 -179
- data/Rakefile +0 -27
- data/knife-openstack.gemspec +0 -30
- 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]
|
@@ -29,10 +42,10 @@ class Chef
|
|
29
42
|
ui.error "Please provide Floating IP to disassociate."
|
30
43
|
exit 1
|
31
44
|
end
|
32
|
-
|
33
|
-
response =
|
45
|
+
|
46
|
+
response = @service.disassociate_address(config[:instance_id], floating_ip)
|
34
47
|
if response && response.status == 202
|
35
|
-
ui.info "Floating IP #{floating_ip} disassociated with Instance #{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,7 +140,7 @@ 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
145
|
# The bootstrap network is always initialised to 'public' when a network name isn't specified. Therefore,
|
146
146
|
# only set the bootstrap network to 'private' if still initialised to public and nothing was specified for
|
@@ -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
|