Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
e316717
* add ability to add multiple ip addresses to objects using pattern x…
Nov 9, 2016
832453d
upgrade.php: add a section for 0.21.0
infrastation May 18, 2017
1acbe86
display MySQL warnings in debug mode
infrastation May 18, 2017
710bb27
copy complete 0.20.x releases only into master
infrastation May 18, 2017
83ea38a
suppress some more unnecessary default values
infrastation May 19, 2017
ef82cfc
tests: add a missing newline at EOF
infrastation May 19, 2017
2d07e59
renderSNMPPortFinder(): remove excess LABELs
infrastation May 19, 2017
e984d86
set Port.label to NULL instead of an empty string
infrastation May 19, 2017
07d22ce
simplify a few functions
infrastation May 19, 2017
70c0cb0
refine renderPortsForObject()
infrastation May 23, 2017
8844171
setUserConfigVar(): use REPLACE INTO consistently
infrastation May 23, 2017
bb216c1
Edge-Core had the product discontinued
shazaum May 23, 2017
ecd0c5a
recognize context in CodeMirror RackCode lexer
infrastation May 24, 2017
f4d00fa
better display objects that have no common name
infrastation May 24, 2017
a637466
revert to pristine CodeMirror-3.24
infrastation May 25, 2017
d765a3d
upgrade CodeMirror from 3.24 to 5.26.0
infrastation May 25, 2017
03102e0
remove remaining stray props of CodePress
infrastation May 26, 2017
5ceaa17
improve CodeMirror integration
infrastation May 26, 2017
35d895b
fix a typo in README.md
infrastation May 30, 2017
6cf6a09
replace a couple default values with explicit ones
infrastation Jun 2, 2017
837ad4a
printTagsPickerUl(): don't modify foreach argument
infrastation Jun 2, 2017
6eb70f0
refine delivery of rack thumb images
infrastation Jun 6, 2017
336e7e6
fixup transparency in a few images
infrastation Jun 6, 2017
20e1804
dictionary: add another OS release (Mantis#1769)
infrastation Jun 16, 2017
ed4484b
cover comments too in IPv4 search (Mantis#1773)
fstuck37 Jun 16, 2017
cf72025
improve the previous change
infrastation Jun 16, 2017
0a7ffbe
spell a public class method as public
infrastation Jun 16, 2017
8bdd76e
decrease direct use of $_REQUEST and $sic, pt. 20
infrastation Jun 16, 2017
dfc8176
make the object properties form more user-friendly
infrastation Jun 16, 2017
b4fb59f
printPDOException(): refine some text
infrastation Jun 20, 2017
5b90820
refine displaying of attributes
infrastation Jun 22, 2017
5ff78af
refine editing of attributes
infrastation Jun 23, 2017
e9446e3
don't call getConfigVar('EXT_IPV4_VIEW') too often
infrastation Jun 23, 2017
3a24387
renderObject(): make rackspace portlet conditional
infrastation Jun 27, 2017
1c48fd7
upgrade CodeMirror from 5.26.0 to 5.27.4
infrastation Jul 2, 2017
f686aa8
Added link to SDK in error
bpothier Jun 29, 2017
e28c58a
scanIPSpace: optimize SQL for fetching last log
andriyanov Jun 15, 2017
0238500
printRackThumbImage(): clarify a comment
infrastation Jul 6, 2017
3c01397
Add 2028TP-HC0R-SIOM and 6028R-E1CR12L from SuperMicro
Miouge1 Jul 5, 2017
655da69
refine some code in markBestSpan()
infrastation Jul 6, 2017
c910f77
simplify rackModificationPermitted()
infrastation Jul 7, 2017
34f5d4e
refine some table formatting
infrastation Jul 7, 2017
a688bfd
update some old comments
infrastation Jul 7, 2017
3f047ad
refine a couple error messages
infrastation Jul 7, 2017
37095aa
put usort_portlist() right (GH #199)
infrastation Jul 7, 2017
d2ae1e0
check argument type in array_fetch()
infrastation Jul 7, 2017
d4efef5
add a comment as a follow-up to commit dfc8176e
infrastation Jul 10, 2017
c7be1b9
tests: test cleanup_ldap_cache.php in express.sh
infrastation Jul 13, 2017
475f4da
init_config(): omit the PHP closing tag at EOF
infrastation Jul 13, 2017
f48482e
omit the PHP closing tag at EOF in all PHP files
infrastation Jul 13, 2017
f5b9c21
renderEditObjectForm(): add a LABEL for a CHECKBOX
infrastation Jul 13, 2017
2864fb8
RTSNMPDevice: handle SNMP versions stricter
infrastation Jul 13, 2017
1cfcac1
only use the PHP opening tag once per file
infrastation Jul 14, 2017
3b4c094
detect and handle an internal error properly
infrastation Jul 17, 2017
0f5c598
fix isInteger() and add some tests
infrastation Jul 17, 2017
06d7052
assertUIntArg(): fix type check (see prev. commit)
infrastation Jul 17, 2017
df611f3
HTTPDateToUnixTime(): fixup some code style
infrastation Jul 7, 2017
01cbc42
use BLOB to store rack thumbnail images
infrastation Jul 7, 2017
db8d58a
make more unsigned integer check fixups
infrastation Jul 18, 2017
d8f3e96
loadConfigDefaults(): don't do foreach() by ref.
infrastation Jul 18, 2017
25526a9
add colored tags
May 17, 2016
a7c7af6
amend ChangeLog for the previous commit
infrastation Jul 19, 2017
f7686eb
refine the SQL column type for tag colour
infrastation Jul 19, 2017
6f3dfa8
isInteger(): add helper code around is_numeric()
infrastation Jul 19, 2017
1c09455
make some code style fixups
infrastation Jul 19, 2017
fa389d0
fixup indentation
adoom42 Sep 12, 2016
0f13d32
spell l2addressForDatabase() consistently
infrastation Jul 20, 2017
21c8b04
refine NATv4 address selector popup
infrastation Jul 20, 2017
36e3ad3
makeWhereSQL(): do not specify a default value
infrastation Jul 20, 2017
5580b16
rename syncObjectPorts() to replaceObjectPorts()
infrastation Jul 20, 2017
213ea1e
colorHex2Rgb(): try a different RGB math
Jul 20, 2017
4fd21be
renderTagRowForViewer(): fixup some markup
infrastation Jul 20, 2017
c3fe089
colorHex2Rgb(): round floats to integers
infrastation Jul 20, 2017
1c117bd
Added extra hooks to commitUpdateObject() (#204)
jeroenvermeulen Jul 20, 2017
cf940ca
Add all SuperMicro chassis and servers (#201)
Miouge1 Jul 20, 2017
ffccae6
dictionary: add assorted products (Mantis #1779)
infrastation Jul 23, 2017
1d44a1e
fixup some PHP lettercase
infrastation Jul 21, 2017
8dd68ee
remove an old backup file
infrastation Jul 24, 2017
5731b2c
Added extra hooks to renderIPv4NetworkAddresses and renderIPv6Network…
Jul 21, 2017
97d8533
Improved hooks: passing binary IP address + always same argument count
Jul 24, 2017
c2a49f7
update install notes based on some Fedora 26 tests
infrastation Jul 24, 2017
bba495f
use a CSS class for L2 addresses
infrastation Jul 25, 2017
66eece6
renderDataIntegrityReport(): simplify some code
infrastation Jul 25, 2017
d0d43dc
improve travis_setup_mysql.sh
infrastation Jul 27, 2017
011df35
refactor plugin architecture
adoom42 Jul 29, 2017
174084c
refine the new plugins code a bit
infrastation Jul 30, 2017
28d3bb4
tests: check the plugins files too in express.sh
infrastation Jul 30, 2017
ad847bd
remove almost all remaining PHP closing tags
infrastation Jul 30, 2017
c8c64b1
renderPluginEditor(): add permission checks
infrastation Jul 31, 2017
22d3f0f
implement a new "dateonly" assertion type
infrastation Jun 13, 2016
f159c46
cmpSQLDates(): new function with tests
infrastation Nov 4, 2016
f24df83
improve renderDataIntegrityReport() a little more
infrastation Jul 31, 2017
94826ae
simplify some more functions
infrastation Aug 1, 2017
1019f70
simplify SQL in loadRackThumbCache()
infrastation Aug 1, 2017
f0fe0da
renderEditRackForm(): add a LABEL for a CHECKBOX
infrastation Aug 1, 2017
4c5f6ef
commitAddObject(): fix a bug with tags and cache
infrastation Aug 2, 2017
c0d0c56
refine setEntityColors()
infrastation Aug 2, 2017
a433b26
tests: improve TagFunctionsTest
infrastation Aug 2, 2017
3c1e6a8
fixup rack thumb colours processing
infrastation Aug 2, 2017
9448907
tests: add support for PHPUnit 6
infrastation Aug 3, 2017
352bbb3
Travis CI: add PHPUnit 6 to the build matrix
infrastation Aug 3, 2017
f82e096
tests: refine PortTriggerTest
infrastation Aug 3, 2017
e5c54d4
tests: refine RenderDepotTest
infrastation Aug 3, 2017
50712c6
refine DELETE in commitUpdateTag()
infrastation Aug 4, 2017
f903908
generate rack thumbs independently of the headers
infrastation Aug 4, 2017
162fc31
tests: improve RackspaceFunctionsTest
infrastation Aug 4, 2017
494e426
tests: allow to override PHPUnit binary name
infrastation Aug 6, 2017
66b176b
renderIPv6NetworkAddresses(): remove a no-op line
infrastation Aug 7, 2017
edb0cf6
tests: refine the rack thumbnails test
infrastation Aug 7, 2017
756009b
use quoting for some schema object names
infrastation Aug 8, 2017
d4e27fe
specify a secondary class around the tag selector
infrastation Aug 8, 2017
272e0a2
fix deleting of tags after commit 756009b
infrastation Aug 9, 2017
abef97a
upgrade CodeMirror from 5.27.4 to 5.28.0
infrastation Aug 9, 2017
68c740d
update ChangeLog for release 0.20.14
infrastation Aug 10, 2017
e85e7da
0.20.14: cut the release
infrastation Aug 10, 2017
c908c32
Revert "copy complete 0.20.x releases only into master"
infrastation Aug 10, 2017
27bac28
formally retire support for PHP older than 5.5
infrastation Aug 11, 2017
a6e090f
make use of the nowdoc string literal syntax
infrastation Aug 11, 2017
eea39b5
fix UNIX shell heredoc syntax in README.Fedora
infrastation Aug 11, 2017
d72da15
Travis CI: test PHP 7.0 only once
infrastation Aug 14, 2017
cbc9fd2
tests: make use of SQL IN() for DELETE and UPDATE
infrastation Aug 15, 2017
cde7764
inline checkColumnOfRadios8021Q()
infrastation Aug 15, 2017
8f9feaa
put renderObject8021QSyncPorts() right
infrastation Aug 15, 2017
f01b069
add some more dictionary entries
infrastation Aug 16, 2017
97792a8
change some L2 address format processing
infrastation Aug 21, 2017
53f8e01
improve L2 address integrity checks
infrastation Aug 22, 2017
aec4c86
tests: factor the suffixes out to a helper method
infrastation Aug 24, 2017
1bba27d
gateways/git-commit: add a comment
infrastation Aug 27, 2017
5abb804
split getObjectClass() into three functions
infrastation Aug 28, 2017
792704c
getOutputOf(): stop buffering on exception
infrastation Aug 28, 2017
216fc00
tests: simplify RenderDepotTest
infrastation Aug 28, 2017
a86d900
tests: ask PHPUnit to output to stderr, not stdout
infrastation Aug 28, 2017
272a945
loadConfigDefaults(): use intval()
infrastation Aug 29, 2017
d3e838c
emptyStrIfZero(): a new helper function with tests
infrastation Aug 29, 2017
7c91a82
dismiss a few unnecessary calls to intval()
infrastation Aug 29, 2017
71349ba
tests: simplify ObjectLogTest, see commit 216fc00
infrastation Aug 29, 2017
935b674
Merge https://github.com/RackTables/racktables into maintenance-0.20.x
Aug 31, 2017
9d55764
addLotOfIPAllocation
Aug 31, 2017
7d54bcc
* show wattage usage on Objects page
Aug 31, 2017
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
wwwroot/inc/secret.php
wwwroot/inc/local.php
/.idea
/.project
tags
plugins/*

# vim
[._]*.s[a-w][a-z]
Expand Down
10 changes: 4 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,15 @@ git:
depth: 3

php:
- 5.4
- 5.5
- 5.6
# In Travis CI PHP 7.0.15 comes with PHPUnit 5.7.6, which is compatible with
# earlier versions of itself hence RackTables tests can work on older PHP
# versions too (a major advantage of the test matrix). Later PHP versions come
# with PHPUnit 6, which is compatible with itself only due to namespaces.
- 7.0.15
- 7.0
- 7.1

matrix:
fast_finish: true
allow_failures:
- php: 7.1

services:
- mysql
Expand Down
16 changes: 16 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
0.21.0
update: display MySQL warnings in debug mode
update: better display objects that have no common name
update: highlight RackCode syntax in the Permissions viewer too
update: refine delivery of rack thumb images
update: new plugin architecture
update: add support for IP-over-InfiniBand L2 addresses
bugfix: put dictionary-based attributes formatting right
bugfix: date attributes now can be set for racks, rows and locations
new feature: tag colors (GH#158 by Maik Ehinger)
0.20.14 2017-08-10
update: cover comments too in IPv4 & IPv6 search (Mantis#1773 by Fred Stuck)
update: suppress the rackspace portlet column if it is empty
update: refine items in the dictionary (e.g. SuperMicro and EMC)
update: adjust some code for easier customization
update: improve some error messages
0.20.13 2017-05-12
update: fix performance for pages with images (GH#190 by Michael A. Mikhailov)
update: improve SNMP support for Brocade devices (GH#180 by Chris Jones)
Expand Down
3 changes: 1 addition & 2 deletions README.Fedora
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,12 @@ The configuration directories could be:
The "wwwroot" directories will require a short PHP wrapper file each. The
wrappers will differ only in the value of $racktables_confdir setting:

# cat > /var/www/vhosts/racktables.example1.com/index.php <<<EOF
# cat > /var/www/vhosts/racktables.example1.com/index.php <<EOF
<?php

$racktables_confdir = '/etc/RackTables/example1';
require '/usr/share/RackTables/wwwroot/index.php';

?>
EOF

Once the wrapper files are installed, setup of each instance must be
Expand Down
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ look for the respective links at [project's web-site](http://racktables.org).

## 1. Prepare the server

RackTables uses a web-server with PHP (5.2.10 or newer) for front-end and a
RackTables uses a web-server with PHP (5.5.0 or newer) for front-end and a
MySQL/MariaDB server version 5 for back-end. The most commonly used web-server
for RackTables is Apache httpd.

Expand All @@ -18,7 +18,7 @@ for RackTables is Apache httpd.
| Debian 6 | `aptitude install mysql-server-5.1` |
| Debian 7 | `aptitude install mysql-server-5.1` |
| Fedora 8-16 | `yum install mysql-server mysql` |
| Fedora 23 | `dnf install mariadb-server mariadb` |
| Fedora 23-26 | `dnf install mariadb-server mariadb` |
| FreeBSD 10 | `pkg install mysql56-server` |
| openSUSE 42.1 | `zypper install mysql-community-server` |
| Scientific Linux 6 | `yum install mysql-server mysql` |
Expand All @@ -32,7 +32,7 @@ for RackTables is Apache httpd.
| Debian 6 | add `character-set-server=utf8` line to `[mysqld]` section of `/etc/mysql/my.cnf` file and restart mysqld |
| Debian 7 | add `character-set-server=utf8` line to `[mysqld]` section of `/etc/mysql/my.cnf` file and restart mysqld |
| Fedora 8-16 | add `character-set-server=utf8` line to `[mysqld]` section of `/etc/my.cnf` file and restart mysqld |
| Fedora 23 | ```printf "[mysqld]\ncharacter-set-server=utf8\n" > /etc/my.cnf.d/mysqld-charset.cnf; systemctl restart mariadb``` |
| Fedora 23-26 | ```printf "[mysqld]\ncharacter-set-server=utf8\n" > /etc/my.cnf.d/mysqld-charset.cnf; systemctl restart mariadb``` |
| openSUSE 42.1 | No action required, comes configured for UTF-8 by default. |
| Scientific Linux 6 | add `character-set-server=utf8` line to `[mysqld]` section of `/etc/my.cnf` file and restart mysqld |
| Ubuntu 14.04 | ```printf "[mysqld]\ncharacter-set-server=utf8\n" > /etc/mysql/conf.d/charset.cnf; service mysql restart``` |
Expand All @@ -46,6 +46,7 @@ for RackTables is Apache httpd.
| Debian 7 (nginx) | `aptitude install nginx php5-fpm` **(see note below)** |
| Fedora 8-16 | `yum install httpd php php-mysql php-pdo php-gd php-snmp php-mbstring php-bcmath` |
| Fedora 23 | `dnf install httpd php php-mysql php-pdo php-gd php-snmp php-mbstring php-bcmath` |
| Fedora 26 | `dnf install httpd php php-mysqlnd php-pdo php-gd php-snmp php-mbstring php-bcmath` |
| FreeBSD 10 | see note 1.3.c |
| openSUSE 42.1 | `zypper install apache2-mod_php5 php5-gd php5-mbstring php5-mysql php5-bcmath` |
| Scientific Linux 6 | `yum install httpd php php-mysql php-pdo php-gd php-mbstring php-bcmath` |
Expand Down Expand Up @@ -132,15 +133,15 @@ Note: set `secret.php` permissions when prompted.
Unpack the tar.gz/zip archive to a directory of your choice and configure Apache
httpd to use `wwwroot` subdirectory as a new DocumentRoot. Alternatively,
symlinks to `wwwroot` or even to `index.php` from an existing DocumentRoot are
also possible and often adisable (see `README.Fedora`).
also possible and often advisable (see `README.Fedora`).

## 3. Run the installer
Open the configured RackTables URL and you will be prompted to configure
and initialize the application.

| Distribution | Apache httpd UID:GID | MySQL UNIX socket path |
| --------------- | ----------------------- | -------------------------------- |
| Fedora 23 | `apache:apache` | `/var/lib/mysql/mysql.sock` |
| Fedora 23-26 | `apache:apache` | `/var/lib/mysql/mysql.sock` |
| openSUSE 42.1 | `wwwrun:www` | `/var/run/mysql/mysql.sock` |
| Ubuntu 14.04 | `www-data:www-data` | `/var/run/mysqld/mysqld.sock` |
| Ubuntu 16.04 | `www-data:www-data` | `/var/run/mysqld/mysqld.sock` |
Expand All @@ -159,6 +160,16 @@ and initialize the application.

## Release notes

### Upgrading to 0.21.0

From now on the minimum (oldest) release of PHP that can run RackTables is
5.5.0.

This release introduces a new plugin architecture. If you experience issues
after the upgrade, try disabling plugins.
Refer to http://wiki.racktables.org/index.php/RackTablesAdminGuide#Plugins
for more information.

### Upgrading to 0.20.11

New `IPV4_TREE_SHOW_UNALLOCATED` configuration option introduced to disable
Expand Down
4 changes: 4 additions & 0 deletions gateways/git-commit
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
# able to write to the repository and run "git pull", "git commit" and "git push"
# without any user interaction (i.e. the git remote must be on a local
# filesystem or be configured to use SSH keys).
#
# This script uses sudo to switch between the pseudo-users and requires an
# entry in sudoers along the following lines:
# httpduser ALL=(racktablesuser) NOPASSWD:/path/to/racktables/gateways/git-commit

[ $# -eq 4 ] || {
echo "Usage: $0 <pseudo-user> <repo dir> <path to file> <commit message>" >&2
Expand Down
1 change: 1 addition & 0 deletions gateways/ucssdk
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ try:
from ucsmsdk.mometa.compute.ComputeRackUnit import ComputeRackUnit
except Exception, err:
sys.stderr.write('UCS Python SDK is missing %s (Path: %s)\n' % (str(err), sys.path))
sys.stderr.write('<P>Available at https://communities.cisco.com/docs/DOC-64378<P>\n')
sys.exit(2)

loggedin = 0
Expand Down
10 changes: 10 additions & 0 deletions plugins/README
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
*** New Plugin Architecture ***

Each plugin should reside in its own directory and contain a file named
plugin.php housing certain mandatory functions.

Refer to http://wiki.racktables.org/index.php/RackTablesAdminGuide#Plugins
for more information.

*** Old Plugin Architecture ***

Put your custom RackTables add-ons into this folder.

Old local.php file is the sample of such add-ons and should be put here
Expand Down
Loading