Bitworks Software, Ltd a86160b389 Cloudstack 10170: Fix resource tags security bugs and add account tags support (#2350)
This PR introduces several features and fixes some bugs:
- account tags feature
- fixed resource tags bugs which happened during tags search (found wrong entries because of mysql string to number translation - see #905, but this PR does more and fixes also resource access - vulnerability during list resource tags)
- some marvin improvements (speed, sanity)

Improved resource tags code:
1. Enhanced listTags security
2. Added support for account tags (account tags are required to support tags common for all users of an account)
3. Improved the tag management code (refactoring and cleanup)

Marvin:
1. Fixed Marvin wait timeout between async pools. To decrease polling interval and improve CI speed.
2. Fixed /tmp/ to /tmp in zone configuration files.
3. Fixed + to os.path.join in log class.
4. Fixed + to os.path.join in deployDataCenter class.
5. Fixed typos in tag tests.
6. Modified Tags base class delete method.

Deploy Datacenter script:
1. Improved deployDatacenter. Added option logdir to specify where script places results of evaluation.

ConfigurationManagerImpl:
1. Added logging to ConfigurationManagerImpl to log when vlan is not found. Added test stubs for tags. Found accidental exception during simulator running after CI.

tests_tags.py:
1. Fixed stale undeleted tags.
2. Changed region:India to scope:TestName.
2018-01-09 13:55:34 +05:30

135 lines
4.6 KiB
INI

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
# TODO: Change ACCESS_KEY/ SECRET_KEY to your credentials on the object store
{
"zones": [
{
"name": "DevCloud0",
"enabled" : "True",
"physical_networks": [
{
"broadcastdomainrange": "Zone",
"name": "test-network",
"traffictypes": [
{
"typ": "Guest"
},
{
"typ": "Management"
}
],
"providers": [
{
"broadcastdomainrange": "ZONE",
"name": "VirtualRouter"
},
{
"broadcastdomainrange": "Pod",
"name": "SecurityGroupProvider"
}
]
}
],
"dns2": "8.8.4.4",
"dns1": "8.8.8.8",
"securitygroupenabled": "true",
"localstorageenabled": "true",
"networktype": "Basic",
"pods": [
{
"endip": "192.168.56.220",
"name": "test00",
"startip": "192.168.56.200",
"guestIpRanges": [
{
"startip": "192.168.56.100",
"endip": "192.168.56.199",
"netmask": "255.255.255.0",
"gateway": "192.168.56.1"
}
],
"netmask": "255.255.255.0",
"clusters": [
{
"clustername": "test000",
"hypervisor": "XenServer",
"hosts": [
{
"username": "root",
"url": "http://192.168.56.10/",
"password": "password"
}
],
"clustertype": "CloudManaged"
}
],
"gateway": "192.168.56.1"
}
],
"internaldns1": "192.168.56.1",
"cacheStorages": [
{
"url": "nfs://192.168.56.10/opt/storage/secondary",
"details": {
"url": "nfs://192.168.56.10/opt/storage/secondary",
"__name__": "cachestorage"
},
"provider": "NFS"
}
],
"secondaryStorages": [
{
"details": {
"maxerrorretry": "0",
"name": "acstest-objectstore",
"usehttps": "true",
"accesskey": "ACCESS_KEY",
"bucket": "acstest.cloudstack.org",
"secretkey": "SECRET_KEY",
"endpoint": "s3.amazonaws.com",
"connectiontimeout": "300000",
"__name__": "objectstore"
},
"name": "acstest-objectstore",
"provider": "S3"
}
]
}
],
"logger":
{
"LogFolderPath": "/tmp"
},
"mgtSvr": [
{
"mgtSvrIp": "127.0.0.1",
"port": 8096
}
],
"dbSvr":
{
"dbSvr": "127.0.0.1",
"port": 3306,
"user": "cloud",
"passwd": "cloud",
"db": "cloud"
}
}