def create_release(self, api=False, **kwargs): version = str(randint(0, 100000000)) release_data = { 'name': u"release_name_" + version, 'version': version, 'description': u"release_desc" + version, 'operating_system': 'CensOS', 'roles': self.get_default_roles(), 'networks_metadata': self.get_default_networks_metadata(), 'attributes_metadata': self.get_default_attributes_metadata(), 'volumes_metadata': self.get_default_volumes_metadata() } if kwargs: release_data.update(kwargs) if api: resp = self.app.post(reverse('ReleaseCollectionHandler'), params=json.dumps(release_data), headers=self.default_headers) self.tester.assertEquals(resp.status, 201) release = json.loads(resp.body) self.releases.append(self.db.query(Release).get(release['id'])) else: release = Release() for field, value in release_data.iteritems(): setattr(release, field, value) self.db.add(release) self.db.commit() self.releases.append(release) return release
def test_release_environment_version(self): test_cases = ( ('2014.1', '5.0'), ('2014.1-5.0', '5.0'), ('2014.1.1-5.0.1', '5.0.1'), ('2014.1.1-5.0.1-X', '5.0.1'), ('2014.1.1-5.1', '5.1'), ) for version, enviroment_version in test_cases: self.assertEqual( Release(version=version).environment_version, enviroment_version)
def test_if_cluster_creates_correct_networks(self): release = Release() release.version = "1.1.1" release.name = u"release_name_" + str(release.version) release.description = u"release_desc" + str(release.version) release.operating_system = "CentOS" release.networks_metadata = self.env.get_default_networks_metadata() release.attributes_metadata = { "editable": {"keystone": {"admin_tenant": "admin"}}, "generated": {"mysql": {"root_password": ""}}, } release.vmware_attributes_metadata = {} self.db.add(release) self.db.commit() resp = self.app.post( reverse("ClusterCollectionHandler"), jsonutils.dumps({"name": "cluster-name", "release": release.id}), headers=self.default_headers, ) self.assertEqual(201, resp.status_code) nets = self.db.query(NetworkGroup).filter(not_(NetworkGroup.name == "fuelweb_admin")).all() obtained = [] for net in nets: obtained.append( { "release": net.release, "name": net.name, "vlan_id": net.vlan_start, "cidr": net.cidr, "gateway": net.gateway, } ) expected = [ { "release": release.id, "name": u"public", "vlan_id": None, "cidr": "172.16.0.0/24", "gateway": "172.16.0.1", }, {"release": release.id, "name": u"fixed", "vlan_id": None, "cidr": None, "gateway": None}, {"release": release.id, "name": u"storage", "vlan_id": 102, "cidr": "192.168.1.0/24", "gateway": None}, {"release": release.id, "name": u"management", "vlan_id": 101, "cidr": "192.168.0.0/24", "gateway": None}, ] self.assertItemsEqual(expected, obtained)
def test_if_cluster_creates_correct_networks(self): release = Release() release.version = "1.1.1" release.name = u"release_name_" + str(release.version) release.description = u"release_desc" + str(release.version) release.operating_system = "CentOS" release.networks_metadata = self.env.get_default_networks_metadata() release.attributes_metadata = { "editable": { "keystone": { "admin_tenant": "admin" } }, "generated": { "mysql": { "root_password": "" } } } self.db.add(release) self.db.commit() resp = self.app.post( reverse('ClusterCollectionHandler'), json.dumps({ 'name': 'cluster-name', 'release': release.id, }), headers=self.default_headers ) self.assertEquals(201, resp.status) nets = self.db.query(NetworkGroup).filter( not_(NetworkGroup.name == "fuelweb_admin") ).all() obtained = [] for net in nets: obtained.append({ 'release': net.release, 'name': net.name, 'vlan_id': net.vlan_start, 'cidr': net.cidr, 'gateway': net.gateway }) expected = [ { 'release': release.id, 'name': u'floating', 'vlan_id': None, 'cidr': '172.16.0.0/24', 'gateway': None }, { 'release': release.id, 'name': u'public', 'vlan_id': None, 'cidr': '172.16.0.0/24', 'gateway': '172.16.0.1' }, { 'release': release.id, 'name': u'fixed', 'vlan_id': 103, 'cidr': '10.0.0.0/16', 'gateway': '10.0.0.1' }, { 'release': release.id, 'name': u'storage', 'vlan_id': 102, 'cidr': '192.168.1.0/24', 'gateway': None }, { 'release': release.id, 'name': u'management', 'vlan_id': 101, 'cidr': '192.168.0.0/24', 'gateway': None } ] self.assertItemsEqual(expected, obtained)
def test_if_cluster_creates_correct_networks(self): release = Release() release.version = "1111-6.0" release.name = u"release_name_" + str(release.version) release.description = u"release_desc" + str(release.version) release.operating_system = consts.RELEASE_OS.ubuntu release.state = consts.RELEASE_STATES.available release.networks_metadata = self.env.get_default_networks_metadata() release.attributes_metadata = { "editable": { "keystone": { "admin_tenant": "admin" } }, "generated": { "mysql": { "root_password": "" } } } self.db.add(release) self.db.commit() resp = self.app.post( reverse('ClusterCollectionHandler'), jsonutils.dumps({ 'name': 'cluster-name', 'release': release.id, 'net_provider': consts.CLUSTER_NET_PROVIDERS.nova_network, }), headers=self.default_headers ) self.assertEqual(201, resp.status_code) nets = self.db.query(NetworkGroup).filter( not_(NetworkGroup.name == "fuelweb_admin") ).all() obtained = [] for net in nets: obtained.append({ 'release': net.release, 'name': net.name, 'vlan_id': net.vlan_start, 'cidr': net.cidr, 'gateway': net.gateway }) expected = [ { 'release': release.id, 'name': u'public', 'vlan_id': None, 'cidr': '172.16.0.0/24', 'gateway': '172.16.0.1' }, { 'release': release.id, 'name': u'fixed', 'vlan_id': None, 'cidr': None, 'gateway': None }, { 'release': release.id, 'name': u'storage', 'vlan_id': 102, 'cidr': '192.168.1.0/24', 'gateway': None }, { 'release': release.id, 'name': u'management', 'vlan_id': 101, 'cidr': '192.168.0.0/24', 'gateway': None } ] self.assertItemsEqual(expected, obtained)
def test_if_cluster_creates_correct_networks(self): release = Release() release.version = "1111-6.0" release.name = u"release_name_" + str(release.version) release.description = u"release_desc" + str(release.version) release.operating_system = consts.RELEASE_OS.ubuntu release.state = consts.RELEASE_STATES.available release.networks_metadata = self.env.get_default_networks_metadata() release.attributes_metadata = { "editable": { "keystone": { "admin_tenant": "admin" } }, "generated": { "mysql": { "root_password": "" } } } release.vmware_attributes_metadata = {} self.db.add(release) self.db.commit() resp = self.app.post( reverse('ClusterCollectionHandler'), jsonutils.dumps({ 'name': 'cluster-name', 'release': release.id, 'net_provider': consts.CLUSTER_NET_PROVIDERS.nova_network, }), headers=self.default_headers ) self.assertEqual(201, resp.status_code) nets = self.db.query(NetworkGroup).filter( not_(NetworkGroup.name == "fuelweb_admin") ).all() obtained = [] for net in nets: obtained.append({ 'release': net.release, 'name': net.name, 'vlan_id': net.vlan_start, 'cidr': net.cidr, 'gateway': net.gateway }) expected = [ { 'release': release.id, 'name': u'public', 'vlan_id': None, 'cidr': '172.16.0.0/24', 'gateway': '172.16.0.1' }, { 'release': release.id, 'name': u'fixed', 'vlan_id': None, 'cidr': None, 'gateway': None }, { 'release': release.id, 'name': u'storage', 'vlan_id': 102, 'cidr': '192.168.1.0/24', 'gateway': None }, { 'release': release.id, 'name': u'management', 'vlan_id': 101, 'cidr': '192.168.0.0/24', 'gateway': None } ] self.assertItemsEqual(expected, obtained)