Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
9074abd
first commit
dlenwell Sep 4, 2013
9cae239
Mostly got this file passing flake8 tests
dlenwell Sep 4, 2013
d2f49b2
added lic to all python files and split up code into more than one file
dlenwell Sep 5, 2013
115b50b
more refinement
dlenwell Sep 16, 2013
803525e
added some files
dlenwell Sep 19, 2013
febd1e0
lots of new stuff .. start of tempest config generator
dlenwell Sep 20, 2013
b43d7f9
added tempest config output method
dlenwell Sep 20, 2013
d396b47
fixed naming convention
dlenwell Sep 20, 2013
515921b
renamed files
dlenwell Sep 20, 2013
67dae89
deleted file with - in name
dlenwell Sep 20, 2013
0379f00
moved some stuff around
dlenwell Sep 20, 2013
f90cac1
cli cloud stuff
dlenwell Oct 4, 2013
407c887
added additional schema and migration
dlenwell Oct 4, 2013
da79a2b
squash
dlenwell Oct 4, 2013
12cdfe4
squash
dlenwell Oct 4, 2013
4f05ef2
added feilds and manually fixed migration scripts
dlenwell Oct 4, 2013
45d4af5
modified command structure
dlenwell Oct 4, 2013
2d77935
fixed whitespace
dlenwell Oct 4, 2013
a6bb256
added email verified column and some notes
dlenwell Oct 4, 2013
333ec41
unused file
dlenwell Oct 4, 2013
23f85b7
added init overrides to Test and TestStatus
dlenwell Oct 4, 2013
6ba7799
added code for status, tests, cancel and start
dlenwell Oct 4, 2013
d767a1a
whitespace
dlenwell Oct 4, 2013
5485d0c
reworded print statement
dlenwell Oct 4, 2013
c83e9bd
rewording
dlenwell Oct 4, 2013
67bb1ab
added logic for a failed state..
dlenwell Oct 4, 2013
df0d637
completed tempest auto config thing
dlenwell Oct 9, 2013
3814fab
fixed whitespace
dlenwell Oct 9, 2013
c9ee29a
added notes
dlenwell Oct 9, 2013
5f4e59b
removed client.py created client dir
dlenwell Oct 9, 2013
785316c
whitespace
dlenwell Oct 9, 2013
66a53ef
ignored my debug code
dlenwell Oct 9, 2013
74118c8
switched to new models
dlenwell Oct 21, 2013
c51f3d4
whitespace
dlenwell Oct 21, 2013
6f3f488
fixed typos
dlenwell Oct 21, 2013
2ba4ffa
added notes
dlenwell Oct 21, 2013
861d68f
added stuff
dlenwell Oct 21, 2013
ed4287a
added testr wrapping code
dlenwell Oct 22, 2013
72c6df4
removed whitespace and added init and run functions
dlenwell Oct 22, 2013
79da96a
added testrepository ui wrapper
dlenwell Oct 22, 2013
a1533f6
fixed comment
dlenwell Oct 22, 2013
b082044
moved scratch out of readme
dlenwell Oct 23, 2013
637bfb2
cleaned out excess print
dlenwell Oct 23, 2013
95a2240
made the ui abstract class actually work
dlenwell Oct 23, 2013
2724b6a
cleanup
dlenwell Oct 23, 2013
7150bac
added config comand to cli
dlenwell Oct 23, 2013
613fdab
renamed init to init_repo and made it more robust
dlenwell Oct 23, 2013
5d6d3c4
added write_config function to test class
dlenwell Oct 23, 2013
8c2020f
whitespace
dlenwell Oct 24, 2013
fe9bb09
renamed file
dlenwell Oct 25, 2013
a8f0441
added correct config write stuff
dlenwell Oct 25, 2013
63e6baa
modified testr config
dlenwell Oct 25, 2013
de40315
arg
dlenwell Oct 25, 2013
69eb2fc
local test run complete
dlenwell Oct 30, 2013
6de1896
fixed create profile to use new model layout
dlenwell Oct 30, 2013
9a2f0bd
added su feild to user
dlenwell Oct 30, 2013
d5129df
slight edit to the index content.
dlenwell Oct 30, 2013
b951714
redid alembic migration from scratch.. its was getting too messy
dlenwell Oct 30, 2013
99c16ca
added label to cloud and removed constructor
dlenwell Oct 30, 2013
c14d644
updated index view to show dashboard when the user is logged in
dlenwell Oct 30, 2013
44c04a5
added for later use
dlenwell Oct 30, 2013
74867df
initical superfiscial update of templates and css
dlenwell Oct 30, 2013
5d2b97e
spruced up top nav
dlenwell Oct 30, 2013
79cba4a
split profile view and profile edit into seperate routes and templates
dlenwell Oct 30, 2013
e54959b
clean up
dlenwell Oct 30, 2013
3abe39e
profile tweaks
dlenwell Oct 30, 2013
46492ef
add cloud button
dlenwell Oct 30, 2013
a098d55
enabled tooltips in main dashboard
dlenwell Oct 30, 2013
c1dca98
override for admin base template so that it looks like the rest of th…
dlenwell Oct 30, 2013
94d118a
ui cleanup
dlenwell Oct 30, 2013
5a86753
admin css compatibiltiy
dlenwell Oct 30, 2013
8dd5379
whitespace
dlenwell Oct 30, 2013
aa5bfcc
added contact name to the vendor table
dlenwell Oct 31, 2013
f4557fc
fixed margins on home page
dlenwell Oct 31, 2013
cc969e8
added contact name to the vendor table
dlenwell Oct 31, 2013
a1ec2eb
vendor csv importer
dlenwell Oct 31, 2013
2a11572
git ignore
dlenwell Oct 31, 2013
a315aad
added favicon.. cuz why not
dlenwell Nov 2, 2013
0d605cb
fixed vendor import
dlenwell Nov 2, 2013
839ed86
whitespace
dlenwell Nov 2, 2013
980d2e5
added try
dlenwell Nov 2, 2013
d0ea12b
better vendor layout
dlenwell Nov 2, 2013
8a86aa8
added user relationship to cloud ..
dlenwell Nov 2, 2013
dfe5645
okay .. really this time.. added relationship
dlenwell Nov 2, 2013
fce289c
added alemic migration for relationship
dlenwell Nov 2, 2013
f833014
whitespace
dlenwell Nov 2, 2013
ff1d273
Add edit and delete cloud added to web ui
dlenwell Nov 2, 2013
4dc09ef
added confirm dialog for delete cloud
dlenwell Nov 2, 2013
d34893a
added base worker class
dlenwell Nov 2, 2013
f3c26d9
more refined testerworker stucture
dlenwell Nov 2, 2013
b702785
moved jquery and bootstrap locally rather than cdn
dlenwell Nov 2, 2013
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,17 @@ nosetests.xml

*.db
*.DS_Store
manifest.yml
manifest.yml
refstack/localmodels.py

refstack/common/debug.py

refstack/client/.testrepository/format

refstack/client/.testrepository/next-stream

refstack/client/.smbdeleteAAA06c94.4

scripts/members_sponsors_20131030.csv

refstack/client/.smbdeleteAAA9ef44.4
23 changes: 23 additions & 0 deletions NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@


sudo apt-get install libxml2-dev libxslt-dev lib32z1-dev python2.7-dev libssl-dev

pip install ftp://xmlsoft.org/libxml2/python/libxml2-python-2.6.9.tar.gz

#checkout temptest
git clone [email protected]:openstack/tempest.git

cd tempest
python setup.py install


http://ci.openstack.org/stackforge.html
http://ci.openstack.org/devstack-gate.html
https://github.com/openstack-infra/config/
http://pythonhosted.org/WSME/index.html






Empty file modified Procfile
100644 → 100755
Empty file.
4 changes: 0 additions & 4 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,3 @@ Vendor-facing API for registration of interop-compliance endpoints and credentia
Running at http://refstack.org
See (living) documentation at https://etherpad.openstack.org/RefStackBlueprint

http://ci.openstack.org/stackforge.html
http://ci.openstack.org/devstack-gate.html
https://github.com/openstack-infra/config/
http://pythonhosted.org/WSME/index.html
Empty file modified alembic.ini
100644 → 100755
Empty file.
Empty file modified alembic/README
100644 → 100755
Empty file.
24 changes: 20 additions & 4 deletions alembic/env.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
#!/usr/bin/env python
#
# Copyright (c) 2013 Piston Cloud Computing, Inc.
# All Rights Reserved.
#
# 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.
from __future__ import with_statement

import os
Expand All @@ -8,13 +24,13 @@
from alembic import context
from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig
from refstack.web import app
from refstack import app

# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
cur_db_uri = config.get_section_option('alembic', 'sqlalchemy.url')
my_db_uri = app.config.get('SQLALCHEMY_DATABASE_URI', cur_db_uri)
my_db_uri = 'sqlite:////tmp/refstack.db' # app.config.get('SQLALCHEMY_DATABASE_URI', cur_db_uri)
config.set_section_option('alembic', 'sqlalchemy.url', my_db_uri)

# Interpret the config file for Python logging.
Expand All @@ -26,8 +42,8 @@
# from myapp import mymodel
# target_metadata = mymodel.Base.metadata
# target_metadata = None
from refstack.web import db
target_metadata = db.metadata
from refstack.models import *
target_metadata = Base.metadata


def run_migrations_offline():
Expand Down
Empty file modified alembic/script.py.mako
100644 → 100755
Empty file.
26 changes: 26 additions & 0 deletions alembic/versions/1d6540fc6279_added_vendor_contact.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
"""added vendor contact name

Revision ID: 1d6540fc6279
Revises: 3790aed42558
Create Date: 2013-10-31 01:30:12.489026

"""

# revision identifiers, used by Alembic.
revision = '1d6540fc6279'
down_revision = '3790aed42558'

from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.add_column('vendor', sa.Column('contact_name', sa.String(length=120), nullable=True))
### end Alembic commands ###


def downgrade():
### commands auto generated by Alembic - please adjust! ###
op.drop_column('vendor', 'contact_name')
### end Alembic commands ###
33 changes: 0 additions & 33 deletions alembic/versions/2e26571834ea_first_step.py

This file was deleted.

88 changes: 88 additions & 0 deletions alembic/versions/3790aed42558_from_scratch.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
"""from scratch

Revision ID: 3790aed42558
Revises: None
Create Date: 2013-10-30 03:52:16.922050

"""

# revision identifiers, used by Alembic.
revision = '3790aed42558'
down_revision = None

from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.create_table('cloud',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('label', sa.String(length=60), nullable=True),
sa.Column('endpoint', sa.String(length=120), nullable=True),
sa.Column('test_user', sa.String(length=80), nullable=True),
sa.Column('test_key', sa.String(length=80), nullable=True),
sa.Column('admin_endpoint', sa.String(length=120), nullable=True),
sa.Column('admin_user', sa.String(length=80), nullable=True),
sa.Column('admin_key', sa.String(length=80), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('endpoint')
)
op.create_table('vendor',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('vendor_name', sa.String(length=80), nullable=True),
sa.Column('contact_email', sa.String(length=120), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('contact_email'),
sa.UniqueConstraint('vendor_name')
)
op.create_table('user',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('vendor_id', sa.Integer(), nullable=True),
sa.Column('name', sa.String(length=60), nullable=True),
sa.Column('email', sa.String(length=200), nullable=True),
sa.Column('email_verified', sa.Boolean(), nullable=True),
sa.Column('openid', sa.String(length=200), nullable=True),
sa.Column('authorized', sa.Boolean(), nullable=True),
sa.Column('su', sa.Boolean(), nullable=True),
sa.ForeignKeyConstraint(['vendor_id'], ['vendor.id'], ),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('email'),
sa.UniqueConstraint('openid')
)
op.create_table('test',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('cloud_id', sa.Integer(), nullable=True),
sa.Column('config', sa.String(length=4096), nullable=True),
sa.ForeignKeyConstraint(['cloud_id'], ['cloud.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('test_results',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('test_id', sa.Integer(), nullable=True),
sa.Column('timestamp', sa.DateTime(), nullable=True),
sa.Column('blob', sa.Binary(), nullable=True),
sa.ForeignKeyConstraint(['test_id'], ['test.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('test_status',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('test_id', sa.Integer(), nullable=True),
sa.Column('message', sa.String(length=1024), nullable=True),
sa.Column('finished', sa.Boolean(), nullable=True),
sa.Column('timestamp', sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(['test_id'], ['test.id'], ),
sa.PrimaryKeyConstraint('id')
)
### end Alembic commands ###


def downgrade():
### commands auto generated by Alembic - please adjust! ###
op.drop_table('test_status')
op.drop_table('test_results')
op.drop_table('test')
op.drop_table('user')
op.drop_table('vendor')
op.drop_table('cloud')
### end Alembic commands ###
52 changes: 0 additions & 52 deletions alembic/versions/40d4c6d389ec_adding_cloud_and_use.py

This file was deleted.

26 changes: 26 additions & 0 deletions alembic/versions/4288db006e5_added_user_cloud_rel.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
"""added user - cloud relationship

Revision ID: 4288db006e5
Revises: 1d6540fc6279
Create Date: 2013-10-31 21:00:27.473833

"""

# revision identifiers, used by Alembic.
revision = '4288db006e5'
down_revision = '1d6540fc6279'

from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###


def downgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###
26 changes: 26 additions & 0 deletions alembic/versions/4f6f77184d45_really_added_user_cl.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
"""really added user - cloud relationship

Revision ID: 4f6f77184d45
Revises: 4288db006e5
Create Date: 2013-10-31 21:09:16.469966

"""

# revision identifiers, used by Alembic.
revision = '4f6f77184d45'
down_revision = '4288db006e5'

from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.add_column('cloud', sa.Column('user_id', sa.Integer(), nullable=True))
### end Alembic commands ###


def downgrade():
### commands auto generated by Alembic - please adjust! ###
op.drop_column('cloud', 'user_id')
### end Alembic commands ###
16 changes: 16 additions & 0 deletions fabfile.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
#!/usr/bin/env python
#
# Copyright (c) 2013 Piston Cloud Computing, Inc.
# All Rights Reserved.
#
# 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.
from fabric.api import env, roles, run, cd

# Define sets of servers as roles
Expand Down
19 changes: 18 additions & 1 deletion refstack.wsgi
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
#!/usr/bin/env python
#
# Copyright (c) 2013 Piston Cloud Computing, Inc.
# All Rights Reserved.
#
# 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.

import os
# os.environ['YOURAPPLICATION_CONFIG'] = '/var/www/yourapplication/application.cfg'
from refstack import web
from refstack.app import app
Loading