summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md37
-rwxr-xr-xextra/oxidized-report-git-commits61
-rw-r--r--lib/oxidized/model/panos.rb2
-rw-r--r--lib/oxidized/model/voss.rb16
4 files changed, 69 insertions, 47 deletions
diff --git a/README.md b/README.md
index 14e86bd..9d8ba2f 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
# Oxidized [![Build Status](https://travis-ci.org/Shopify/oxidized.svg)](https://travis-ci.org/Shopify/oxidized) [![Gem Version](https://badge.fury.io/rb/oxidized.svg)](http://badge.fury.io/rb/oxidized) [![Join the chat at https://gitter.im/oxidized/Lobby](https://badges.gitter.im/oxidized/Lobby.svg)](https://gitter.im/oxidized/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-** Is your company using Oxidized and has Ruby developers on staff? I'd love help in maint or even refactor **
+** Is your company using Oxidized and has Ruby developers on staff? I'd love help from an extra maintainer!**
+
+[WANTED: MAINTAINER](#help-needed)
Oxidized is a network device configuration backup tool. It's a RANCID replacement!
@@ -1077,6 +1079,39 @@ The following objects exist in Oxidized.
* 'junos', 'ios', 'ironware' and 'powerconnect' implemented
+# Help Needed
+
+As things stand right now, `oxidized` is maintained by a single person. A great
+many [contributors](https://github.com/ytti/oxidized/graphs/contributors) have
+helped further the software, however contributions are not the same as ongoing
+owner- and maintainership. It appears that many companies use the software to
+manage their network infrastructure, this is great news! But without additional
+help to maintain the software and put out releases, the future of oxidized
+might be less bright. The current pace of development and the much needed
+refactoring simply are not sustainable if they are to be driven by a single
+person.
+
+## Maintainer duties and expectations
+
+* 4 hours per week to perform triage on issues, review pull requests and help answer any questions from users.
+* Above average knowledge of the Ruby programming language.
+* Professional experience with both oxidized and some other config backup tool (like rancid).
+* Ability to keep a cool head, and enjoy interaction with end users! :)
+* A desire and passion to help drive `oxidized` towards its `1.x.x` stage of life
+ * help refactor the code
+ * rework the core infrastructure
+* Permission from your employer to contribute to open source projects
+
+## YES, I WANT TO HELP
+
+Awesome! Simply send an email to Saku Ytti <saku@ytti.fi>.
+
+## Further reading
+
+Brian Anderson (from Rust fame) wrote an [excellent
+post](http://brson.github.io/2017/04/05/minimally-nice-maintainer) on what it
+means to be a maintainer.
+
# License and Copyright
Copyright 2013-2015 Saku Ytti <saku@ytti.fi>
diff --git a/extra/oxidized-report-git-commits b/extra/oxidized-report-git-commits
index 2fd4870..db36ecf 100755
--- a/extra/oxidized-report-git-commits
+++ b/extra/oxidized-report-git-commits
@@ -17,64 +17,45 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# 20170615 - Andre Sencioles <asenci@gmail.com>
+# Removed requirement for Git working directory
+# Check job status
+#
+#
# usage: add the following hook to the oxidized config file:
#
# hooks:
# email_output:
# type: exec
# events: [post_store, node_fail]
-# cmd: '/home/oxidized/extra/oxidized-report-git-commits ~/gitdir/ | mail -s "Oxidized updates for ${OX_NODE_NAME}" update-recipient@example.com'
+# cmd: '/home/oxidized/extra/oxidized-report-git-commits | mail -s "Oxidized updates for ${OX_NODE_NAME}" update-recipient@example.com'
# async: true
# timeout: 120
#
#
-# The script takes a single argument, namely a git working directory name,
-# e.g. "~/gitdir/". This is only used as a staging directory and should
-# not be set to be the same as the git repo directory.
-#
-PATH=${PATH}:/usr/local/bin:/usr/local/sbin
-export PATH
+echo "Node name: ${OX_NODE_NAME}"
+echo "Group name: ${OX_NODE_GROUP}"
+echo "Job status: ${OX_JOB_STATUS}"
+echo "Job time: ${OX_JOB_TIME}"
-gitdir=$1
+if [ "${OX_EVENT}" = "node_fail" ]; then
+ echo 'Job failed'
+ exit 64
+fi
-if [ X${OX_REPO_COMMITREF} = "X" ]; then
- echo \$OX_REPO_COMMITREF not set
+if [ -z "${OX_REPO_COMMITREF}" ]; then
+ echo '$OX_REPO_COMMITREF not set'
exit 64
fi
-if [ X${OX_REPO_NAME} = "X" ]; then
- echo \$OX_REPO_NAME not set
+if [ -z "${OX_REPO_NAME}" ]; then
+ echo '$OX_REPO_NAME not set'
exit 64
fi
-if [ ! -d ${gitdir}/.git ]; then
- git clone -q ${OX_REPO_NAME} ${gitdir}
-
- ret=$?
- if [ X"${ret}" != X0 ] && [ X"${ret}" != X1 ]; then
- echo git clone failed: aborting.
- exit 128
- fi
-fi
-
-cd ${gitdir}
-
-git pull -q > /dev/null 2>&1
-ret=$?
-if [ X"${ret}" != X0 ] && [ X"${ret}" != X1 ]; then
- echo git pull failed: aborting.
- exit 128
-fi
-
-# Git is probably working at this stage, so safe to emit more info
-
-echo "Node name: ${OX_NODE_NAME}"
-echo "Group Name: ${OX_NODE_GROUP}"
-echo "Job Time: ${OX_JOB_TIME}"
-echo "Git Commit ID: ${OX_REPO_COMMITREF}"
-echo "Git Repo: ${OX_REPO_NAME}"
-echo "Local working dir: ${gitdir}"
+echo "Git repo: ${OX_REPO_NAME}"
+echo "Git commit ID: ${OX_REPO_COMMITREF}"
echo ""
-git diff --no-color ${OX_REPO_COMMITREF}~1..${OX_REPO_COMMITREF}
+git --bare --git-dir="${OX_REPO_NAME}" diff --no-color "${OX_REPO_COMMITREF}~1..${OX_REPO_COMMITREF}"
diff --git a/lib/oxidized/model/panos.rb b/lib/oxidized/model/panos.rb
index 68d80c3..67ccaec 100644
--- a/lib/oxidized/model/panos.rb
+++ b/lib/oxidized/model/panos.rb
@@ -28,6 +28,6 @@ class PanOS < Oxidized::Model
cfg :ssh do
post_login 'set cli pager off'
- pre_logout 'exit'
+ pre_logout 'quit'
end
end
diff --git a/lib/oxidized/model/voss.rb b/lib/oxidized/model/voss.rb
index 599462a..6b15fb3 100644
--- a/lib/oxidized/model/voss.rb
+++ b/lib/oxidized/model/voss.rb
@@ -1,7 +1,7 @@
class Voss < Oxidized::Model
# Avaya VSP Operating System Software(VOSS)
# Created by danielcoxman@gmail.com
- # May 15, 2017
+ # May 25, 2017
# This was tested on vsp4k and vsp8k
comment '# '
@@ -10,10 +10,16 @@ class Voss < Oxidized::Model
# needed for proper formatting after post_login
cmd('') { |cfg| comment "#{cfg}\n" }
- # get some general information about switch
- cmd('show sys-info card') { |cfg| comment "#{cfg}\n" }
- cmd('show sys-info fan') { |cfg| comment "#{cfg}\n" }
- cmd('show sys-info power') { |cfg| comment "#{cfg}\n" }
+
+ # Get sys-info and remove information that changes such has temperature and power
+ cmd 'show sys-info' do |cfg|
+ cfg.gsub! /(^((.*)SysUpTime(.*))$)/, 'removed SysUpTime'
+ cfg.gsub! /^((.*)Temperature Info \:(.*\r?\n){4})/, 'removed Temperature Info and 3 more lines'
+ cfg.gsub! /(^((.*)AmbientTemperature(.*)\:(.*))$)/, 'removed AmbientTemperature'
+ cfg.gsub! /(^((.*)Temperature(.*)\:(.*))$)/, 'removed Temperature'
+ cfg.gsub! /(^((.*)Total Power Usage(.*)\:(.*))$)/, 'removed Total Power Usage'
+ comment "#{cfg}\n"
+ end
# more the config rather than doing a show run
cmd 'more config.cfg' do |cfg|