aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--INFO.yaml8
-rw-r--r--LICENSE2
-rw-r--r--README.md2
-rw-r--r--app/install/calipso-installer.py40
-rw-r--r--docs/conf.py1
-rw-r--r--docs/conf.yaml3
-rw-r--r--docs/index.rst2
-rw-r--r--docs/release/install-guide.pdfbin151053 -> 152041 bytes
-rw-r--r--docs/release/install-guide.rst189
-rw-r--r--docs/release/monitoring-guide.pdfbin259887 -> 260593 bytes
-rw-r--r--docs/release/monitoring-guide.rst16
-rw-r--r--docs/requirements.txt2
-rw-r--r--tox.ini6
14 files changed, 161 insertions, 112 deletions
diff --git a/.gitignore b/.gitignore
index 0b8f528..9dd102d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@
mongo*.conf
mongo_access.log
.DS_Store
+.tox
+docs/_build/*
diff --git a/INFO.yaml b/INFO.yaml
index a7d3de4..84b06c8 100644
--- a/INFO.yaml
+++ b/INFO.yaml
@@ -4,6 +4,10 @@ project_creation_date: 'March 21st 2017'
project_category: ''
lifecycle_state: ''
project_lead: &opnfv_calipso_ptl
+ name: 'Koren Lev'
+ email: 'korenlev@gmail.com'
+ company: 'gmail.com'
+ id: 'KorenLev'
primary_contact: *opnfv_calipso_ptl
issue_tracking:
type: 'jira'
@@ -33,10 +37,6 @@ committers:
email: 'fbrockne@cisco.com'
company: 'cisco.com'
id: 'brockners'
- - name: 'Koren Lev'
- email: 'korenlev@gmail.com'
- company: 'gmail.com'
- id: 'KorenLev'
- name: 'Yaron Yogev'
email: 'yaronyogev@gmail.com'
company: 'gmail.com'
diff --git a/LICENSE b/LICENSE
index 9455af2..7f9c19c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems)
+Copyright (c) 2018 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems)
and others
Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/README.md b/README.md
index 9336f86..7d39caa 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems)
+Copyright (c) 2018 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems)
and others
Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/app/install/calipso-installer.py b/app/install/calipso-installer.py
index ccb9cdc..008ff38 100644
--- a/app/install/calipso-installer.py
+++ b/app/install/calipso-installer.py
@@ -1,6 +1,6 @@
###############################################################################
-# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) #
-# and others #
+# Copyright (c) 2017-2018 Koren Lev (Cisco Systems), #
+# Yaron Yogev (Cisco Systems), Ilia Abashin (Cisco Systems) and others #
# #
# All rights reserved. This program and the accompanying materials #
# are made available under the terms of the Apache License, Version 2.0 #
@@ -20,17 +20,16 @@ import socket
# by default, we want to use the docker0 interface ip address for inter-contatiner communications,
# if hostname argument will not be provided as argument for the calipso-installer
import os
+import errno
dockerip = os.popen('ip addr show docker0 | grep "\<inet\>" | awk \'{ print $2 }\' | awk -F "/" \'{ print $1 }\'')
local_hostname = dockerip.read().replace("\n", "")
C_MONGO_CONFIG = "/local_dir/calipso_mongo_access.conf"
-H_MONGO_CONFIG = "/home/calipso/calipso_mongo_access.conf"
+H_MONGO_CONFIG = "calipso_mongo_access.conf"
PYTHONPATH = "/home/scan/calipso_prod/app"
C_LDAP_CONFIG = "/local_dir/ldap.conf"
-H_LDAP_CONFIG = "/home/calipso/ldap.conf"
+H_LDAP_CONFIG = "ldap.conf"
-
-calipso_volume = {'/home/calipso': {'bind': '/local_dir', 'mode': 'rw'}}
RESTART_POLICY = {"Name": "always"}
# environment variables definitions
@@ -289,7 +288,7 @@ def start_ui(host, dbuser, dbpassword, webport, dbport):
root_url = "ROOT_URL=http://{}:{}".format(host, str(webport))
mongo_url = "MONGO_URL=mongodb://{}:{}@{}:{}/calipso" \
.format(dbuser, dbpassword, host, str(dbport))
- ports = {'3000/tcp': webport}
+ ports = {'4000/tcp': webport}
DockerClient.containers.run(image_name,
detach=True,
name=name,
@@ -393,6 +392,12 @@ parser.add_argument("--dbpassword",
type=str,
default="calipso_default",
required=False)
+parser.add_argument("--home",
+ help="Home directory for configuration files "
+ "(default=/home/calipso)",
+ type=str,
+ default="/home/calipso",
+ required=False)
parser.add_argument("--command",
help="'start-all' or 'stop-all' the Calipso containers "
"(default=None)",
@@ -405,7 +410,9 @@ parser.add_argument("--copy",
type=str,
default=None,
required=False)
+
args = parser.parse_args()
+calipso_volume = {args.home: {'bind': '/local_dir', 'mode': 'rw'}}
print("\nrunning installer against host:", args.hostname, "\n")
@@ -432,11 +439,16 @@ while container != "all" and container not in container_names:
if container == "q":
exit()
+# create local directory on host, raise error if it doesn't exists
+try:
+ os.makedirs(os.path.join(args.home, 'log/calipso'))
+except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
# starting the containers per arguments:
if action == "start":
- # building /home/calipso/calipso_mongo_access.conf and
- # /home/calipso/ldap.conf files, per the arguments:
+ # building mongo.conf and ldap.conf files, per the arguments:
calipso_mongo_access_text = \
"server {}\n" \
"user {}\n" \
@@ -459,13 +471,15 @@ if action == "start":
"group_member_attribute member"
ldap_text = ldap_text.format(LDAP_PWD_ATTRIBUTE, args.hostname,
LDAP_USER_PWD_ATTRIBUTE)
- print("creating default", H_MONGO_CONFIG, "file...\n")
- calipso_mongo_access_file = open(H_MONGO_CONFIG, "w+")
+ mongo_file_path = os.path.join(args.home, H_MONGO_CONFIG)
+ print("creating default", mongo_file_path, "file...\n")
+ calipso_mongo_access_file = open(mongo_file_path, "w+")
time.sleep(1)
calipso_mongo_access_file.write(calipso_mongo_access_text)
calipso_mongo_access_file.close()
- print("creating default", H_LDAP_CONFIG, "file...\n")
- ldap_file = open(H_LDAP_CONFIG, "w+")
+ ldap_file_path = os.path.join(args.home, H_LDAP_CONFIG)
+ print("creating default", ldap_file_path, "file...\n")
+ ldap_file = open(ldap_file_path, "w+")
time.sleep(1)
ldap_file.write(ldap_text)
ldap_file.close()
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..86ab8c5
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1 @@
+from docs_conf.conf import * # flake8: noqa
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644
index 0000000..2a91f61
--- /dev/null
+++ b/docs/conf.yaml
@@ -0,0 +1,3 @@
+---
+project_cfg: opnfv
+project: calipso
diff --git a/docs/index.rst b/docs/index.rst
index 7e960d8..53018dc 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,3 +1,5 @@
+.. _calipso-release-guide:
+
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV and others.
diff --git a/docs/release/install-guide.pdf b/docs/release/install-guide.pdf
index 1bc24f5..c6476b8 100644
--- a/docs/release/install-guide.pdf
+++ b/docs/release/install-guide.pdf
Binary files differ
diff --git a/docs/release/install-guide.rst b/docs/release/install-guide.rst
index 28bba01..be0d3da 100644
--- a/docs/release/install-guide.rst
+++ b/docs/release/install-guide.rst
@@ -1,12 +1,6 @@
| Calipso.io
| Installation Guide
-Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Apache License, Version 2.0
-which accompanies this distribution, and is available at
-http://www.apache.org/licenses/LICENSE-2.0
-
|image0|
Project “Calipso” tries to illuminate complex virtual networking with
@@ -46,10 +40,10 @@ Calipso.io Installation Guide 1
3.2 Fuel scenarios 7
-1. Pre Requisites
+Pre Requisites
===============
-1.1 Pre Requisites for Calipso “all in one” application
+Pre Requisites for Calipso “all in one” application
----------------------------------------------------
Calipso’s main application is written with Python3.5 for Linux
@@ -108,11 +102,13 @@ Calipso.io Installation Guide 1
**sudo pip3 install docker**
-4. Git : https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
+ **sudo pip3 install inflect (>0.2.5)**
+
+1. Git : https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
-5. Docker : https://docs.docker.com/engine/installation/
+2. Docker : https://docs.docker.com/engine/installation/
-1.2 Pre Requisites for Calipso UI application
+Pre Requisites for Calipso UI application
------------------------------------------
Calipso UI is developed and maintained using Meteor Framework
@@ -122,10 +118,10 @@ Calipso.io Installation Guide 1
required steps for installing the Calipso UI with several options
are listed below.
-2. Installation Options
+Installation Options
====================
-2.1 Monolithic App
+Monolithic App
---------------
For development use, one might require Calipso to be installed as a
@@ -143,16 +139,16 @@ Calipso.io Installation Guide 1
**git clone https://git.opnfv.org/calipso/**
-4. Move to the default install directory: **cd calipso**
+1. Move to the default install directory: **cd calipso**
-5. Setup Python3 environment for calipso:
+2. Setup Python3 environment for calipso:
**export PYTHONPATH=/home/calipso/calipso/app**
-6. Follow quick-start guide on how to use calipso modules for monolithic
+1. Follow quick-start guide on how to use calipso modules for monolithic
scenario, and run each module manually.
-2.2 Micro Services App, single line install
+Micro Services App, single line install
---------------------------------------
For most users, this will be the fastest and more reliable install
@@ -163,10 +159,12 @@ Calipso.io Installation Guide 1
1. Follow steps 1- 5 per section 2.1 above.
-2. Install the following python3 libraries using pip3 : docker, pymongo
+2. Install Docker : https://docs.docker.com/engine/installation/
+
+3. Install the following python3 libraries using pip3 : docker, pymongo
-3. Although Calipso installer can download all needed containers, if
- they does not exist locally already, we recommend doing a manual
+4. Although Calipso installer can download all needed containers, if
+ they doesn’t exist locally already, we recommend doing a manual
download of all 7 containers, providing better control and logging:
**sudo docker login** # use your DockerHub username and password to
@@ -181,8 +179,8 @@ Calipso.io Installation Guide 1
**sudo docker pull korenlev/calipso:api** # api container for
application integration
- **sudo docker pull korenlev/calipso:sensu** # sensu server container
- for monitoring
+ **sudo docker pull korenlev/calipso:monitor** # sensu server
+ container for monitoring
**sudo docker pull korenlev/calipso:mongo** # calipso mongo DB
container
@@ -191,7 +189,7 @@ Calipso.io Installation Guide 1
**sudo docker pull korenlev/calipso:ldap** # calipso ldap container
-4. Check that all containers were downloaded and registered
+1. Check that all containers were downloaded and registered
successfully:
**sudo docker images**
@@ -206,7 +204,7 @@ Calipso.io Installation Guide 1
**korenlev/calipso scan 1ee60c4e61d5 6 hours ago 1.1GB**
- **korenlev/calipso sensu a8a17168197a 6 hours ago 1.65GB**
+ **korenlev/calipso monitor a8a17168197a 6 hours ago 1.65GB**
**korenlev/calipso mongo 17f2d62f4445 22 hours ago 1.31GB**
@@ -214,7 +212,7 @@ Calipso.io Installation Guide 1
**korenlev/calipso ldap 316bc94b25ad 2 months ago 269MB**
-5. Run the calipso installer using single line arguments:
+1. Run the calipso installer using single line arguments:
**python3 calipso/app/install/calipso-installer.py--command
start-all --copy q**
@@ -222,7 +220,7 @@ Calipso.io Installation Guide 1
This should launch all calipso modules in sequence along with all
needed configuration files placed in /home/calipso.
-2.3 Micro Services App, customized single line install
+Micro Services App, customized single line install
--------------------------------------------------
Calipso app includes the following directory in its default
@@ -276,28 +274,38 @@ Calipso.io Installation Guide 1
an optional argument, default ‘calipso’ (calipso-mongo container’s
default) is deployed if not used.
-7. **--dbpassword **
-
- Allows to enter a password to be used for mongoDB access on the host,
- an optional argument, default ‘calipso\_default’ (calipso-mongo
- container’s default) is deployed if not used.
-
-8. **--apiport **
- Allows to enter a TCP port to be used for the Calipso API (default=8000)
-
-9. **--uchiwaport **
- Allows to enter a TCP port to be used for the Sensu UI (default=3000)
-
-10. **--rabbitmport **
- Allows to enter a TCP port to be used for the RabbitMQ mgmt (default=15672)
-
-11. **--sensuport **
- Allows to enter a TCP port to be used for the Sensu API (default=4567)
-
-12. **--rabbitport **
- Allows to enter a TCP port to be used for the RabbitMQ BUS (default=5671)
-
-2.4 Micro Services App, customized interactive install
+7. **--dbpassword**
+
+ Allows to enter a password to be used for mongoDB access on the
+ host, an optional argument, default ‘calipso\_default’
+ (calipso-mongo container’s default) is deployed if not used.
+
+1. **--apiport**
+
+ Allows to enter a TCP port to be used for the Calipso API
+ (default=8000)
+
+1. **--uchiwaport**
+
+ Allows to enter a TCP port to be used for the Sensu UI
+ (default=3000)
+
+1. **--rabbitmport**
+
+ Allows to enter a TCP port to be used for the RabbitMQ mgmt
+ (default=15672)
+
+1. **--sensuport**
+
+ Allows to enter a TCP port to be used for the Sensu API
+ (default=4567)
+
+1. **--rabbitport**
+
+ Allows to enter a TCP port to be used for the RabbitMQ BUS
+ (default=5671)
+
+Micro Services App, customized interactive install
--------------------------------------------------
Calipso’s application containers can be initiated and stopped
@@ -308,7 +316,7 @@ Calipso.io Installation Guide 1
1. **Action? (stop, start, or 'q' to quit):**
2. **Container? (all, calipso-mongo, calipso-scan, calipso-listen,
- calipso-ldap, calipso-api, calipso-sensu, calipso-ui or 'q' to
+ calipso-ldap, calipso-api, calipso-monitor, calipso-ui or 'q' to
quit):**
3. **create initial calipso DB ? (copy json files from 'db' folder to
@@ -320,7 +328,7 @@ automatically creates and place 2 configuration files under
those are mandatory configuration files used by calipso containers to
interact with each other!
-2.5 OPNFV Options
+OPNFV Options
=============
Although calipso is designed for any VIM and for enterprise use-cases
@@ -330,35 +338,58 @@ with Apex for OPNFV.
APEX scenarios
---------------
-When using apex to install OPNFV, the Triple-O based OpenStack is
-installed automatically and calipso installation can be initiated
-automatically after apex completes the VIM installation process for
-a certain scenario.
-
-In this case setup_apex_environment.py can be used for creating a new environment automatically into mongoDB and UI of Calipso,
-instead of using the calipso UI to do that as typical user would do, then detailed scanning can start immediately,
-the following options are available for setup_apex_environment.py:
- -m [MONGO_CONFIG], --mongo_config [MONGO_CONFIG]
- name of config file with MongoDB server access details
- (Default: /local_dir/calipso_mongo_access.conf)
- -d [CONFIG_DIR], --config_dir [CONFIG_DIR]
- path to directory with config data (Default:
- /home/calipso/apex_setup_files)
- -i [INSTALL_DB_DIR], --install_db_dir [INSTALL_DB_DIR]
- path to directory with DB data (Default:
- /home/calipso/Calipso/app/install/db)
- -a [APEX], --apex [APEX]
- name of environment to Apex host
- -e [ENV], --env [ENV]
- name of environment to create(Default: Apex-Euphrates)
- -l [LOGLEVEL], --loglevel [LOGLEVEL]
- logging level (default: "INFO")
- -f [LOGFILE], --logfile [LOGFILE]
- log file (default:
- "/home/calipso/log/apex_environment_fetch.log")
- -g [GIT], --git [GIT]
- URL to clone Git repository (default:
- https://git.opnfv.org/calipso)
+ When using apex to install OPNFV, the Triple-O based OpenStack is
+ installed automatically and calipso installation can be initiated
+ automatically after apex completes the VIM installation process for
+ a certain scenario.
+
+ In this case setup\_apex\_environment.py can be used for creating a
+ new environment automatically into mongoDB and UI of Calipso
+ (instead of using the calipso UI to do that as typical user would
+ do), then detailed scanning can start immediately, the following
+ options are available for setup\_apex\_environment.py:
+
+ **-m [MONGO\_CONFIG], --mongo\_config [MONGO\_CONFIG]**
+
+ **name of config file with MongoDB server access details**
+
+ **(Default: /local\_dir/calipso\_mongo\_access.conf)**
+
+ **-d [CONFIG\_DIR], --config\_dir [CONFIG\_DIR]**
+
+ **path to directory with config data (Default:**
+
+ **/home/calipso/apex\_setup\_files)**
+
+ **-i [INSTALL\_DB\_DIR], --install\_db\_dir [INSTALL\_DB\_DIR]**
+
+ **path to directory with DB data (Default:**
+
+ **/home/calipso/Calipso/app/install/db)**
+
+ **-a [APEX], --apex [APEX]**
+
+ **name of environment to Apex host**
+
+ **-e [ENV], --env [ENV]**
+
+ **name of environment to create(Default: Apex-Euphrates)**
+
+ **-l [LOGLEVEL], --loglevel [LOGLEVEL]**
+
+ **logging level (default: "INFO")**
+
+ **-f [LOGFILE], --logfile [LOGFILE]**
+
+ **log file (default:**
+
+ **"/home/calipso/log/apex\_environment\_fetch.log")**
+
+ **-g [GIT], --git [GIT]**
+
+ **URL to clone Git repository (default:**
+
+ **https://git.opnfv.org/calipso)**
Fuel scenarios
---------------
diff --git a/docs/release/monitoring-guide.pdf b/docs/release/monitoring-guide.pdf
index 2d075e5..40f5b8b 100644
--- a/docs/release/monitoring-guide.pdf
+++ b/docs/release/monitoring-guide.pdf
Binary files differ
diff --git a/docs/release/monitoring-guide.rst b/docs/release/monitoring-guide.rst
index dd0f047..de87ca0 100644
--- a/docs/release/monitoring-guide.rst
+++ b/docs/release/monitoring-guide.rst
@@ -1,12 +1,6 @@
| Calipso.io
| Monitoring Guide
-Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Apache License, Version 2.0
-which accompanies this distribution, and is available at
-http://www.apache.org/licenses/LICENSE-2.0
-
|image0|
Project “Calipso” tries to illuminate complex virtual networking with
@@ -28,7 +22,7 @@ Calipso.io Monitoring Guide 1
1.1 Calipso monitoring provisioning 3
-1.2 Calipso-sensu container 5
+1.2 Calipso-monitor container 5
2 Monitoring configurations 5
@@ -67,7 +61,7 @@ Monitoring deployment options
config files and all needed plugins and scripts on all clients and
the central server.
-2. Calipso sensu module: listens for the results of the customized
+2. Calipso monitor module: listens for the results of the customized
events and updates the inventories with state and statuses, while
generating all related messages.
@@ -168,8 +162,8 @@ Calipso monitoring provisioning
|image1|
-Calipso-sensu container
------------------------
+Calipso-monitor container
+-------------------------
Once sensu clients and all needed configurations and plugins are
deployed properly, the sensu server should start receiving results
@@ -655,6 +649,6 @@ Calipso Apex monitoring integration
.. |image0| image:: media/image1.png
:width: 6.50000in
:height: 4.27153in
-.. |image1| image:: media/image10.png
+.. |image1| image:: media/image2.png
:width: 6.50000in
:height: 3.62708in
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..9fde2df
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,2 @@
+lfdocs-conf
+sphinx_opnfv_theme
diff --git a/tox.ini b/tox.ini
index c1993d9..dd5076d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,12 +4,12 @@ envlist = docs,docs-linkcheck
skipsdist = true
[testenv:docs]
-deps = -r{toxinidir}/etc/requirements.txt
+deps = -rdocs/requirements.txt
commands =
sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
echo "Generated docs available in {toxinidir}/docs/_build/html"
whitelist_externals = echo
[testenv:docs-linkcheck]
-deps = -r{toxinidir}/etc/requirements.txt
-commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck \ No newline at end of file
+deps = -rdocs/requirements.txt
+commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck