Esempio n. 1
0
 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
Esempio n. 2
0
    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)
Esempio n. 5
0
 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)