knife-azure 1.0.0 → 1.0.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/{readme.rdoc → README.rdoc} +68 -26
- data/lib/azure/connection.rb +3 -1
- data/lib/azure/deploy.rb +3 -0
- data/lib/azure/host.rb +2 -2
- data/lib/azure/image.rb +2 -2
- data/lib/azure/rest.rb +8 -3
- data/lib/azure/role.rb +1 -1
- data/lib/azure/storageaccount.rb +87 -0
- data/lib/chef/knife/azure_base.rb +19 -17
- data/lib/chef/knife/azure_image_list.rb +13 -10
- data/lib/chef/knife/azure_server_create.rb +45 -13
- data/lib/knife-azure/version.rb +1 -1
- metadata +208 -178
- data/Gemfile +0 -22
- data/Guardfile +0 -8
- data/Rakefile +0 -51
- data/knife-azure.gemspec +0 -106
- data/spec/functional/deploys_test.rb +0 -39
- data/spec/functional/host_test.rb +0 -22
- data/spec/functional/images_list_test.rb +0 -44
- data/spec/functional/role_test.rb +0 -16
- data/spec/integration/role_lifecycle_test.rb +0 -60
- data/spec/spec_helper.rb +0 -41
- data/spec/unit/assets/create_deployment.xml +0 -37
- data/spec/unit/assets/create_deployment_in_progress.xml +0 -1
- data/spec/unit/assets/create_host.xml +0 -7
- data/spec/unit/assets/create_role.xml +0 -54
- data/spec/unit/assets/list_deployments_for_service000.xml +0 -126
- data/spec/unit/assets/list_deployments_for_service001.xml +0 -166
- data/spec/unit/assets/list_deployments_for_service002.xml +0 -1
- data/spec/unit/assets/list_deployments_for_service003.xml +0 -1
- data/spec/unit/assets/list_disks.xml +0 -1
- data/spec/unit/assets/list_hosts.xml +0 -1
- data/spec/unit/assets/list_images.xml +0 -1
- data/spec/unit/assets/post_success.xml +0 -6
- data/spec/unit/deploys_list_spec.rb +0 -55
- data/spec/unit/disks_spec.rb +0 -44
- data/spec/unit/hosts_spec.rb +0 -55
- data/spec/unit/images_spec.rb +0 -35
- data/spec/unit/query_azure_mock.rb +0 -69
- data/spec/unit/roles_create_spec.rb +0 -82
- data/spec/unit/roles_list_spec.rb +0 -32
data/Gemfile
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
source "http://rubygems.org"
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
5
|
-
|
6
|
-
gemspec
|
7
|
-
#gem "chef", "~> 0.10.8"
|
8
|
-
|
9
|
-
# Add dependencies to develop your gem here.
|
10
|
-
# Include everything needed to run rake, tests, features, etc.
|
11
|
-
group :development do
|
12
|
-
gem "rspec", "~> 2.8.0"
|
13
|
-
gem "rake"
|
14
|
-
gem "rdoc", "~> 3.12"
|
15
|
-
gem "bundler"
|
16
|
-
gem "guard-rspec"
|
17
|
-
gem "libnotify"
|
18
|
-
gem "rubygems-bundler", "~> 0.2.8"
|
19
|
-
gem "interactive_editor"
|
20
|
-
gem "equivalent-xml", "~> 0.2.9"
|
21
|
-
end
|
22
|
-
|
data/Guardfile
DELETED
data/Rakefile
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
require 'rake'
|
13
|
-
|
14
|
-
spec = eval(File.read("knife-azure.gemspec"))
|
15
|
-
|
16
|
-
require 'rubygems/package_task'
|
17
|
-
|
18
|
-
Gem::PackageTask.new(spec) do |pkg|
|
19
|
-
pkg.gem_spec = spec
|
20
|
-
end
|
21
|
-
|
22
|
-
require 'rspec/core'
|
23
|
-
require 'rspec/core/rake_task'
|
24
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
25
|
-
spec.pattern = FileList['spec/unit/**/*_spec.rb']
|
26
|
-
end
|
27
|
-
|
28
|
-
RSpec::Core::RakeTask.new(:functional) do |spec|
|
29
|
-
spec.pattern = FileList['spec/functional/**/*_test.rb']
|
30
|
-
end
|
31
|
-
|
32
|
-
RSpec::Core::RakeTask.new(:integration) do |spec|
|
33
|
-
spec.pattern = FileList['spec/integration/**/*_test.rb']
|
34
|
-
end
|
35
|
-
|
36
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
37
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
38
|
-
spec.rcov = true
|
39
|
-
end
|
40
|
-
|
41
|
-
task :default => :spec
|
42
|
-
|
43
|
-
require 'rdoc/task'
|
44
|
-
Rake::RDocTask.new do |rdoc|
|
45
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
46
|
-
|
47
|
-
rdoc.rdoc_dir = 'rdoc'
|
48
|
-
rdoc.title = "knife-azure #{version}"
|
49
|
-
rdoc.rdoc_files.include('README*')
|
50
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
51
|
-
end
|
data/knife-azure.gemspec
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__) + '/lib')
|
2
|
-
require 'knife-azure/version'
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
s.name = "knife-azure"
|
6
|
-
s.version = Knife::Azure::VERSION
|
7
|
-
|
8
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
|
-
s.authors = ["Barry Davis"]
|
10
|
-
s.date = "2012-06-06"
|
11
|
-
s.summary = "A plugin to Opscode knife for creating instances on the Microsoft Azure platform"
|
12
|
-
s.description = s.summary
|
13
|
-
s.email = "oss@opscode.com"
|
14
|
-
s.licenses = ["Apache 2.0"]
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE"
|
17
|
-
]
|
18
|
-
s.files = [
|
19
|
-
"Gemfile",
|
20
|
-
"Guardfile",
|
21
|
-
"LICENSE",
|
22
|
-
"Rakefile",
|
23
|
-
"knife-azure.gemspec",
|
24
|
-
"lib/azure/connection.rb",
|
25
|
-
"lib/azure/deploy.rb",
|
26
|
-
"lib/azure/disk.rb",
|
27
|
-
"lib/azure/host.rb",
|
28
|
-
"lib/azure/image.rb",
|
29
|
-
"lib/azure/rest.rb",
|
30
|
-
"lib/azure/role.rb",
|
31
|
-
"lib/azure/utility.rb",
|
32
|
-
"lib/chef/knife/azure_base.rb",
|
33
|
-
"lib/chef/knife/azure_image_list.rb",
|
34
|
-
"lib/chef/knife/azure_server_create.rb",
|
35
|
-
"lib/chef/knife/azure_server_delete.rb",
|
36
|
-
"lib/chef/knife/azure_server_describe.rb",
|
37
|
-
"lib/chef/knife/azure_server_list.rb",
|
38
|
-
"lib/knife-azure/version.rb",
|
39
|
-
"readme.rdoc",
|
40
|
-
"spec/functional/deploys_test.rb",
|
41
|
-
"spec/functional/host_test.rb",
|
42
|
-
"spec/functional/images_list_test.rb",
|
43
|
-
"spec/functional/role_test.rb",
|
44
|
-
"spec/integration/role_lifecycle_test.rb",
|
45
|
-
"spec/spec_helper.rb",
|
46
|
-
"spec/unit/assets/create_deployment.xml",
|
47
|
-
"spec/unit/assets/create_deployment_in_progress.xml",
|
48
|
-
"spec/unit/assets/create_host.xml",
|
49
|
-
"spec/unit/assets/create_role.xml",
|
50
|
-
"spec/unit/assets/list_deployments_for_service000.xml",
|
51
|
-
"spec/unit/assets/list_deployments_for_service001.xml",
|
52
|
-
"spec/unit/assets/list_deployments_for_service002.xml",
|
53
|
-
"spec/unit/assets/list_deployments_for_service003.xml",
|
54
|
-
"spec/unit/assets/list_disks.xml",
|
55
|
-
"spec/unit/assets/list_hosts.xml",
|
56
|
-
"spec/unit/assets/list_images.xml",
|
57
|
-
"spec/unit/assets/post_success.xml",
|
58
|
-
"spec/unit/deploys_list_spec.rb",
|
59
|
-
"spec/unit/disks_spec.rb",
|
60
|
-
"spec/unit/hosts_spec.rb",
|
61
|
-
"spec/unit/images_spec.rb",
|
62
|
-
"spec/unit/query_azure_mock.rb",
|
63
|
-
"spec/unit/roles_create_spec.rb",
|
64
|
-
"spec/unit/roles_list_spec.rb"
|
65
|
-
]
|
66
|
-
s.homepage = "http://github.com/opscode/knife-azure"
|
67
|
-
s.require_paths = ["lib"]
|
68
|
-
s.rubygems_version = "1.8.23"
|
69
|
-
|
70
|
-
if s.respond_to? :specification_version then
|
71
|
-
s.specification_version = 3
|
72
|
-
|
73
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
74
|
-
s.add_runtime_dependency(%q<knife-azure>, [">= 0"])
|
75
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
|
76
|
-
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
77
|
-
s.add_development_dependency(%q<bundler>, [">= 0"])
|
78
|
-
s.add_development_dependency(%q<guard-rspec>, [">= 0"])
|
79
|
-
s.add_development_dependency(%q<libnotify>, [">= 0"])
|
80
|
-
s.add_development_dependency(%q<rubygems-bundler>, ["~> 0.2.8"])
|
81
|
-
s.add_development_dependency(%q<interactive_editor>, [">= 0"])
|
82
|
-
s.add_development_dependency(%q<equivalent-xml>, ["~> 0.2.9"])
|
83
|
-
else
|
84
|
-
s.add_dependency(%q<knife-azure>, [">= 0"])
|
85
|
-
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
86
|
-
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
87
|
-
s.add_dependency(%q<bundler>, [">= 0"])
|
88
|
-
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
89
|
-
s.add_dependency(%q<libnotify>, [">= 0"])
|
90
|
-
s.add_dependency(%q<rubygems-bundler>, ["~> 0.2.8"])
|
91
|
-
s.add_dependency(%q<interactive_editor>, [">= 0"])
|
92
|
-
s.add_dependency(%q<equivalent-xml>, ["~> 0.2.9"])
|
93
|
-
end
|
94
|
-
else
|
95
|
-
s.add_dependency(%q<knife-azure>, [">= 0"])
|
96
|
-
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
97
|
-
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
98
|
-
s.add_dependency(%q<bundler>, [">= 0"])
|
99
|
-
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
100
|
-
s.add_dependency(%q<libnotify>, [">= 0"])
|
101
|
-
s.add_dependency(%q<rubygems-bundler>, ["~> 0.2.8"])
|
102
|
-
s.add_dependency(%q<interactive_editor>, [">= 0"])
|
103
|
-
s.add_dependency(%q<equivalent-xml>, ["~> 0.2.9"])
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe "deploys" do
|
4
|
-
before(:all) do
|
5
|
-
@connection = Azure::Connection.new(TEST_PARAMS)
|
6
|
-
@deploys = @connection.deploys.all
|
7
|
-
end
|
8
|
-
|
9
|
-
specify {@deploys.length.should be > 0}
|
10
|
-
it 'each deployment should have values' do
|
11
|
-
@deploys.each do |deploy|
|
12
|
-
deploy.name.should_not be_nil
|
13
|
-
deploy.status.should_not be_nil
|
14
|
-
deploy.url.should_not be_nil
|
15
|
-
deploy.roles.length.should be > 0
|
16
|
-
end
|
17
|
-
end
|
18
|
-
it 'each role should have values' do
|
19
|
-
@deploys.each do |deploy|
|
20
|
-
Chef::Log.info '============================='
|
21
|
-
Chef::Log.info 'hosted service: ' + deploy.hostedservicename + ' deployment: ' + deploy.name
|
22
|
-
deploy.roles.each do |role|
|
23
|
-
role.name.should_not be_nil
|
24
|
-
role.status.should_not be_nil
|
25
|
-
role.size.should_not be_nil
|
26
|
-
role.ipaddress.should_not be_nil
|
27
|
-
role.sshport.should_not be_nil
|
28
|
-
role.sshipaddress.should_not be_nil
|
29
|
-
Chef::Log.info '============================='
|
30
|
-
Chef::Log.info 'role: ' + role.name
|
31
|
-
Chef::Log.info 'status: ' + role.status
|
32
|
-
Chef::Log.info 'size: ' + role.size
|
33
|
-
Chef::Log.info 'ip address: ' + role.ipaddress
|
34
|
-
Chef::Log.info 'ssh port: ' + role.sshport
|
35
|
-
Chef::Log.info 'ssh ip address: ' + role.sshipaddress
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe "Connection" do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@connection = Azure::Connection.new(TEST_PARAMS)
|
7
|
-
@items = @connection.hosts.all
|
8
|
-
end
|
9
|
-
|
10
|
-
specify {@items.length.should be > 0}
|
11
|
-
specify {@connection.hosts.exists("thisServiceShouldNotBeThere").should == false}
|
12
|
-
specify{@connection.hosts.exists("service002").should == true}
|
13
|
-
it "looking for a specific host" do
|
14
|
-
foundNamedHost = false
|
15
|
-
@items.each do |host|
|
16
|
-
next unless host.name == "service002"
|
17
|
-
foundNamedHost = true
|
18
|
-
end
|
19
|
-
foundNamedHost.should == true
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe "Connection" do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@connection = Azure::Connection.new(TEST_PARAMS)
|
7
|
-
@items = @connection.images.all
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should be contain images" do
|
11
|
-
@items.length.should be > 1
|
12
|
-
end
|
13
|
-
it "each image should have all fields valid" do
|
14
|
-
@items.each do |image|
|
15
|
-
image.category.should_not be_nil
|
16
|
-
image.label.should_not be_nil
|
17
|
-
image.name.should_not be_nil
|
18
|
-
image.os.should_not be_nil
|
19
|
-
image.eula.should_not be_nil
|
20
|
-
image.description.should_not be_nil
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
|
25
|
-
# it "should get services" do
|
26
|
-
# @demo.DemoGet
|
27
|
-
# end
|
28
|
-
# it "bad subscription should fail with ResourceNotFound" do
|
29
|
-
# @demo.subscription = "ae2ff9b3-12b2-45cf-b58e-468bc7e29110xxxxx"
|
30
|
-
#
|
31
|
-
# expect{@demo.DemoGet}.to raise_error(RuntimeError, /ResourceNotFound/)
|
32
|
-
# end
|
33
|
-
# it "bad pem_path should fail with CertificateError" do
|
34
|
-
# @demo.pem_file = ""
|
35
|
-
#
|
36
|
-
# expect{@demo.DemoGet}.to raise_error(OpenSSL::X509::CertificateError)
|
37
|
-
# end
|
38
|
-
# it "bad service_name should fail with " do
|
39
|
-
# @demo.service_name = ""
|
40
|
-
#
|
41
|
-
# expect{@demo.DemoGet}.to raise_error(RuntimeError, /ResourceNotFound/)
|
42
|
-
# end
|
43
|
-
end
|
44
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe "roles" do
|
4
|
-
before(:all) do
|
5
|
-
@connection = Azure::Connection.new(TEST_PARAMS)
|
6
|
-
@roles = @connection.roles.all
|
7
|
-
end
|
8
|
-
|
9
|
-
specify {@connection.roles.exists('notexist').should == false}
|
10
|
-
specify {@connection.roles.exists('role126').should == true}
|
11
|
-
it 'run through roles' do
|
12
|
-
@connection.roles.roles.each do |role|
|
13
|
-
role.name.should_not be_nil
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
describe "role lifecycle" do
|
3
|
-
Chef::Log.init()
|
4
|
-
Chef::Log.level=:info
|
5
|
-
before(:all) do
|
6
|
-
include AzureSpecHelper
|
7
|
-
connection_params = TEST_PARAMS
|
8
|
-
@connection = Azure::Connection.new(connection_params)
|
9
|
-
arbitrary = rand(1000) + 1
|
10
|
-
@params = {
|
11
|
-
:hosted_service_name=>'service002',
|
12
|
-
:role_name=>'role' + arbitrary.to_s,
|
13
|
-
:host_name=>'host' + arbitrary.to_s,
|
14
|
-
:ssh_user=>'jetstream',
|
15
|
-
:ssh_password=>'jetstream1!',
|
16
|
-
:media_location_prefix=>'auxpreview104',
|
17
|
-
:source_image=>'SUSE__OpenSUSE64121-03192012-en-us-15GB',
|
18
|
-
:role_size=>'ExtraSmall'
|
19
|
-
}
|
20
|
-
end
|
21
|
-
# ToFix - breaks because it does not refresh each role
|
22
|
-
# within loop and does not know that it needs to delete
|
23
|
-
# a deployment instead of a role when it gets down to
|
24
|
-
# the last role in a deployment
|
25
|
-
it 'delete everything, build out completely' do
|
26
|
-
Chef::Log.info 'deleting any existing roles'
|
27
|
-
@connection.roles.all.each do |role|
|
28
|
-
Chef::Log.info 'deleting role' + role.name
|
29
|
-
@connection.roles.delete role.name
|
30
|
-
break
|
31
|
-
end
|
32
|
-
|
33
|
-
Chef::Log.info 'deleting any existing hosts'
|
34
|
-
@connection.hosts.all.each do |host|
|
35
|
-
Chef::Log.info 'deleting host' + host.name
|
36
|
-
@connection.hosts.delete host.name
|
37
|
-
end
|
38
|
-
|
39
|
-
# create 5 new roles
|
40
|
-
['001', '002', '003', '004', '005'].each do |val|
|
41
|
-
arbitrary = rand(1000) + 1
|
42
|
-
@params[:role_name]='role' + val + arbitrary.to_s
|
43
|
-
@params[:host_name]='host' + val
|
44
|
-
Chef::Log.info 'creating a new role named ' + @params[:role_name]
|
45
|
-
@connection.deploys.create(@params)
|
46
|
-
end
|
47
|
-
|
48
|
-
# refresh the roles list
|
49
|
-
Chef::Log.info 'refreshing roles'
|
50
|
-
@connection.roles.all
|
51
|
-
|
52
|
-
# list the roles
|
53
|
-
Chef::Log.info 'display roles'
|
54
|
-
@connection.roles.roles.each do |role|
|
55
|
-
Chef::Log.info role.name
|
56
|
-
end
|
57
|
-
end
|
58
|
-
#specify {@connection.roles.exists(@params[:role_name]).should == true}
|
59
|
-
#specify {@connection.roles.exists(@params[:role_name] + 'notexist').should == false}
|
60
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
require 'rspec'
|
3
|
-
require 'equivalent-xml'
|
4
|
-
require 'chef'
|
5
|
-
require 'chef/log'
|
6
|
-
|
7
|
-
require 'azure/connection'
|
8
|
-
require 'azure/rest'
|
9
|
-
require 'azure/host'
|
10
|
-
require 'azure/image'
|
11
|
-
require 'azure/deploy'
|
12
|
-
require 'azure/role'
|
13
|
-
require 'azure/disk'
|
14
|
-
|
15
|
-
require 'chef/knife/azure_server_list'
|
16
|
-
require 'chef/knife/azure_server_delete'
|
17
|
-
require 'chef/knife/azure_server_create'
|
18
|
-
require 'chef/knife/azure_server_describe'
|
19
|
-
require 'chef/knife/azure_image_list'
|
20
|
-
|
21
|
-
def tmpFile filename
|
22
|
-
tmpdir = 'tmp'
|
23
|
-
Dir::mkdir tmpdir unless FileTest::directory?(tmpdir)
|
24
|
-
tmpdir + '/' + filename
|
25
|
-
end
|
26
|
-
|
27
|
-
Chef::Log.init(tmpFile('debug.log'), 'daily')
|
28
|
-
Chef::Log.level=:debug
|
29
|
-
|
30
|
-
TEST_PARAMS = {
|
31
|
-
:azure_subscription_id => "YOUR_SUBSCRIPTION_ID_HERE"
|
32
|
-
:azure_pem_file => "AzureLinuxCert.pem",
|
33
|
-
:azure_host_name => "management-preview.core.windows-int.net",
|
34
|
-
:service_name => "hostedservices"
|
35
|
-
}
|
36
|
-
|
37
|
-
module AzureSpecHelper
|
38
|
-
def readFile filename
|
39
|
-
File.read(File.dirname(__FILE__) + "/unit/assets/#{filename}")
|
40
|
-
end
|
41
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?> <Deployment xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
|
2
|
-
<Name>unknown_yet</Name>
|
3
|
-
<DeploymentSlot>Production</DeploymentSlot>
|
4
|
-
<Label>dW5rbm93bl95ZXQ=</Label>
|
5
|
-
<RoleList>
|
6
|
-
<Role i:type="PersistentVMRole">
|
7
|
-
<RoleName>vm01</RoleName>
|
8
|
-
<OsVersion i:nil="true"/>
|
9
|
-
<RoleType>PersistentVMRole</RoleType>
|
10
|
-
<ConfigurationSets>
|
11
|
-
<ConfigurationSet i:type="LinuxProvisioningConfigurationSet">
|
12
|
-
<ConfigurationSetType>LinuxProvisioningConfiguration</ConfigurationSetType>
|
13
|
-
<HostName>myVm</HostName>
|
14
|
-
<UserName>jetstream</UserName>
|
15
|
-
<UserPassword>jetstream1!</UserPassword>
|
16
|
-
<DisableSshPasswordAuthentication>false</DisableSshPasswordAuthentication>
|
17
|
-
</ConfigurationSet>
|
18
|
-
<ConfigurationSet i:type="NetworkConfigurationSet">
|
19
|
-
<ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
|
20
|
-
<InputEndpoints>
|
21
|
-
<InputEndpoint>
|
22
|
-
<LocalPort>22</LocalPort>
|
23
|
-
<Name>SSH</Name>
|
24
|
-
<Protocol>TCP</Protocol>
|
25
|
-
</InputEndpoint>
|
26
|
-
</InputEndpoints>
|
27
|
-
</ConfigurationSet>
|
28
|
-
</ConfigurationSets>
|
29
|
-
<Label>dm0wMQ==</Label>
|
30
|
-
<OSVirtualHardDisk>
|
31
|
-
<MediaLink>http://auxpreview104imagestore.blob.core.azure-preview.com/os-disks/disk004Test</MediaLink>
|
32
|
-
<SourceImageName>SUSE__OpenSUSE64121-03192012-en-us-15GB</SourceImageName>
|
33
|
-
</OSVirtualHardDisk>
|
34
|
-
<RoleSize>ExtraSmall</RoleSize>
|
35
|
-
</Role>
|
36
|
-
</RoleList>
|
37
|
-
</Deployment>
|