Update in-VM links, bookmarks and help

This patch brings a better in-VM experience to attendees of the upstream
training, with fixed links and README and a default opening page of
firefox that points to the rendered version of the README.

The firefox places sqlite database is also removed and the
git-compatible text version is included so updating links would be
easier in the future.

Pip packaage list also updated (2019-02-13)

Change-Id: I0849df7a09d94d5d8118c87da9b2f1b2210b1c25
This commit is contained in:
Mark Korondi 2019-01-28 09:58:52 +01:00
parent 0deaad50da
commit a019f9dbee
7 changed files with 271 additions and 125 deletions

View File

@ -8,6 +8,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
### Changed
- Moved to bionic (18.04 LTS)
### Fixed
- Updated README with correct links and easier to follow instructions
- Fixed bookmarks in Firefox
### Added
- `import-virsh` script to convert ova archive to libvirt qemu/kvm format

View File

@ -1,7 +1,7 @@
OpenStack Upstream Institute Virtual Environment
================================================
<h2 align=center>bit.ly/<a href=http://bit.ly/vm-2018-berlin-v1>upstream-institute-vm</a></h2>
<h2 align=center>bit.ly/<a href=http://bit.ly/upstream-institute>upstream-institute</a></h2>
Instructions
------------
@ -38,7 +38,14 @@ Instructions
Getting around in the VM
------------------------
1. Explore the environment. The four main software you will be using from the
1. Run `stack.sh` to install devstack. It might take 10-20 minutes.
```bash
cd /opt/devstack
./stack.sh
```
2. Explore the environment. The four main software you will be using from the
desktop during the training are:
* **Firefox** web browser
* **Xfce4-terminal** terminal emulator
@ -46,37 +53,52 @@ Getting around in the VM
* **HexChat** IRC client
> please make sure that you replace the default user `ubuntu` upon first
> start before logging in to Freenode channels.
* **DevStack** is run from /opt/devstack
* **OpenStack** source code is placed to /opt/stack
2. When `stack.sh` finished running, you can open your [Horizon Dashboard]
(http://localhost/) or on VirtualBox using the **DevStack** bookmark
3. When `stack.sh` finished running, you can open your [Horizon Dashboard] or on VirtualBox using
the **DevStack** bookmark
* **Login**: `demo`
* **Password**: `openstack`
3. Select the `demo` project
[Horizon Dashboard]: http://localhost/dashboard
4. Start a VM. Use a tiny flavor. A CirrOS image is already set up by devstack
5. In the upper left corner, switch from `invisible_to_admin` to the `demo` project
5. Assign a floating IP
6. Start a VM (no volume needed, use the nano flavor). A CirrOS image is already set up by devstack
6. Enable SSH and ICMP ports on the security groups
7. Associate a floating IP. Initially, no Floating IP's allocated, you can add one with the `+`
button. An example would be `172.124.4.45`. It may stuck at the loading screen - in this case,
reload the dashboard.
[Horizon Dashboard]: http://localhost/
8. Enable SSH and ICMP ports on the default security group. Select "Network" -> "Security groups"
and "Manage rules" -> "Add rule"
Learn how to set up devstack
----------------------------
9. Try to connect with SSH to the floating IP.
These are the steps used to provision the vm:
* [install-base.sh](install-base.sh) - Git and dependent packages
* [install-devstack.sh](install-devstack.sh) - Devstack
* [install-gui.sh](install-gui.sh) - Xfce desktop environment, GUI applications
* [files/](files/) - configuration files copied into the vm
```bash
$ ssh root@<FLOATING_IP> -l cirros # password: gocubsgo
# Example: ssh root@172.24.4.45 -l cirros
```
10. DNS might not work in the cirros vm, in this case:
```bash
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf`
```
11. **IMPORTANT**: To keep your devstack environment across reboots, **do not reboot / halt the VM**,
but instead use "Save the machine state" from VirtualBox quit dialog.
Devstack installs using the [99-devstack.sh](elements/upstream-training/install.d/99-devstack.sh)
script.
Using latest devstack
---------------------
Please do not update your openstack installation during the training. It
requires bandwidth.
Please **do not** update your openstack installation during the training. It requires bandwidth.
If you want to keep on using the training VM for devstacking, you should disable
offline mode in [local.conf](files/opt/devstack/local.conf). Also reconsider git
@ -101,22 +123,33 @@ need this.
**Roll your own image**
The image can be built using [diskimage-builder][dib].
The image can be built using [diskimage-builder][dib] in a convenience vagrant machine from
[vm-creator-vm](./vm-creator-vm/) directory
1. Install prerequisites
1. Spin up vm-creator-vm:
```bash
cd vm-creator-vm/
vagrant up
vagrant ssh
cd git-repo # this directory contains the git repository of the upsteram-institute-vm
```
This will boot up a VirtualBox VM with CentOS 7
2. Install prerequisites in the VM
```bash
./prereqs.sh
```
This step needs root/sudo rights to install tools like qemu-img
2. Activate the python virtual environment
3. Activate the python virtual environment
```bash
. .env/bin/activate
```
3. Create disk image with provided convenience script
4. Create disk image with provided convenience script
```bash
./create-training-box.sh
```
4. The generated image can be found under `dist/`
5. The generated image can be found under `dist/`
[dib]: https://docs.openstack.org/diskimage-builder/latest/

View File

@ -6,6 +6,10 @@ cp -ar /etc/skel/.[!.]* /home/ubuntu
chown -R ubuntu:ubuntu /home/ubuntu
echo "ubuntu:openstack" | chpasswd
# Compile firefox places
(cd /home/ubuntu/.mozilla/firefox/profile && sqlite3 places.sqlite < places.sql)
chown -R ubuntu:ubuntu /home/ubuntu
# Enable shared folder access
adduser ubuntu vboxsf

View File

@ -0,0 +1,102 @@
PRAGMA foreign_keys=OFF;
PRAGMA page_size=32768;
PRAGMA journal_mode=WAL;
PRAGMA user_version=38;
BEGIN TRANSACTION;
CREATE TABLE moz_places ( id INTEGER PRIMARY KEY, url LONGVARCHAR, title LONGVARCHAR, rev_host LONGVARCHAR, visit_count INTEGER DEFAULT 0, hidden INTEGER DEFAULT 0 NOT NULL, typed INTEGER DEFAULT 0 NOT NULL, favicon_id INTEGER, frecency INTEGER DEFAULT -1 NOT NULL, last_visit_date INTEGER , guid TEXT, foreign_count INTEGER DEFAULT 0 NOT NULL, url_hash INTEGER DEFAULT 0 NOT NULL, description TEXT, preview_image_url TEXT);
INSERT INTO moz_places VALUES(2,'http://www.ubuntu.com/',NULL,'moc.utnubu.www.',0,0,0,NULL,-1,NULL,'nTfgGRo9Uesq',1,125508050257634,NULL,NULL);
INSERT INTO moz_places VALUES(3,'http://wiki.ubuntu.com/',NULL,'moc.utnubu.ikiw.',0,0,0,NULL,-1,NULL,'uULgJcd36ITo',1,125511519733047,NULL,NULL);
INSERT INTO moz_places VALUES(4,'https://answers.launchpad.net/ubuntu/+addquestion',NULL,'ten.daphcnual.srewsna.',0,0,0,NULL,-1,NULL,'5yeTocQzamO8',1,47359338650210,NULL,NULL);
INSERT INTO moz_places VALUES(5,'http://www.debian.org/',NULL,'gro.naibed.www.',0,0,0,NULL,-1,NULL,'s4Wx-371Qgni',1,125508165346216,NULL,NULL);
INSERT INTO moz_places VALUES(6,'https://one.ubuntu.com/',NULL,'moc.utnubu.eno.',0,0,0,NULL,-1,NULL,'6G5pOs0N02pU',1,47359195550374,NULL,NULL);
INSERT INTO moz_places VALUES(7,'https://www.mozilla.org/en-US/firefox/help/',NULL,'gro.allizom.www.',0,0,0,NULL,-1,NULL,'BzfdxOHoIDBg',1,47356364765622,NULL,NULL);
INSERT INTO moz_places VALUES(8,'https://www.mozilla.org/en-US/firefox/customize/',NULL,'gro.allizom.www.',0,0,0,NULL,-1,NULL,'VEJradmZ4POo',1,47357014640010,NULL,NULL);
INSERT INTO moz_places VALUES(9,'https://www.mozilla.org/en-US/contribute/',NULL,'gro.allizom.www.',0,0,0,NULL,-1,NULL,'HVNV0Vd2XGh_',1,47358034485371,NULL,NULL);
INSERT INTO moz_places VALUES(10,'https://www.mozilla.org/en-US/about/',NULL,'gro.allizom.www.',0,0,0,NULL,-1,NULL,'1AmdXdQ_qAx-',1,47358774953055,NULL,NULL);
INSERT INTO moz_places VALUES(12,'place:type=6&sort=14&maxResults=10',NULL,'.',0,0,0,NULL,0,NULL,'w6GszjQOvXeX',1,268505606444332,NULL,NULL);
INSERT INTO moz_places VALUES(17,'http://docs.openstack.org/upstream-training',NULL,'gro.kcatsnepo.scod.',0,0,1,NULL,-1,NULL,'BUZg9pAqNoFi',1,125508174841766,NULL,NULL);
INSERT INTO moz_places VALUES(18,'http://bit.ly/upstream-institute','OpenStack Docs: OpenStack Upstream Training','gro.kcatsnepo.scod.',0,0,0,NULL,-1,NULL,'4WyU1BiaJ_2Z',1,125508050713050,NULL,NULL);
INSERT INTO moz_places VALUES(21,'http://localhost/dashboard','Login - OpenStack Dashboard','4.05.861.291.',0,0,0,NULL,-1,NULL,'jQmTHM8YPPVl',1,125508424363628,NULL,NULL);
CREATE TABLE moz_historyvisits ( id INTEGER PRIMARY KEY, from_visit INTEGER, place_id INTEGER, visit_date INTEGER, visit_type INTEGER, session INTEGER);
CREATE TABLE moz_inputhistory ( place_id INTEGER NOT NULL, input LONGVARCHAR NOT NULL, use_count INTEGER, PRIMARY KEY (place_id, input));
INSERT INTO moz_inputhistory VALUES(17,'docs.op',1);
CREATE TABLE moz_hosts ( id INTEGER PRIMARY KEY, host TEXT NOT NULL UNIQUE, frecency INTEGER, typed INTEGER NOT NULL DEFAULT 0, prefix TEXT);
INSERT INTO moz_hosts VALUES(1,'mozilla.org',140,0,NULL);
INSERT INTO moz_hosts VALUES(2,'ubuntu.com',140,0,NULL);
INSERT INTO moz_hosts VALUES(3,'wiki.ubuntu.com',140,0,NULL);
INSERT INTO moz_hosts VALUES(4,'answers.launchpad.net',140,0,NULL);
INSERT INTO moz_hosts VALUES(5,'debian.org',140,0,NULL);
INSERT INTO moz_hosts VALUES(6,'one.ubuntu.com',140,0,NULL);
INSERT INTO moz_hosts VALUES(11,'docs.openstack.org',210,1,NULL);
INSERT INTO moz_hosts VALUES(12,'192.168.50.4',2000,1,NULL);
CREATE TABLE moz_bookmarks ( id INTEGER PRIMARY KEY, type INTEGER, fk INTEGER DEFAULT NULL, parent INTEGER, position INTEGER, title LONGVARCHAR, keyword_id INTEGER, folder_type TEXT, dateAdded INTEGER, lastModified INTEGER, guid TEXT, syncStatus INTEGER DEFAULT 0 NOT NULL, syncChangeCounter INTEGER DEFAULT 1 NOT NULL);
INSERT INTO moz_bookmarks VALUES(1,2,NULL,0,0,'',NULL,NULL,1476547376102000,1476547379306000,'root________',0,1);
INSERT INTO moz_bookmarks VALUES(2,2,NULL,1,0,'Bookmarks Menu',NULL,NULL,1476547376102000,1476547379306000,'menu________',0,1);
INSERT INTO moz_bookmarks VALUES(3,2,NULL,1,1,'Bookmarks Toolbar',NULL,NULL,1476547376102000,1476547434464000,'toolbar_____',0,1);
INSERT INTO moz_bookmarks VALUES(4,2,NULL,1,2,'Tags',NULL,NULL,1476547376102000,1476547376102000,'tags________',0,1);
INSERT INTO moz_bookmarks VALUES(5,2,NULL,1,3,'Other Bookmarks',NULL,NULL,1476547376102000,1476547377301000,'unfiled_____',0,1);
INSERT INTO moz_bookmarks VALUES(7,2,NULL,2,2,'Ubuntu and Free Software links',NULL,NULL,1476547377309000,1476547377321000,'zQ1vRiKCRLIu',0,1);
INSERT INTO moz_bookmarks VALUES(8,1,2,7,0,'Ubuntu',NULL,NULL,1476547377310000,1476547377311000,'AnSEmZAW7Xpk',0,1);
INSERT INTO moz_bookmarks VALUES(9,1,3,7,1,'Ubuntu Wiki (community-edited website)',NULL,NULL,1476547377312000,1476547377314000,'ErWiTzeEp2_A',0,1);
INSERT INTO moz_bookmarks VALUES(10,1,4,7,2,'Make a Support Request to the Ubuntu Community',NULL,NULL,1476547377316000,1476547377318000,'NjHXLeNbfodn',0,1);
INSERT INTO moz_bookmarks VALUES(11,1,5,7,3,'Debian (Ubuntu is based on Debian)',NULL,NULL,1476547377319000,1476547377321000,'_M0Wa_Iuoyrt',0,1);
INSERT INTO moz_bookmarks VALUES(12,1,6,7,4,'Ubuntu One - The personal cloud that brings your digital life together',NULL,NULL,1476547377321000,1476547377322000,'Rr484VNjn4Ur',0,1);
INSERT INTO moz_bookmarks VALUES(13,2,NULL,2,3,'Mozilla Firefox',NULL,NULL,1476547377323000,1476547377335000,'4Mw9jItoG1YT',0,1);
INSERT INTO moz_bookmarks VALUES(14,1,7,13,0,'Help and Tutorials',NULL,NULL,1476547377324000,1476547377325000,'IabGCL8kiSzW',0,1);
INSERT INTO moz_bookmarks VALUES(15,1,8,13,1,'Customize Firefox',NULL,NULL,1476547377326000,1476547377329000,'s-36i80cUJ7z',0,1);
INSERT INTO moz_bookmarks VALUES(16,1,9,13,2,'Get Involved',NULL,NULL,1476547377329000,1476547377330000,'P-geYnvpgCDt',0,1);
INSERT INTO moz_bookmarks VALUES(17,1,10,13,3,'About Us',NULL,NULL,1476547377335000,1476547377353000,'uIFVJxQLe9S_',0,1);
INSERT INTO moz_bookmarks VALUES(19,1,12,2,0,'Recent Tags',NULL,NULL,1476547379066000,1476547379287000,'-V-CBc1Qbd3i',0,1);
INSERT INTO moz_bookmarks VALUES(20,3,NULL,2,1,NULL,NULL,NULL,1476547379306000,1476547379306000,'GFR46ESoBhte',0,1);
INSERT INTO moz_bookmarks VALUES(21,1,18,3,0,'VM Help',NULL,NULL,1476547385490000,1509460379409000,'po3sJZ6D_giI',0,2);
INSERT INTO moz_bookmarks VALUES(22,1,17,3,1,'Training Home',NULL,NULL,1476547408090000,1509460412626000,'u9rHgHV8nC-z',0,2);
INSERT INTO moz_bookmarks VALUES(23,1,21,3,2,'DevStack',NULL,NULL,1476547434464000,1476547439123000,'IWIbdGpefevM',0,1);
INSERT INTO moz_bookmarks VALUES(24,2,NULL,1,4,'Mobile Bookmarks',NULL,NULL,1509460348567000,1509460348567000,'mobile______',0,1);
CREATE TABLE moz_keywords ( id INTEGER PRIMARY KEY AUTOINCREMENT, keyword TEXT UNIQUE, place_id INTEGER, post_data TEXT);
CREATE TABLE moz_favicons ( id INTEGER PRIMARY KEY, url LONGVARCHAR UNIQUE, data BLOB, mime_type VARCHAR(32), expiration LONG);
CREATE TABLE moz_anno_attributes ( id INTEGER PRIMARY KEY, name VARCHAR(32) UNIQUE NOT NULL);
INSERT INTO moz_anno_attributes VALUES(1,'bookmarkProperties/description');
INSERT INTO moz_anno_attributes VALUES(2,'Places/SmartBookmark');
INSERT INTO moz_anno_attributes VALUES(3,'mobile/bookmarksRoot');
CREATE TABLE moz_annos ( id INTEGER PRIMARY KEY, place_id INTEGER NOT NULL, anno_attribute_id INTEGER, mime_type VARCHAR(32) DEFAULT NULL, content LONGVARCHAR, flags INTEGER DEFAULT 0, expiration INTEGER DEFAULT 0, type INTEGER DEFAULT 0, dateAdded INTEGER DEFAULT 0, lastModified INTEGER DEFAULT 0);
CREATE TABLE moz_items_annos ( id INTEGER PRIMARY KEY, item_id INTEGER NOT NULL, anno_attribute_id INTEGER, mime_type VARCHAR(32) DEFAULT NULL, content LONGVARCHAR, flags INTEGER DEFAULT 0, expiration INTEGER DEFAULT 0, type INTEGER DEFAULT 0, dateAdded INTEGER DEFAULT 0, lastModified INTEGER DEFAULT 0);
INSERT INTO moz_items_annos VALUES(1,3,1,NULL,'Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar',0,4,3,1476547377304000,1476547377304000);
INSERT INTO moz_items_annos VALUES(2,7,1,NULL,'Information and resources about Ubuntu, Debian and Free Software in general',0,4,3,1476547377309000,1476547377309000);
INSERT INTO moz_items_annos VALUES(4,19,2,NULL,'RecentTags',0,4,3,1476547379286000,1476547379286000);
INSERT INTO moz_items_annos VALUES(5,24,3,NULL,'1',0,4,1,-1612644904,-1612644904);
ANALYZE sqlite_master;
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_guid_uniqueindex','5 1');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_itemlastmodifiedindex','5 5 5');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_parentindex','5 3 1');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_itemindex','5 5 5');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_url_hashindex','24 1');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_guid_uniqueindex','24 1');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_lastvisitdateindex','24 2');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_frecencyindex','24 3');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_visitcount','24 6');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_hostindex','24 2');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_faviconindex','24 24');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_dateindex','18 1');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_fromindex','18 2');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_placedateindex','18 2 1');
INSERT INTO sqlite_stat1 VALUES('moz_inputhistory','sqlite_autoindex_moz_inputhistory_1','1 1 1');
CREATE TABLE moz_bookmarks_deleted ( guid TEXT PRIMARY KEY, dateRemoved INTEGER NOT NULL DEFAULT 0);
DELETE FROM sqlite_sequence;
CREATE INDEX moz_places_faviconindex ON moz_places (favicon_id);
CREATE INDEX moz_places_hostindex ON moz_places (rev_host);
CREATE INDEX moz_places_visitcount ON moz_places (visit_count);
CREATE INDEX moz_places_frecencyindex ON moz_places (frecency);
CREATE INDEX moz_places_lastvisitdateindex ON moz_places (last_visit_date);
CREATE INDEX moz_historyvisits_placedateindex ON moz_historyvisits (place_id, visit_date);
CREATE INDEX moz_historyvisits_fromindex ON moz_historyvisits (from_visit);
CREATE INDEX moz_historyvisits_dateindex ON moz_historyvisits (visit_date);
CREATE INDEX moz_bookmarks_itemindex ON moz_bookmarks (fk, type);
CREATE INDEX moz_bookmarks_parentindex ON moz_bookmarks (parent, position);
CREATE INDEX moz_bookmarks_itemlastmodifiedindex ON moz_bookmarks (fk, lastModified);
CREATE INDEX moz_places_url_hashindex ON moz_places (url_hash);
CREATE UNIQUE INDEX moz_places_guid_uniqueindex ON moz_places (guid);
CREATE UNIQUE INDEX moz_bookmarks_guid_uniqueindex ON moz_bookmarks (guid);
CREATE UNIQUE INDEX moz_keywords_placepostdata_uniqueindex ON moz_keywords (place_id, post_data);
CREATE UNIQUE INDEX moz_annos_placeattributeindex ON moz_annos (place_id, anno_attribute_id);
CREATE UNIQUE INDEX moz_items_annos_itemattributeindex ON moz_items_annos (item_id, anno_attribute_id);
COMMIT;

View File

@ -39,7 +39,7 @@ user_pref("browser.search.region", "CH");
user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20160919213721");
user_pref("browser.slowStartup.averageTime", 2435);
user_pref("browser.slowStartup.samples", 2);
user_pref("browser.startup.homepage", "http://bit.ly/upstream-institute-vm");
user_pref("browser.startup.homepage", "http://bit.ly/upstream-institute");
user_pref("browser.startup.homepage_override.buildID", "20160919213721");
user_pref("browser.startup.homepage_override.mstone", "49.0");
user_pref("browser.tabs.remote.autostart.2", true);

View File

@ -1,27 +1,27 @@
Babel==2.6.0
Click==7.0
Django==1.11.16
Flask-RESTful==0.3.6
Django==1.11.20
Flask-RESTful==0.3.7
Flask==1.0.2
GitPython==2.1.11
Jinja2==2.10
Mako==1.0.7
MarkupSafe==1.1.0
Paste==3.0.4
PasteDeploy==1.5.2
Pint==0.8.1
PyJWT==1.6.4
PyMySQL==0.9.2
Paste==3.0.6
PasteDeploy==2.0.1
Pint==0.9
PyJWT==1.7.1
PyMySQL==0.9.3
PyNaCl==1.3.0
PyYAML==3.13
Pygments==2.3.0
Routes==2.4.1
SQLAlchemy==1.2.14
Sphinx==1.8.2
SQLAlchemy==1.2.17
Sphinx==1.8.4
Tempita==0.5.2
WSME==0.9.3
WebOb==1.8.4
WebTest==2.0.32
WebOb==1.8.5
WebTest==2.0.33
Werkzeug==0.14.1
XStatic-Angular-Bootstrap==2.2.0.0
XStatic-Angular-FileUpload==12.0.4.0
@ -52,47 +52,47 @@ XStatic-term.js==0.0.7.0
XStatic-tv4==1.2.7.0
XStatic==1.0.2
alabaster==0.7.12
alembic==1.0.3
amqp==2.3.2
aniso8601==4.0.1
alembic==1.0.7
amqp==2.4.1
aniso8601==4.1.0
appdirs==1.4.3
asn1crypto==0.24.0
astroid==1.6.5
atomicwrites==1.2.1
atomicwrites==1.3.0
attrs==18.2.0
automaton==1.15.0
backports.functools-lru-cache==1.5
bandit==1.5.1
bashate==0.6.0
bcrypt==3.1.4
beautifulsoup4==4.6.3
cachetools==3.0.0
castellan==1.0.0
certifi==2018.10.15
bcrypt==3.1.6
beautifulsoup4==4.7.1
cachetools==3.1.0
castellan==1.1.0
certifi==2018.11.29
cffi==1.11.5
chardet==3.0.4
cliff==2.14.0
cmd2==0.8.9
colorama==0.4.0
configparser==3.5.0
colorama==0.4.1
configparser==3.7.1
contextlib2==0.5.5
coverage==4.5.2
cryptography==2.4.2
cryptography==2.5
cursive==0.2.2
ddt==1.2.0
debtcollector==1.20.0
decorator==4.3.0
decorator==4.3.2
defusedxml==0.5.0
django-appconf==1.0.2
django-babel==0.6.2
django-compressor==2.2
django-debreach==1.5.2
django-pyscss==2.0.2
dnspython==1.15.0
dnspython==1.16.0
doc8==0.8.0
docutils==0.14
dogpile.cache==0.6.7
dulwich==0.19.9
dogpile.cache==0.6.8
dulwich==0.19.11
enum34==1.1.6
etcd3==0.8.1
etcd3gw==0.2.4
@ -113,14 +113,14 @@ futurist==1.8.0
gabbi==1.44.0
gitdb2==2.0.5
glance-store==0.27.0
google-api-python-client==1.7.4
google-api-python-client==1.7.8
google-auth-httplib2==0.0.3
google-auth==1.6.1
google-auth==1.6.2
greenlet==0.4.15
grpcio==1.16.1
grpcio==1.15.0
hacking==1.1.0
httplib2==0.12.0
idna==2.7
idna==2.8
imagesize==1.1.0
ipaddress==1.0.22
iso8601==0.1.12
@ -132,109 +132,111 @@ jsonpath-rw-ext==1.2.0
jsonpath-rw==1.4.0
jsonpointer==2.0
jsonschema==2.6.0
keystoneauth1==3.11.1
keystoneauth1==3.11.2
keystonemiddleware==5.3.0
kombu==4.2.1
kombu==4.3.0
lazy-object-proxy==1.3.1
libvirt-python==4.8.0
libvirt-python==5.0.0
linecache2==1.0.0
logutils==0.3.5
lxml==4.2.5
lxml==4.3.1
mccabe==0.2.1
microversion-parse==0.2.1
mock==2.0.0
monotonic==1.5
more-itertools==4.3.0
more-itertools==5.0.0
mox3==0.26.0
msgpack==0.5.6
msgpack==0.6.1
munch==2.3.2
mysqlclient==1.3.10
netaddr==0.7.19
netifaces==0.10.7
netifaces==0.10.9
networkx==2.2
neutron-lib==1.20.0
neutron-lib==1.23.0
nodeenv==1.3.3
numpy==1.15.4
numpy==1.16.1
oauth2client==4.1.3
oauthlib==2.1.0
openstackdocstheme==1.27.1
openstacksdk==0.19.0
os-api-ref==1.5.0
os-brick==2.6.1
oauthlib==3.0.1
openstackdocstheme==1.29.1
openstacksdk==0.24.0
os-api-ref==1.6.0
os-brick==2.7.0
os-client-config==1.31.2
os-service-types==1.3.0
os-ken==0.3.1
os-resource-classes==0.2.0
os-service-types==1.5.0
os-testr==1.0.0
os-traits==0.10.0
os-vif==1.11.1
os-win==4.1.1
os-vif==1.14.0
os-win==4.2.0
os-xenapi==0.3.4
osc-lib==1.11.1
osc-lib==1.12.0
osc-placement==1.3.0
oslo.cache==1.31.0
oslo.cache==1.32.0
oslo.concurrency==3.29.0
oslo.config==6.7.0
oslo.context==2.21.0
oslo.db==4.42.0
oslo.i18n==3.22.1
oslo.log==3.41.0
oslo.messaging==9.2.1
oslo.middleware==3.36.0
oslo.policy==1.41.0
oslo.privsep==1.30.1
oslo.config==6.8.0
oslo.context==2.22.0
oslo.db==4.43.0
oslo.i18n==3.23.0
oslo.log==3.42.2
oslo.messaging==9.4.0
oslo.middleware==3.37.0
oslo.policy==2.1.0
oslo.privsep==1.32.0
oslo.reports==1.29.1
oslo.rootwrap==5.15.0
oslo.rootwrap==5.15.1
oslo.serialization==2.28.1
oslo.service==1.33.0
oslo.service==1.36.0
oslo.upgradecheck==0.1.1
oslo.utils==3.37.1
oslo.utils==3.40.2
oslo.versionedobjects==1.34.1
oslo.vmware==2.32.1
oslotest==3.7.0
osprofiler==2.5.1
osprofiler==2.5.2
ovs==2.10.0
ovsdbapp==0.13.0
packaging==18.0
ovsdbapp==0.15.0
packaging==19.0
paramiko==2.4.2
passlib==1.7.1
pathlib2==2.3.2
pathlib2==2.3.3
pathlib==1.0.1
pbr==5.1.1
pbr==5.1.2
pecan==1.3.2
pep257==0.7.0
pep8==1.5.7
pluggy==0.8.0
pluggy==0.8.1
ply==3.11
prettytable==0.7.2
protobuf==3.6.1
psutil==5.4.8
psycopg2==2.7.6.1
psutil==5.5.0
psycopg2==2.7.7
py==1.7.0
pyOpenSSL==18.0.0
pyOpenSSL==19.0.0
pyScss==1.3.4
pyasn1-modules==0.2.2
pyasn1==0.4.4
pycadf==2.8.0
pyasn1-modules==0.2.4
pyasn1==0.4.5
pycadf==2.9.0
pycodestyle==2.4.0
pycparser==2.19
pydot==1.3.0
pydot==1.4.1
pyflakes==0.8.1
pyinotify==0.9.6
pylint==1.9.2
pymongo==3.7.2
pyparsing==2.3.0
pyparsing==2.3.1
pyperclip==1.7.0
pypowervm==1.1.18
pypowervm==1.1.20
pyroute2==0.5.3
pysaml2==4.6.3
pysaml2==4.6.5
pysendfile==2.0.1
pytest==4.0.0
python-barbicanclient==4.8.0
pytest==4.2.0
python-barbicanclient==4.8.1
python-cinderclient==4.1.0
python-dateutil==2.7.5
python-dateutil==2.8.0
python-designateclient==2.11.0
python-editor==1.0.3
python-glanceclient==2.14.0
python-ironicclient==2.5.0
python-editor==1.0.4
python-glanceclient==2.15.0
python-ironicclient==2.6.0
python-keystoneclient==3.18.0
python-memcached==1.59
python-mimeparse==1.6.0
@ -243,50 +245,51 @@ python-novaclient==11.1.0
python-openstackclient==3.17.0
python-subunit==1.3.0
python-swiftclient==3.6.0
pytz==2018.7
pytz==2018.9
pyudev==0.21.0
rcssmin==1.0.6
reno==2.11.2
repoze.lru==0.7
requests-mock==1.5.2
requests==2.20.1
requests==2.21.0
requestsexceptions==1.4.0
restructuredtext-lint==1.2.1
restructuredtext-lint==1.2.2
retrying==1.3.3
rfc3986==1.1.0
rfc3986==1.2.0
rjsmin==1.0.12
rsa==4.0
rtslib-fb==2.1.66
ryu==4.30
scandir==1.9.0
scrypt==0.8.6
scrypt==0.8.13
selenium==3.141.0
semantic-version==2.6.0
simplegeneric==0.8.1
simplejson==3.16.0
singledispatch==3.4.0.3
six==1.11.0
six==1.12.0
smmap2==2.0.5
snowballstemmer==1.2.1
sortedcontainers==2.1.0
soupsieve==1.7.3
sphinxcontrib-websupport==1.1.0
sqlalchemy-migrate==0.11.0
sqlalchemy-migrate==0.12.0
sqlparse==0.2.4
statsd==3.3.0
stestr==2.1.1
stestr==2.2.0
stevedore==1.30.0
subprocess32==3.5.3
suds-jurko==0.6
systemd-python==234
taskflow==3.3.1
tenacity==5.0.2
taskflow==3.4.0
tenacity==5.0.3
testrepository==0.0.20
testresources==2.0.1
testscenarios==0.5.0
testtools==2.3.0
tinyrpc==0.9.3
tinyrpc==0.9.4
toml==0.10.0
tooz==1.63.1
tooz==1.64.0
tox==3.5.3
traceback2==1.4.0
typing==3.6.6
@ -295,16 +298,16 @@ unicodecsv==0.14.1
unittest2==1.1.0
uritemplate==3.0.0
urllib3==1.24.1
vine==1.1.4
virtualenv==16.1.0
vine==1.2.0
virtualenv==16.4.0
voluptuous==0.11.5
waitress==1.1.0
waitress==1.2.1
warlock==1.3.0
wcwidth==0.1.7
weakrefmethod==1.0.3
websockify==0.8.0
wrapt==1.10.11
wrapt==1.11.1
wsgi-intercept==1.8.0
xattr==0.9.6
xvfbwrapper==0.2.9
zVMCloudConnector==1.3.0
zVMCloudConnector==1.4.0