aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--app/discover/fetchers/db/db_access.py25
-rw-r--r--app/install/db/constants.json4
-rw-r--r--app/install/db/supported_environments.json12
-rw-r--r--app/test/fetch/test_fetch.py2
-rw-r--r--docs/release/admin-guide.pdf1
-rw-r--r--docs/release/install-guide.pdf1
-rw-r--r--docs/release/quick-start.pdf1
8 files changed, 39 insertions, 11 deletions
diff --git a/README.md b/README.md
index 7ac9cc4..7a230a6 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ Provide CNA and TNA with support for:
<br>
5. baseline plugin framework for analytics of this type of data/details
-### Proto (mockups, updated Jul 15th)
+### Proto (pre-release, updated Aug 15th)
calipso.io
### Contacts
@@ -48,4 +48,4 @@ Calipso uses Sensu framework for Monitoring. It automatically deploys and config
After collecting the data, from processes and workers provisioned by the cloud management systems, calipso dynamically checks for health and availability, as a baseline for SLA monitoring.
Calipso allows networking administrators to operate, plan for maintenance or troubleshooting and provides an easy to use hierarchical representation of all the virtual networking components.
Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems)
-and others. \ No newline at end of file
+and others.
diff --git a/app/discover/fetchers/db/db_access.py b/app/discover/fetchers/db/db_access.py
index 0174c4b..49fdb5e 100644
--- a/app/discover/fetchers/db/db_access.py
+++ b/app/discover/fetchers/db/db_access.py
@@ -11,6 +11,7 @@ import mysql.connector
from discover.configuration import Configuration
from discover.fetcher import Fetcher
+from discover.scan_error import ScanError
from utils.string_utils import jsonify
@@ -27,15 +28,7 @@ class DbAccess(Fetcher):
self.config = Configuration()
self.conf = self.config.get("mysql")
self.connect_to_db()
- cursor = DbAccess.conn.cursor(dictionary=True)
- try:
- # check if DB schema 'neutron' exists
- cursor.execute("SELECT COUNT(*) FROM neutron.agents")
- for row in cursor:
- pass
- self.neutron_db = "neutron"
- except (AttributeError, mysql.connector.errors.ProgrammingError):
- self.neutron_db = "ml2_neutron"
+ self.neutron_db = self.get_neutron_db_name()
def db_connect(self, _host, _port, _user, _pwd, _database):
if DbAccess.conn:
@@ -54,6 +47,20 @@ class DbAccess(Fetcher):
return
DbAccess.query_count_per_con = 0
+ @staticmethod
+ def get_neutron_db_name():
+ # check if DB schema 'neutron' exists
+ cursor = DbAccess.conn.cursor(dictionary=True)
+ cursor.execute('SHOW DATABASES')
+ matches = [row.get('Database', '') for row in cursor
+ if 'neutron' in row.get('Database', '')]
+ if not matches:
+ raise ScanError('Unable to find Neutron schema in OpenStack DB')
+ if len(matches) > 1:
+ raise ScanError('Found multiple possible names for Neutron schema '
+ 'in OpenStack DB')
+ return matches[0]
+
def connect_to_db(self, force=False):
if DbAccess.conn:
if not force:
diff --git a/app/install/db/constants.json b/app/install/db/constants.json
index 4aba092..e456873 100644
--- a/app/install/db/constants.json
+++ b/app/install/db/constants.json
@@ -494,6 +494,10 @@
{
"value" : "Mirantis-10.0",
"label" : "Mirantis-10.0"
+ },
+ {
+ "value" : "Apex-Euphrates",
+ "label" : "Apex-Euphrates"
}
],
"name" : "distributions"
diff --git a/app/install/db/supported_environments.json b/app/install/db/supported_environments.json
index 987d96d..606f5ef 100644
--- a/app/install/db/supported_environments.json
+++ b/app/install/db/supported_environments.json
@@ -11,6 +11,18 @@
"listening" : true
}
},
+{
+ "environment" : {
+ "distribution" : "Apex-Euphrates",
+ "type_drivers" : "vxlan",
+ "mechanism_drivers" : "OVS"
+ },
+ "features" : {
+ "scanning" : true,
+ "monitoring" : true,
+ "listening" : true
+ }
+},
{
"environment" : {
"distribution" : "Stratoscale-v2.1.6",
diff --git a/app/test/fetch/test_fetch.py b/app/test/fetch/test_fetch.py
index 55d7d4c..d40a52c 100644
--- a/app/test/fetch/test_fetch.py
+++ b/app/test/fetch/test_fetch.py
@@ -59,6 +59,8 @@ class TestFetch(unittest.TestCase):
self.inv = InventoryMgr()
self.inv.set_collections(self.inventory_collection)
DbAccess.conn = MagicMock()
+ DbAccess.get_neutron_db_name = MagicMock()
+ DbAccess.get_neutron_db_name.return_value = "neutron"
SshConnection.connect = MagicMock()
SshConnection.check_definitions = MagicMock()
SshConn.check_definitions = MagicMock()
diff --git a/docs/release/admin-guide.pdf b/docs/release/admin-guide.pdf
new file mode 100644
index 0000000..9f306f6
--- /dev/null
+++ b/docs/release/admin-guide.pdf
@@ -0,0 +1 @@
+this will hold administrator guide on how to use the calipso app
diff --git a/docs/release/install-guide.pdf b/docs/release/install-guide.pdf
new file mode 100644
index 0000000..827a24f
--- /dev/null
+++ b/docs/release/install-guide.pdf
@@ -0,0 +1 @@
+this will hold the detailed calipso install process and procedure
diff --git a/docs/release/quick-start.pdf b/docs/release/quick-start.pdf
new file mode 100644
index 0000000..4a0c2d9
--- /dev/null
+++ b/docs/release/quick-start.pdf
@@ -0,0 +1 @@
+this will hold quick start guide for running and using calipso app