コード例 #1
0
ファイル: keystone.py プロジェクト: vsemp/hil
def keystone_projects(keystone_project_uuids):
    """Add each of the projects to the HIL database.

    keystone_project_uuids is the return value from the fixture of the same
    name.
    """
    with app.test_request_context():
        for name in ('admin', 'service'):
            model.db.session.add(model.Project(keystone_project_uuids[name]))
        model.db.session.commit()
コード例 #2
0
ファイル: api.py プロジェクト: razaaliraza/hil
def project_create(project):
    """Create a project.

    If the project already exists, a DuplicateError will be raised.
    """
    get_auth_backend().require_admin()
    absent_or_conflict(model.Project, project)
    project = model.Project(project)
    db.session.add(project)
    db.session.commit()
コード例 #3
0
ファイル: database.py プロジェクト: jethrosun/hil
def initial_db(request, dbauth):
    fresh_database(request)
    with app.app_context():
        alice = dbauth.User(label='alice', password='******', is_admin=True)
        bob = dbauth.User(label='bob', password='******', is_admin=False)

        db.session.add(alice)
        db.session.add(bob)

        runway = model.Project('runway')
        runway.users.append(alice)
        db.session.add(runway)
        db.session.commit()
コード例 #4
0
def new_nic(name):
    """Create a new nic named ``name``, and an associated Node + Obm.
    The new nic is attached to a new node each time, and the node is added to
    the project named 'anvil-nextgen' """

    from hil.ext.obm.mock import MockObm
    project = model.Project('anvil-nextgen')
    node = model.Node(
        label=str(uuid.uuid4()),
        obm=MockObm(type="http://schema.massopencloud.org/haas/v0/obm/mock",
                    host="ipmihost",
                    user="******",
                    password="******"))
    if node.project is None:
        project.nodes.append(node)
    return model.Nic(node, name, '00:11:22:33:44:55')
コード例 #5
0
ファイル: deferred.py プロジェクト: RobinKaul/hil
def new_nic(name):
    """Create a new nic named ``name``, and an associated Node + Obm.
    The new nic is attached to a new node each time, and the node is added to
    the project named 'anvil-nextgen-####' """

    unique_id = str(uuid.uuid4())
    project = model.Project('anvil-nextgen-' + unique_id)
    label = str(uuid.uuid4())
    node = model.Node(
        label=label,
        obmd_uri='http://obmd.example.com/nodes/' + label,
        obmd_admin_token='secret',
    )
    if node.project is None:
        project.nodes.append(node)
    return model.Nic(node, name, '00:11:22:33:44:55')
コード例 #6
0
ファイル: deferred.py プロジェクト: mikelyy/hil
def new_nic(name):
    """Create a new nic named ``name``, and an associated Node + Obm.
    The new nic is attached to a new node each time, and the node is added to
    the project named 'anvil-nextgen-####' """

    from hil.ext.obm.mock import MockObm
    unique_id = str(uuid.uuid4())
    project = model.Project('anvil-nextgen-' + unique_id)
    label = str(uuid.uuid4())
    node = model.Node(
        label=label,
        obm=MockObm(
            type="http://schema.massopencloud.org/haas/v0/obm/mock",
            host="ipmihost",
            user="******",
            password="******",
        ),
        obmd_uri='http://obmd.example.com/nodes/' + label,
        obmd_admin_token='secret',
    )
    if node.project is None:
        project.nodes.append(node)
    return model.Nic(node, name, '00:11:22:33:44:55')
コード例 #7
0
ファイル: brocade.py プロジェクト: RobinKaul/hil
 def network(self):
     """Create a network object (and associated project) to work with."""
     project = model.Project('anvil-nextgen')
     return model.Network(project, [project], True, '102', 'hammernet')
コード例 #8
0
ファイル: migrations.py プロジェクト: ChainZeeLi/hil
def create_bigint_db():
    """Create database objects used in 'after-PK-bigint.sql'"""
    from hil.ext.switches.n3000 import DellN3000
    from hil.ext.switches.dell import PowerConnect55xx
    from hil.ext.switches.brocade import Brocade
    from hil.ext.switches.nexus import Nexus
    from hil.ext.switches.mock import MockSwitch
    from hil.ext.obm.ipmi import Ipmi
    from hil.ext.obm.mock import MockObm
    from hil.ext.auth.database import User
    from hil.ext.auth import database as dbauth
    with app.app_context():
        db.session.add(
            DellN3000(label='sw-n3000',
                      hostname='host',
                      username='******',
                      password='******',
                      dummy_vlan='5',
                      type=DellN3000.api_name))
        dell1 = PowerConnect55xx(label='sw-dell',
                                 hostname='host',
                                 username='******',
                                 password='******',
                                 type=PowerConnect55xx.api_name)
        db.session.add(dell1)
        db.session.add(
            Nexus(label='sw-nexus',
                  hostname='host',
                  username='******',
                  password='******',
                  dummy_vlan='5',
                  type=Nexus.api_name))
        db.session.add(
            Brocade(label='sw-brocade',
                    hostname='host',
                    username='******',
                    password='******',
                    interface_type='4',
                    type=Brocade.api_name))
        db.session.add(
            MockSwitch(label='sw0',
                       hostname='host',
                       username='******',
                       password='******',
                       type=MockSwitch.api_name))
        proj = model.Project(label='runway')
        db.session.add(proj)
        headnode1 = model.Headnode(label='runway_headnode',
                                   project=proj,
                                   base_img='image1')
        db.session.add(headnode1)
        db.session.add(model.Hnic(label='hnic1', headnode=headnode1))
        ipmi = Ipmi(host='host', user='******', password='******')
        db.session.add(ipmi)
        mock_obm = MockObm(host='host', user='******', password='******')
        db.session.add(mock_obm)
        node1 = model.Node(label='node-1', obm=ipmi)
        db.session.add(node1)

        db.session.add(
            model.Metadata(label='meta',
                           value="it is a true value",
                           node=node1))
        network1 = model.Network(owner=None,
                                 access=[proj],
                                 allocated=False,
                                 network_id="networking network",
                                 label='hil wireless')
        db.session.add(network1)
        nic1 = model.Nic(node=node1, label='pxe', mac_addr='ff:ff:ff:ff:ff:fe')
        model.Port(label='A fine port', switch=dell1)
        db.session.add(nic1)
        db.session.add(
            model.NetworkAttachment(nic=nic1, network_id=1,
                                    channel='vlan/100'))
        db.session.add(
            model.NetworkingAction(type='modify_port',
                                   nic=nic1,
                                   new_network=network1,
                                   channel='vlan/100'))
        jim = User(label='jim', password='******', is_admin=True)
        db.session.add(jim)

        local.auth = dbauth.User.query.filter_by(label='jim').one()

        dbauth.user_add_project('jim', 'runway')

        db.session.commit()

        # Original password is "pass"
        db.session.query(User).get(1).hashed_password = \
            ('$6$rounds=656000$iTyrApYTUhMx4b4g$YcaMExV'
             'YtS0ut2yXWrT64OggFpE4lLg12QsAuyMA3YKX6Czth'
             'XeisA47dJZW9GwU2q2CTIVrsbpxAVT64Pih2/')
        db.session.commit()
コード例 #9
0
 def network(self):
     project = model.Project('anvil-nextgen')
     return model.Network(project, [project], True, '102', 'hammernet')