knife-azure 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|