Skip to content

Commit

Permalink
Merge pull request #1363 from allegro/master-release/2.3.0
Browse files Browse the repository at this point in the history
Master release/2.3.0
  • Loading branch information
xliiv committed Apr 14, 2015
2 parents 26b7c66 + cb50870 commit 809f144
Show file tree
Hide file tree
Showing 194 changed files with 9,978 additions and 1,599 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Expand Up @@ -28,3 +28,7 @@
/src/ralph/logs
/src/ralph/uploads
/src/ralph/urls_local.py
*.egg-info/
*.egg
*.py[cod]
.coverage
21 changes: 19 additions & 2 deletions .travis.yml
@@ -1,11 +1,20 @@
language: python
env:
matrix:
- DJANGO_VERSION=1.4.18 TEST_DATABASE_ENGINE=mysql
- DJANGO_VERSION=1.6.10 TEST_DATABASE_ENGINE=sqlite
matrix:
allow_failures:
- env: DJANGO_VERSION=1.6.10 TEST_DATABASE_ENGINE=sqlite
python:
- "2.7"
# command to install dependencies, e.g. pip install -r requirements.txt --use-mirrors
install:
- pip install git+https://github.com/allegro/django-bob@develop
- pip install coveralls
- pip install git+https://github.com/allegro/django-bob@master
- pip install git+https://github.com/quamilek/bob-ajax-selects.git@master
- pip install git+https://github.com/allegro/ralph_assets.git@master
- make install
- pip install coveralls
- pip install flake8


Expand All @@ -16,3 +25,11 @@ before_script:

after_success:
- coveralls

notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/837fe61b536818b676ad
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: false # default: false
53 changes: 53 additions & 0 deletions CHANGES.rst
@@ -1,6 +1,59 @@
Change Log
----------

2.3.0
~~~~~

Released on April 13, 2015

New features
************
* Added data center and racks visualization.
* Ralph requires ralph_assets package.
* Improved Xen detection.
* Better ssh communication with cisco switches.
* Added possibility to store databases in Ralph and better support for storing load balancers virtual servers.
* Updated docs for Don Pedro agent and Ralph's installation process.
* We've moved documentation to the rtd: http://ralph.readthedocs.org/en/latest/.
* Docker is the official way to easy install Ralph.


Minor improvements
******************
* SCAN:
- Detaching logical subdevices not found by scan: Previously only physical subdevices not found by scan were detached. Extended this feature on logical children.
- Detect Dell family in scan, when headers not contains `Server`
- Puppet-plugin: added expanduser call on cert paths.
- Puppet plugin can get data from puppetdb-api.
- 'Force autoscan' is now triggered only when SNMP name is missing.
* DEPLOY:
- Added two missing features to deploy/clean plugin: The hostname is now copied from deployment and copying venture/role from deployment.
- Changed the required permission for VM creation - You need core access to create a VM via API.
- Added new entry point to API to provide possibility to change IP address after deployment.
* GUI:
- Added management IP in 'Addresses' tab (device view).
- Scan form - now it's possible to add some new components to the existing device.
* CMDB:
- Set CI.state default value to ACTIVE.
* OTHER:
- The design of top bar is now in line with the Scrooge UI.
- Scrooge API: Databases and Load balancer virtual servers added.
- Added department to search form.
- Functionality to inject custom tracking code.
- Admin panel: changing management and management ip addresses blocked.
- `ralph makeconf` set pluggable apps to the reasonable defaults.
- For devices with assigned Asset (only without is_blade flag) it is no longer possible to change position.
- You can now set user's country using LDAP attribute.
- Added Powerdns Record resource to REST API.

Fixes
*****
* Fix for MAC detecting in IDRAC plugin.
* Parent and management fields are now readonly when an asset is assigned. Before this change we could't save form.
* Updated parse_lshw(..) to work with puppetdb_api. Used better msg when no facts found.
* Fixed docker installation.
* Scan form now creates IPAddress object when does not exist.

2.1.0
~~~~~

Expand Down
4 changes: 2 additions & 2 deletions Makefile
Expand Up @@ -8,10 +8,10 @@ runserver:
ralph runserver

install:
pip install -e . --use-mirrors --allow-all-external --allow-unverified ipaddr --allow-unverified postmarkup --allow-unverified python-graph-core --allow-unverified pysphere
pip install -e . --use-mirrors --allow-all-external --allow-unverified ipaddr --allow-unverified postmarkup --allow-unverified pysphere

test-unittests:
DJANGO_SETTINGS_PROFILE=test-ralph coverage run --source=ralph --omit='*migrations*,*tests*' '$(VIRTUAL_ENV)/bin/ralph' test ralph
DJANGO_SETTINGS_PROFILE=test-ralph coverage run --source=ralph --omit='*migrations*,*tests*,*__init__*,*wsgi.py,*__main__*,*settings*,*manage.py' '$(VIRTUAL_ENV)/bin/ralph' test ralph

test-doc:
# ignore warnings about missing subdirs - cloned from another repositories
Expand Down
14 changes: 14 additions & 0 deletions README.md
@@ -0,0 +1,14 @@
# ralph

Ralph is full-featured Asset Management, DCIM and CMDB system for data center and back office.

Features:

* auto-discover existing hardware
* keep track of assets purchases and their life cycle
* generate flexible and accurate cost reports
* integrate with change management process using JIRA integration

It is an Open Source project provided on Apache v2.0 License.

[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/allegro/ralph?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
144 changes: 114 additions & 30 deletions doc/Makefile
Expand Up @@ -2,92 +2,176 @@
#

# You can set these variables from the command line.
SPHINXOPTS = -W
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build

# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest ziphtml
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"

clean:
-rm -rf $(BUILDDIR)/*
rm -rf $(BUILDDIR)/*

html:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
@cd $(BUILDDIR)/../.. && ln -sf `cd doc/_build/html;pwd` www/_build/html/doc

dirhtml:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

pickle:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."

qthelp:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/langacorekitdjango.qhcp"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ralph.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/langacorekitdjango.qhc"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ralph.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/ralph"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ralph"
@echo "# devhelp"

epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

latex:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
"run these through (pdf)latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."

latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."

man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."

info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."

gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."

changes:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."

linkcheck:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."

doctest:
DJANGO_SETTINGS_MODULE="ralph.settings" $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."

ziphtml: html
cd $(BUILDDIR)/html && rm -f ../html.zip && zip -r ../html.zip *
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."

pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
5 changes: 5 additions & 0 deletions doc/browser.rst
Expand Up @@ -106,3 +106,8 @@ not be updated automatically now -- to not overwrite the :index:`manual
changes`. You can click on that icon in order to remove it and allow automatic
changes of the field.

There's one more restriction here - when a device is assigned to an asset, you
can not change its position fields (i.e. parent, dc, rack, position,
orientation). In order to do that, you should use "Assets" module instead.
This should be considered as a temporary workaround, because in the future,
position will be stored only in the "Assets" module.

0 comments on commit 809f144

Please sign in to comment.