diff --git a/fence/agents/ifmib/README b/fence/agents/ifmib/README index cd2a3c16..6fe8a2be 100644 --- a/fence/agents/ifmib/README +++ b/fence/agents/ifmib/README @@ -1,45 +1,45 @@ Intro: ------ This is an SNMP-based fencing agent for RHCS. It was designed with the use-case of disabling ethernet ports on an iSCSI SAN, but could be used to disable any port on any SNMP v1/2c/3 device that implementes the IF-MIB. The script requires NetSNMP to be installed and working on all nodes in the cluster. There are no requirements for any MIBs to be setup --- all of the required OIDs are hard-coded into the script. Since the IF-MIB is an IETF standard, these identifiers are very widely supported and will not change. Typical usage: -------------- -To use this agen with the switch used on the iSCSI network, you'll require: +To use this agent with the switch used on the iSCSI network, you'll need: 1) A managed switch running SNMP. 2) An SNMP community with write privileges. 3) Permission to send SNMP through any ACLs or firewalls from the nodes. 4) The ifIndex or ifPort associated with the ports being used by the cluster nodes. Consider a three-node cluster composed of A, B, and C. Each node has two network interfaces - one used for network and cluster communication, the second used for iSCSI traffic. If A needs to be fenced, B and C will run this script to administratively disable the switchport for A's connection to the iSCSI storage. If you are using a single interface for cluster and iSCSI traffic, this will still work, but you will lose network connectivity to the fenced host. cluster.conf: ------------- There is no GUI support for this fence agent at this time. To use it, you will need something like this cluster.conf In a node's fencing methods, you'll include a line like this: This node will be fenced by disabling the port with ifIndex 43 on the host sw1. In SNMP speak, we set IF-MIB::ifAdminStatus.43 = down(2). If you will use port name (like fc1/1), script will try to find ifIndex. diff --git a/make/release.mk b/make/release.mk index 5563ba91..59a931d7 100644 --- a/make/release.mk +++ b/make/release.mk @@ -1,105 +1,102 @@ # to build official release tarballs, handle tagging and publish. gpgsignkey = 0x6CE95CA7 # signing key project = fence-agents deliverables = $(project)-$(version).sha256 \ + $(project)-$(version).tar.bz2 \ $(project)-$(version).tar.gz \ $(project)-$(version).tar.xz .PHONY: all all: tag tarballs sign # first/last skipped per release/gpgsignkey respectively .PHONY: checks checks: ifeq (,$(version)) @echo ERROR: need to define version= @exit 1 endif @if [ ! -d .git ]; then \ echo This script needs to be executed from top level cluster git tree; \ exit 1; \ fi @if [ -n "$$(git status --untracked-files=no --porcelain 2>/dev/null)" ]; then \ echo Stash or rollback the uncommitted changes in git first; \ exit 1; \ fi .PHONY: setup setup: checks ./autogen.sh ./configure make maintainer-clean .PHONY: tag tag: setup ./tag-$(version) tag-$(version): ifeq (,$(release)) @echo Building test release $(version), no tagging echo '$(version)' > .tarball-version else # following will be captured by git-version-gen automatically git tag -a -m "v$(version) release" v$(version) HEAD @touch $@ endif .PHONY: tarballs tarballs: tag ./autogen.sh ./configure make distcheck .PHONY: sha256 sha256: $(project)-$(version).sha256 # NOTE: dependency backtrack may fail trying to sign missing tarballs otherwise # (actually, only when signing tarballs directly, but doesn't hurt anyway) $(deliverables): tarballs $(project)-$(version).sha256: # checksum anything from deliverables except for in-prep checksums file sha256sum $(deliverables:$@=) | sort -k2 > $@ .PHONY: sign ifeq (,$(gpgsignkey)) -sign: tarballs +sign: $(deliverables) @echo No GPG signing key defined else sign: $(project)-$(version).sha256.asc # "$(deliverables:=.asc)" to sign all endif -# NOTE: cannot sign multiple files at once like this +# NOTE: cannot sign multiple files at once $(project)-$(version).%.asc: $(project)-$(version).% -ifeq (,$(release)) - @echo Building test release $(version), no sign -else - gpg --default-key "$(gpgsignkey)" \ + gpg --default-key "$(strip $(gpgsignkey))" \ --detach-sign \ --armor \ $< -endif .PHONY: publish publish: ifeq (,$(release)) @echo Building test release $(version), no publishing! else git push --follow-tags origin @echo Hey you! Yeah you, looking somewhere else! @echo Remember to notify cluster-devel/RH and users/ClusterLabs MLs. endif .PHONY: clean clean: rm -rf $(project)* tag-* .tarball-version