mirror of
https://github.com/OpenNebula/one.git
synced 2025-02-01 05:47:01 +03:00
Removed tests for oZones, now in the testing framework
This commit is contained in:
parent
32f5b81ffc
commit
fb3372e73c
@ -1 +0,0 @@
|
||||
oneadminA:opennebulaA
|
@ -1 +0,0 @@
|
||||
oneadminB:opennebulaB
|
@ -1,57 +0,0 @@
|
||||
HOST_MONITORING_INTERVAL = 600
|
||||
#HOST_PER_INTERVAL = 15
|
||||
|
||||
VM_POLLING_INTERVAL = 600
|
||||
#VM_PER_INTERVAL = 5
|
||||
|
||||
#VM_DIR=/srv/cloud/one/var
|
||||
|
||||
SCRIPTS_REMOTE_DIR=/var/tmp/one
|
||||
|
||||
PORT = 2666
|
||||
|
||||
DB = [ backend = "sqlite" ]
|
||||
|
||||
VNC_BASE_PORT = 5900
|
||||
|
||||
DEBUG_LEVEL = 3
|
||||
|
||||
NETWORK_SIZE = 254
|
||||
|
||||
MAC_PREFIX = "02:00"
|
||||
|
||||
DEFAULT_IMAGE_TYPE = "OS"
|
||||
DEFAULT_DEVICE_PREFIX = "hd"
|
||||
|
||||
|
||||
IM_MAD = [ name="im_dummy", executable="one_im_dummy"]
|
||||
|
||||
VM_MAD = [ name="vmm_dummy", executable="one_vmm_dummy", type="xml" ]
|
||||
|
||||
TM_MAD = [
|
||||
name = "tm_dummy",
|
||||
executable = "one_tm",
|
||||
arguments = "tm_dummy/tm_dummy.conf" ]
|
||||
|
||||
IMAGE_MAD = [
|
||||
executable = "one_image",
|
||||
arguments = "fs -t 15" ]
|
||||
|
||||
HM_MAD = [
|
||||
executable = "one_hm" ]
|
||||
|
||||
AUTH_MAD = [
|
||||
executable = "one_auth_mad",
|
||||
arguments = "--authn ssh,x509,ldap,server_cipher,server_x509"
|
||||
# arguments = "--authz quota --authn ssh,x509,ldap,server_cipher,server_x509"
|
||||
]
|
||||
|
||||
SESSION_EXPIRATION_TIME = 900
|
||||
|
||||
VM_RESTRICTED_ATTR = "CONTEXT/FILES"
|
||||
VM_RESTRICTED_ATTR = "DISK/SOURCE"
|
||||
VM_RESTRICTED_ATTR = "NIC/MAC"
|
||||
VM_RESTRICTED_ATTR = "NIC/VLAN_ID"
|
||||
VM_RESTRICTED_ATTR = "RANK"
|
||||
|
||||
IMAGE_RESTRICTED_ATTR = "SOURCE"
|
@ -1,57 +0,0 @@
|
||||
HOST_MONITORING_INTERVAL = 600
|
||||
#HOST_PER_INTERVAL = 15
|
||||
|
||||
VM_POLLING_INTERVAL = 600
|
||||
#VM_PER_INTERVAL = 5
|
||||
|
||||
#VM_DIR=/srv/cloud/one/var
|
||||
|
||||
SCRIPTS_REMOTE_DIR=/var/tmp/one
|
||||
|
||||
PORT = 2667
|
||||
|
||||
DB = [ backend = "sqlite" ]
|
||||
|
||||
VNC_BASE_PORT = 5900
|
||||
|
||||
DEBUG_LEVEL = 3
|
||||
|
||||
NETWORK_SIZE = 254
|
||||
|
||||
MAC_PREFIX = "02:00"
|
||||
|
||||
DEFAULT_IMAGE_TYPE = "OS"
|
||||
DEFAULT_DEVICE_PREFIX = "hd"
|
||||
|
||||
|
||||
IM_MAD = [ name="im_dummy", executable="one_im_dummy"]
|
||||
|
||||
VM_MAD = [ name="vmm_dummy", executable="one_vmm_dummy", type="xml" ]
|
||||
|
||||
TM_MAD = [
|
||||
name = "tm_dummy",
|
||||
executable = "one_tm",
|
||||
arguments = "tm_dummy/tm_dummy.conf" ]
|
||||
|
||||
IMAGE_MAD = [
|
||||
executable = "one_image",
|
||||
arguments = "fs -t 15" ]
|
||||
|
||||
HM_MAD = [
|
||||
executable = "one_hm" ]
|
||||
|
||||
AUTH_MAD = [
|
||||
executable = "one_auth_mad",
|
||||
arguments = "--authn ssh,x509,ldap,server_cipher,server_x509"
|
||||
# arguments = "--authz quota --authn ssh,x509,ldap,server_cipher,server_x509"
|
||||
]
|
||||
|
||||
SESSION_EXPIRATION_TIME = 900
|
||||
|
||||
VM_RESTRICTED_ATTR = "CONTEXT/FILES"
|
||||
VM_RESTRICTED_ATTR = "DISK/SOURCE"
|
||||
VM_RESTRICTED_ATTR = "NIC/MAC"
|
||||
VM_RESTRICTED_ATTR = "NIC/VLAN_ID"
|
||||
VM_RESTRICTED_ATTR = "RANK"
|
||||
|
||||
IMAGE_RESTRICTED_ATTR = "SOURCE"
|
@ -1,2 +0,0 @@
|
||||
ozonesadmin:ozonespassword
|
||||
|
@ -1,97 +0,0 @@
|
||||
{
|
||||
"VDC_POOL": {
|
||||
"VDC": [
|
||||
{
|
||||
"VDCADMINNAME": "vdcadminA",
|
||||
"VDCADMIN_ID": 2,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcA",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 1,
|
||||
"ID": 1,
|
||||
"GROUP_ID": 100
|
||||
},
|
||||
{
|
||||
"VDCADMINNAME": "vdcadminB",
|
||||
"VDCADMIN_ID": 2,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
1
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcB",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 2,
|
||||
"ID": 2,
|
||||
"GROUP_ID": 100
|
||||
},
|
||||
{
|
||||
"VDCADMINNAME": "vdcadminC",
|
||||
"VDCADMIN_ID": 3,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
3
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcC",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 1,
|
||||
"ID": 3,
|
||||
"GROUP_ID": 101
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
{
|
||||
"VDC_POOL": {
|
||||
"VDC": [
|
||||
{
|
||||
"VDCADMINNAME": "vdcadminA",
|
||||
"VDCADMIN_ID": 2,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcA",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 1,
|
||||
"ID": 1,
|
||||
"GROUP_ID": 100
|
||||
},
|
||||
{
|
||||
"VDCADMINNAME": "vdcadminB",
|
||||
"VDCADMIN_ID": 2,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
1
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcB",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 2,
|
||||
"ID": 2,
|
||||
"GROUP_ID": 100
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
{
|
||||
"ZONE_POOL": {
|
||||
"ZONE": [
|
||||
{
|
||||
"ENDPOINT": "http://localhost:2666/RPC2",
|
||||
"SUNSENDPOINT": "http://localhost:9869",
|
||||
"NAME": "zoneA",
|
||||
"SELFENDPOINT": null,
|
||||
"NUMBERVDCS": 0,
|
||||
"ID": 1,
|
||||
"ONENAME": "oneadminA",
|
||||
"ONEPASS": "e/TkohQckqFcmcWFwrirUapdiLkg87GHPafKnxkzznk="
|
||||
},
|
||||
{
|
||||
"ENDPOINT": "http://localhost:2667/RPC2",
|
||||
"SUNSENDPOINT": null,
|
||||
"NAME": "zoneB",
|
||||
"SELFENDPOINT": null,
|
||||
"NUMBERVDCS": 0,
|
||||
"ID": 2,
|
||||
"ONENAME": "oneadminB",
|
||||
"ONEPASS": "DrnuZMnmOFVeYTXTVwTgEmOGw2orTjaU/f1NyuNKlQY="
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"ZONE_POOL": {
|
||||
"ZONE": [
|
||||
{
|
||||
"ENDPOINT": "http://localhost:2666/RPC2",
|
||||
"SUNSENDPOINT": "http://localhost:9869",
|
||||
"NAME": "zoneA",
|
||||
"SELFENDPOINT": null,
|
||||
"NUMBERVDCS": 0,
|
||||
"ID": 1,
|
||||
"ONENAME": "oneadminA",
|
||||
"ONEPASS": "e/TkohQckqFcmcWFwrirUapdiLkg87GHPafKnxkzznk="
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
{
|
||||
"VDC": {
|
||||
"VDCADMINNAME": "vdcadminA",
|
||||
"VDCADMIN_ID": 2,
|
||||
"RESOURCES": {
|
||||
"HOSTS": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"NETWORKS": [
|
||||
0
|
||||
],
|
||||
"ACLS": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"DATASTORES": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"NAME": "vdcA",
|
||||
"CLUSTER_ID": 100,
|
||||
"ZONES_ID": 1,
|
||||
"ID": 1,
|
||||
"GROUP_ID": 100
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
"ZONE": {
|
||||
"ENDPOINT": "http://localhost:2666/RPC2",
|
||||
"SUNSENDPOINT": "http://localhost:9869",
|
||||
"NAME": "zoneA",
|
||||
"SELFENDPOINT": null,
|
||||
"ID": 1,
|
||||
"ONENAME": "oneadminA",
|
||||
"VDCS": [
|
||||
|
||||
],
|
||||
"ONEPASS": "e/TkohQckqFcmcWFwrirUapdiLkg87GHPafKnxkzznk="
|
||||
}
|
||||
}
|
@ -1,197 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
|
||||
require 'command_parser'
|
||||
require 'ozones_helper/zones_helper.rb'
|
||||
require 'ozones_helper/vdc_helper.rb'
|
||||
require 'pp'
|
||||
|
||||
TESTS_PATH = File.dirname(__FILE__)+"/../"
|
||||
|
||||
module OZones
|
||||
|
||||
describe "oZones server regarding VDCs" do
|
||||
before(:all) do
|
||||
@zonehelper =
|
||||
ZonesHelper.new("zone", "ozonesadmin","ozonespassword")
|
||||
@vdchelper =
|
||||
VDCHelper.new("vdc", "ozonesadmin","ozonespassword")
|
||||
|
||||
@clientA = OpenNebula::Client.new(File.read(
|
||||
TESTS_PATH+"etc/one_auth_a"),
|
||||
"http://localhost:2666/RPC2")
|
||||
|
||||
@clientB = OpenNebula::Client.new(File.read(
|
||||
TESTS_PATH+"etc/one_auth_b"),
|
||||
"http://localhost:2667/RPC2")
|
||||
|
||||
clusterA = OpenNebula::Cluster.new(OpenNebula::Cluster.build_xml,
|
||||
@clientA)
|
||||
clusterA.allocate("clusterA")
|
||||
|
||||
sleep 1
|
||||
|
||||
clusterB = OpenNebula::Cluster.new(OpenNebula::Cluster.build_xml,
|
||||
@clientB)
|
||||
clusterB.allocate("clusterB")
|
||||
|
||||
hostA=OpenNebula::Host.new(OpenNebula::Host.build_xml, @clientA)
|
||||
hostA.allocate("hostA1","im_dummy","vmm_dummy","dummy",100)
|
||||
hostA.allocate("hostA2","im_dummy","vmm_dummy","dummy",100)
|
||||
hostA.allocate("hostA3","im_dummy","vmm_dummy","dummy",100)
|
||||
hostA.allocate("hostA4","im_dummy","vmm_dummy","dummy",100)
|
||||
|
||||
hostB=OpenNebula::Host.new(OpenNebula::Host.build_xml, @clientB)
|
||||
hostB.allocate("hostB1","im_dummy","vmm_dummy","dummy",100)
|
||||
hostB.allocate("hostB2","im_dummy","vmm_dummy","dummy",100)
|
||||
hostB.allocate("hostB3","im_dummy","vmm_dummy","dummy",100)
|
||||
|
||||
ds_tmpl = File.new(TESTS_PATH+"templates/datastore.template").read
|
||||
dsA = OpenNebula::Datastore.new(OpenNebula::Datastore.build_xml, @clientA)
|
||||
dsA.allocate(ds_tmpl,100)
|
||||
|
||||
sleep 1
|
||||
|
||||
dsB = OpenNebula::Datastore.new(OpenNebula::Datastore.build_xml, @clientB)
|
||||
dsB.allocate(ds_tmpl,100)
|
||||
|
||||
sleep 1
|
||||
|
||||
vnet_tmpl = File.new(TESTS_PATH+"templates/vnet.template").read
|
||||
vnetA = OpenNebula::VirtualNetwork.new(OpenNebula::VirtualNetwork.build_xml, @clientA)
|
||||
rc = vnetA.allocate(vnet_tmpl,100)
|
||||
|
||||
sleep 1
|
||||
|
||||
vnetB = OpenNebula::VirtualNetwork.new(OpenNebula::VirtualNetwork.build_xml, @clientB)
|
||||
rc = vnetB.allocate(vnet_tmpl,100)
|
||||
|
||||
end
|
||||
|
||||
it "should be able to create a couple of zones" do
|
||||
rc = @zonehelper.create_resource(TESTS_PATH+"templates/zoneA.template")
|
||||
rc[0].should eql(0)
|
||||
|
||||
sleep 1
|
||||
|
||||
rc = @zonehelper.create_resource(TESTS_PATH+"templates/zoneB.template")
|
||||
rc[0].should eql(0)
|
||||
end
|
||||
|
||||
it "should be able to create one vdc with apropiate ONE resources" do
|
||||
rc = @vdchelper.create_resource(TESTS_PATH+"templates/vdcA.template",
|
||||
{:force => false})
|
||||
|
||||
upool = OpenNebula::UserPool.new(@clientA)
|
||||
upool.info
|
||||
userExist=false
|
||||
upool.each{|user|
|
||||
if user['NAME'] == "vdcadminA"
|
||||
userExist=true
|
||||
end
|
||||
}
|
||||
|
||||
userExist.should eql(true)
|
||||
|
||||
gpool = OpenNebula::GroupPool.new(@clientA)
|
||||
gpool.info
|
||||
groupExist=false
|
||||
gpool.each{|group|
|
||||
if group['NAME'] == "vdcA"
|
||||
groupExist=true
|
||||
end
|
||||
}
|
||||
|
||||
groupExist.should eql(true)
|
||||
|
||||
apool = OpenNebula::AclPool.new(@clientA)
|
||||
apool.info
|
||||
# TODO check ACLs
|
||||
|
||||
end
|
||||
|
||||
it "should be able to create a couple of VDCs" do
|
||||
@vdchelper.create_resource(TESTS_PATH+"templates/vdcB.template",
|
||||
{:force => true})[0].should eql(0)
|
||||
@vdchelper.create_resource(TESTS_PATH+"templates/vdcC.template",
|
||||
{:force => true})[0].should eql(0)
|
||||
end
|
||||
|
||||
it "should fail when creating an existing VDC" do
|
||||
@vdchelper.create_resource(TESTS_PATH+"templates/vdcA.template",
|
||||
{:force => true})[0].should eql(-1)
|
||||
end
|
||||
|
||||
it "should fail when creating a VDC upon a non existing zone" do
|
||||
@vdchelper.create_resource(TESTS_PATH+"templates/vdc.no.zone.template",
|
||||
{:force => false})[0].should eql(-1)
|
||||
end
|
||||
|
||||
it "should be able to retrieve the vdc pool" do
|
||||
vdcpool = @vdchelper.list_pool({:json => true})
|
||||
vdcpool[0].should eql(0)
|
||||
|
||||
got = vdcpool[1]
|
||||
expected = File.read(TESTS_PATH+"examples/pool/vdcpool0.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should be able to retrieve a particular vdc" do
|
||||
vdc = @vdchelper.show_resource(1, {:json => true})
|
||||
vdc[0].should eql(0)
|
||||
|
||||
got = vdc[1]
|
||||
expected = File.read(TESTS_PATH+"examples/vdc/vdc0.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should allow deleting a vdc" do
|
||||
rc = @vdchelper.delete_resource(3, {})
|
||||
rc[0].should eql(0)
|
||||
rc = @vdchelper.list_pool({:json => true})
|
||||
rc[0].should eql(0)
|
||||
|
||||
got = rc[1]
|
||||
expected = File.read(TESTS_PATH+"examples/pool/vdcpool_deleted.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should fail on non-existing vdc deletion" do
|
||||
rc = @vdchelper.delete_resource(7, {})
|
||||
rc[0].should eql(-1)
|
||||
end
|
||||
end
|
||||
end
|
@ -1,116 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
|
||||
require 'command_parser'
|
||||
require 'ozones_helper/zones_helper.rb'
|
||||
|
||||
TESTS_PATH = File.dirname(__FILE__)+"/../"
|
||||
|
||||
module OZones
|
||||
|
||||
describe "oZones server regarding zones" do
|
||||
before(:all) do
|
||||
@helper = ZonesHelper.new("zone", "ozonesadmin","ozonespassword")
|
||||
@badhelper = ZonesHelper.new("zone", "wronguser","wrongpassword")
|
||||
end
|
||||
|
||||
it "should be able to create a couple of zones" do
|
||||
rc = @helper.create_resource(TESTS_PATH+"templates/zoneA.template")
|
||||
rc[0].should eql(0)
|
||||
|
||||
sleep 1
|
||||
|
||||
rc = @helper.create_resource(TESTS_PATH+"templates/zoneB.template")
|
||||
rc[0].should eql(0)
|
||||
end
|
||||
|
||||
it "should fail with wrong zones templates" do
|
||||
templ_path = "templates/zone.wrong.credentials.template"
|
||||
rc = @helper.create_resource(TESTS_PATH+templ_path)
|
||||
rc[0].should eql(-1)
|
||||
|
||||
templ_path = "templates/zone.wrong.endpoint.template"
|
||||
rc = @helper.create_resource(TESTS_PATH+templ_path)
|
||||
rc[0].should eql(-1)
|
||||
end
|
||||
|
||||
it "should fail when creating zones with existing name" do
|
||||
rc = @helper.create_resource(TESTS_PATH+"templates/zoneA.template")
|
||||
rc[0].should eql(-1)
|
||||
end
|
||||
|
||||
it "should refuse unauthorized requests" do
|
||||
rc = @badhelper.create_resource(TESTS_PATH+
|
||||
"templates/zoneA.template")
|
||||
rc[0].should eql(-1)
|
||||
end
|
||||
|
||||
it "should be able to retrieve the zone pool" do
|
||||
zonepool = @helper.list_pool({:json => true})
|
||||
zonepool[0].should eql(0)
|
||||
|
||||
got = zonepool[1]
|
||||
expected = File.read(TESTS_PATH+"examples/pool/zonepool0.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should be able to retrieve a particular zone" do
|
||||
zone = @helper.show_resource(1,{:json => true})
|
||||
zone[0].should eql(0)
|
||||
|
||||
got = zone[1]
|
||||
expected = File.read(TESTS_PATH+"examples/zone/zone0.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should allow deleting a zone" do
|
||||
rc = @helper.delete_resource(2, {})
|
||||
rc[0].should eql(0)
|
||||
rc = @helper.list_pool({:json => true})
|
||||
rc[0].should eql(0)
|
||||
|
||||
got = rc[1]
|
||||
expected = File.read(TESTS_PATH+"examples/pool/zonepool_deleted.json")
|
||||
|
||||
got = JSON.parser.new(got, {:symbolize_names => true}).parse
|
||||
expected = JSON.parser.new(expected, {:symbolize_names => true}).parse
|
||||
got.should eql(expected)
|
||||
end
|
||||
|
||||
it "should fail on non existing zone deletion" do
|
||||
rc = @helper.delete_resource(7, {})
|
||||
rc[0].should eql(-1)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
@ -1,3 +0,0 @@
|
||||
NAME=datastore
|
||||
DS_MAD=fs
|
||||
TM_MAD=dummy
|
@ -1,8 +0,0 @@
|
||||
NAME=vdc
|
||||
VDCADMINNAME=vdcadminbogus
|
||||
VDCADMINPASS=vdcpassbogus
|
||||
ZONE_ID=18
|
||||
CLUSTER_ID=100
|
||||
HOSTS=1
|
||||
DATASTORES=100
|
||||
NETWORKS=0
|
@ -1,5 +0,0 @@
|
||||
NAME=vdcB
|
||||
VDCADMINNAME=vdcadminB
|
||||
VDCADMINPASS=vdcpassB
|
||||
ZONE_ID=3
|
||||
HOSTS=1
|
@ -1,8 +0,0 @@
|
||||
NAME=vdcA
|
||||
VDCADMINNAME=vdcadminA
|
||||
VDCADMINPASS=vdcpassA
|
||||
ZONE_ID=1
|
||||
CLUSTER_ID=100
|
||||
HOSTS=0,1,2
|
||||
DATASTORES=100
|
||||
NETWORKS=0
|
@ -1,8 +0,0 @@
|
||||
NAME=vdcB
|
||||
VDCADMINNAME=vdcadminB
|
||||
VDCADMINPASS=vdcpassB
|
||||
ZONE_ID=2
|
||||
CLUSTER_ID=100
|
||||
HOSTS=1
|
||||
DATASTORES=100
|
||||
NETWORKS=0
|
@ -1,8 +0,0 @@
|
||||
NAME=vdcC
|
||||
VDCADMINNAME=vdcadminC
|
||||
VDCADMINPASS=vdcpassC
|
||||
ZONE_ID=1
|
||||
CLUSTER_ID=100
|
||||
HOSTS=3
|
||||
DATASTORES=100
|
||||
NETWORKS=0
|
@ -1,5 +0,0 @@
|
||||
NAME = "Blue LAN"
|
||||
TYPE = FIXED
|
||||
BRIDGE = vbr1
|
||||
|
||||
LEASES = [IP=130.10.0.1]
|
@ -1,5 +0,0 @@
|
||||
NAME=zone
|
||||
ONENAME=badcredentials
|
||||
ONEPASS=badpassword
|
||||
ENDPOINT=http://localhost:2636/RPC2
|
||||
SUNSENDPOINT=http://localhost:9869
|
@ -1,5 +0,0 @@
|
||||
NAME=zone
|
||||
ONENAME=boguscreds
|
||||
ONEPASS=boguspass
|
||||
ENDPOINT=http://nonexistinghost:2633/RPC2
|
||||
SUNSENDPOINT=http://localhost:9869
|
@ -1,5 +0,0 @@
|
||||
NAME=zoneA
|
||||
ONENAME=oneadminA
|
||||
ONEPASS=opennebulaA
|
||||
ENDPOINT=http://localhost:2666/RPC2
|
||||
SUNSENDPOINT=http://localhost:9869
|
@ -1,4 +0,0 @@
|
||||
NAME=zoneB
|
||||
ONENAME=oneadminB
|
||||
ONEPASS=opennebulaB
|
||||
ENDPOINT=http://localhost:2667/RPC2
|
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Compile if not stated otherwise
|
||||
if [ "x$1" != "x-d" ]; then
|
||||
( cd ../../.. && scons )
|
||||
fi
|
||||
|
||||
# Env vars
|
||||
ONE_LOCATION_A=$PWD/oneA
|
||||
ONE_LOCATION_B=$PWD/oneB
|
||||
|
||||
|
||||
##
|
||||
# Install two fresh opennebulas for ozones testing
|
||||
##
|
||||
|
||||
(cd ../../../ && ./install.sh -d $ONE_LOCATION_A)
|
||||
(cd ../../../ && ./install.sh -d $ONE_LOCATION_B)
|
||||
|
||||
##
|
||||
# Configure both ONEs
|
||||
##
|
||||
cp etc/oned.conf.a $ONE_LOCATION_A/etc/oned.conf
|
||||
cp etc/oned.conf.b $ONE_LOCATION_B/etc/oned.conf
|
||||
|
||||
##
|
||||
# Execute RSpec Tests
|
||||
##
|
||||
for j in `ls ./spec/*_spec.rb` ; do
|
||||
# Launch them ONEs
|
||||
ONE_AUTH=$PWD/etc/one_auth_a ONE_LOCATION=$ONE_LOCATION_A oneA/bin/one start
|
||||
ONE_AUTH=$PWD/etc/one_auth_b ONE_LOCATION=$ONE_LOCATION_B oneB/bin/one start
|
||||
|
||||
# Launch oZones
|
||||
OZONES_AUTH=$PWD/etc/ozones_auth ONE_LOCATION=$ONE_LOCATION_A oneA/bin/ozones-server start
|
||||
|
||||
sleep 5
|
||||
ONE_LOCATION=$ONE_LOCATION_A rspec $j -f s
|
||||
CODE=$?
|
||||
|
||||
# if [ $CODE != 0 ] ; then
|
||||
# break
|
||||
# fi
|
||||
|
||||
ONE_LOCATION=$ONE_LOCATION_A oneA/bin/one stop
|
||||
ONE_LOCATION=$ONE_LOCATION_B oneB/bin/one stop
|
||||
ONE_LOCATION=$ONE_LOCATION_A oneA/bin/ozones-server stop
|
||||
sleep 5
|
||||
rm -rf oneA/var/*
|
||||
rm -rf oneB/var/*
|
||||
done
|
||||
|
||||
if (($CODE == 0)); then
|
||||
# Delete directories
|
||||
rm -rf oneA
|
||||
rm -rf oneB
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user