From 2b3d38f4390981ceb045678b7e39563a7d33b85a Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Mon, 28 May 2018 11:22:53 +0200 Subject: [otp_mibs] Removed the app otp_mibs And finally remove the app (otp_mibs) itself. OTP-14984 --- lib/otp_mibs/AUTHORS | 8 - lib/otp_mibs/Makefile | 37 --- lib/otp_mibs/doc/html/.gitignore | 0 lib/otp_mibs/doc/man3/.gitignore | 0 lib/otp_mibs/doc/pdf/.gitignore | 0 lib/otp_mibs/doc/src/Makefile | 116 ------- lib/otp_mibs/doc/src/book.xml | 49 --- lib/otp_mibs/doc/src/introduction.xml | 47 --- lib/otp_mibs/doc/src/mibs.xml | 71 ----- lib/otp_mibs/doc/src/notes.xml | 327 ------------------- lib/otp_mibs/doc/src/otp_mib.xml | 73 ----- lib/otp_mibs/doc/src/part.xml | 39 --- lib/otp_mibs/doc/src/ref_man.xml | 38 --- lib/otp_mibs/ebin/.gitignore | 0 lib/otp_mibs/include/.gitignore | 0 lib/otp_mibs/info | 2 - lib/otp_mibs/mibs/Makefile | 89 ------ lib/otp_mibs/mibs/OTP-EVA-MIB.mib | 569 ---------------------------------- lib/otp_mibs/mibs/OTP-MIB.funcs | 2 - lib/otp_mibs/mibs/OTP-MIB.mib | 318 ------------------- lib/otp_mibs/mibs/v1/.gitignore | 0 lib/otp_mibs/priv/bin/.gitignore | 0 lib/otp_mibs/priv/mibs/.gitignore | 0 lib/otp_mibs/priv/obj/.gitignore | 0 lib/otp_mibs/src/Makefile | 106 ------- lib/otp_mibs/src/otp_mib.erl | 219 ------------- lib/otp_mibs/src/otp_mibs.app.src | 30 -- lib/otp_mibs/src/otp_mibs.appup.src | 22 -- lib/otp_mibs/test/Makefile | 85 ----- lib/otp_mibs/test/otp_mibs_SUITE.cfg | 15 - lib/otp_mibs/test/otp_mibs_SUITE.erl | 255 --------------- lib/otp_mibs/vsn.mk | 5 - 32 files changed, 2522 deletions(-) delete mode 100644 lib/otp_mibs/AUTHORS delete mode 100644 lib/otp_mibs/Makefile delete mode 100644 lib/otp_mibs/doc/html/.gitignore delete mode 100644 lib/otp_mibs/doc/man3/.gitignore delete mode 100644 lib/otp_mibs/doc/pdf/.gitignore delete mode 100644 lib/otp_mibs/doc/src/Makefile delete mode 100644 lib/otp_mibs/doc/src/book.xml delete mode 100644 lib/otp_mibs/doc/src/introduction.xml delete mode 100644 lib/otp_mibs/doc/src/mibs.xml delete mode 100644 lib/otp_mibs/doc/src/notes.xml delete mode 100644 lib/otp_mibs/doc/src/otp_mib.xml delete mode 100644 lib/otp_mibs/doc/src/part.xml delete mode 100644 lib/otp_mibs/doc/src/ref_man.xml delete mode 100644 lib/otp_mibs/ebin/.gitignore delete mode 100644 lib/otp_mibs/include/.gitignore delete mode 100644 lib/otp_mibs/info delete mode 100644 lib/otp_mibs/mibs/Makefile delete mode 100644 lib/otp_mibs/mibs/OTP-EVA-MIB.mib delete mode 100644 lib/otp_mibs/mibs/OTP-MIB.funcs delete mode 100644 lib/otp_mibs/mibs/OTP-MIB.mib delete mode 100644 lib/otp_mibs/mibs/v1/.gitignore delete mode 100644 lib/otp_mibs/priv/bin/.gitignore delete mode 100644 lib/otp_mibs/priv/mibs/.gitignore delete mode 100644 lib/otp_mibs/priv/obj/.gitignore delete mode 100644 lib/otp_mibs/src/Makefile delete mode 100644 lib/otp_mibs/src/otp_mib.erl delete mode 100644 lib/otp_mibs/src/otp_mibs.app.src delete mode 100644 lib/otp_mibs/src/otp_mibs.appup.src delete mode 100644 lib/otp_mibs/test/Makefile delete mode 100644 lib/otp_mibs/test/otp_mibs_SUITE.cfg delete mode 100644 lib/otp_mibs/test/otp_mibs_SUITE.erl delete mode 100644 lib/otp_mibs/vsn.mk diff --git a/lib/otp_mibs/AUTHORS b/lib/otp_mibs/AUTHORS deleted file mode 100644 index 3f570082f4..0000000000 --- a/lib/otp_mibs/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -Original Authors and Contributors: - -Martin Björklund -Lars Thorsen -Claes Wikström -Kent Boortz -Björn Gustavsson -Ingela Anderton - Created otp_mibs app. to eliminate SASL's SNMP dependence. diff --git a/lib/otp_mibs/Makefile b/lib/otp_mibs/Makefile deleted file mode 100644 index 64bd683c7a..0000000000 --- a/lib/otp_mibs/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 2003-2016. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# %CopyrightEnd% -# -include $(ERL_TOP)/make/target.mk -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -# ---------------------------------------------------- -# Macros -# ---------------------------------------------------- - -SUB_DIRECTORIES = src mibs doc/src - -include vsn.mk -VSN = $(OTP_MIBS_VSN) - -SPECIAL_TARGETS = - -# ---------------------------------------------------- -# Default Subdir Targets -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_subdir.mk diff --git a/lib/otp_mibs/doc/html/.gitignore b/lib/otp_mibs/doc/html/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/doc/man3/.gitignore b/lib/otp_mibs/doc/man3/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/doc/pdf/.gitignore b/lib/otp_mibs/doc/pdf/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/doc/src/Makefile b/lib/otp_mibs/doc/src/Makefile deleted file mode 100644 index 22c3c127ac..0000000000 --- a/lib/otp_mibs/doc/src/Makefile +++ /dev/null @@ -1,116 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 2003-2018. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# %CopyrightEnd% -# - -include $(ERL_TOP)/make/target.mk -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -# ---------------------------------------------------- -# Application version -# ---------------------------------------------------- -include ../../vsn.mk -VSN=$(OTP_MIBS_VSN) -APPLICATION=otp_mibs - -# ---------------------------------------------------- -# Release directory specification -# ---------------------------------------------------- -RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) -# ---------------------------------------------------- -# Target Specs -# ---------------------------------------------------- -XML_APPLICATION_FILES = ref_man.xml -XML_REF3_FILES = otp_mib.xml - -XML_PART_FILES = part.xml -XML_CHAPTER_FILES = \ - introduction.xml \ - mibs.xml \ - notes.xml - -BOOK_FILES = book.xml - -XML_FILES = \ - $(BOOK_FILES) $(XML_CHAPTER_FILES) \ - $(XML_PART_FILES) $(XML_REF3_FILES) $(XML_APPLICATION_FILES) - -GIF_FILES = - -# ---------------------------------------------------- - -HTML_FILES = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \ - $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html) - -INFO_FILE = ../../info - -MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3) - -HTML_REF_MAN_FILE = $(HTMLDIR)/index.html - -TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf - -# ---------------------------------------------------- -# FLAGS -# ---------------------------------------------------- -XML_FLAGS += -DVIPS_FLAGS += - -# ---------------------------------------------------- -# Targets -# ---------------------------------------------------- -$(HTMLDIR)/%.gif: %.gif - $(INSTALL_DATA) $< $@ - -docs: pdf html man - -$(TOP_PDF_FILE): $(XML_FILES) - -pdf: $(TOP_PDF_FILE) - -html: gifs $(HTML_REF_MAN_FILE) - -man: $(MAN3_FILES) - -gifs: $(GIF_FILES:%=$(HTMLDIR)/%) - -debug opt: - -clean clean_docs: - rm -rf $(HTMLDIR)/* - rm -rf $(XMLDIR) - rm -f $(MAN3DIR)/* - rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo) - rm -f errs core *~ - -# ---------------------------------------------------- -# Release Target -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_release_targets.mk - -release_docs_spec: docs - $(INSTALL_DIR) "$(RELSYSDIR)/doc/pdf" - $(INSTALL_DATA) $(TOP_PDF_FILE) "$(RELSYSDIR)/doc/pdf" - $(INSTALL_DIR) "$(RELSYSDIR)/doc/html" - $(INSTALL_DATA) $(HTMLDIR)/* \ - "$(RELSYSDIR)/doc/html" - $(INSTALL_DATA) $(INFO_FILE) "$(RELSYSDIR)" - $(INSTALL_DIR) "$(RELEASE_PATH)/man/man3" - $(INSTALL_DATA) $(MAN3DIR)/* "$(RELEASE_PATH)/man/man3" - -release_spec: diff --git a/lib/otp_mibs/doc/src/book.xml b/lib/otp_mibs/doc/src/book.xml deleted file mode 100644 index 482da46876..0000000000 --- a/lib/otp_mibs/doc/src/book.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - -
- - 20032016 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - OTP_Mibs - Ingela Anderton - - 2003-04-15 - A -
- - - OTP_Mibs application - - - - - - - - - - - - - -
- - diff --git a/lib/otp_mibs/doc/src/introduction.xml b/lib/otp_mibs/doc/src/introduction.xml deleted file mode 100644 index 7046cbb8ae..0000000000 --- a/lib/otp_mibs/doc/src/introduction.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - -
- - 20032016 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - Introduction - Ingela Anderton - - 2003-05-19 - A - introduction.xml -
- -
- Purpose -

The purpose of the OTP_Mibs application is to provide an SNMP - management information base for Erlang nodes.

-
- -
- Pre-requisites -

It is assumed that the reader is familiar with the Erlang - programming language, concepts of OTP and has a basic knowledge - of SNMP.

-
-
- - diff --git a/lib/otp_mibs/doc/src/mibs.xml b/lib/otp_mibs/doc/src/mibs.xml deleted file mode 100644 index a32d5ea5f5..0000000000 --- a/lib/otp_mibs/doc/src/mibs.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - -
- - 20032016 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - Mibs - Ingela Anderton - - 2003-05-19 - A - mibs.xml -
- -
- Structure -

The OTP mibs are stored in the - $OTP_ROOT/lib/otp_mibs/mibs/ directory. They - are defined in SNMPv2 SMI syntax. An SNMPv1 version of the mib is - delivered in the mibs/v1 directory. The compiled MIB is - located under priv/mibs, and the generated .hrl - file under the include directory. To compile a MIB that - IMPORTS a MIB in the OTP_Mibs application, give the option - {il, ["otp_mibs/priv/mibs"]} to the MIB compiler.

-
- -
- OTP-MIB -

The OTP-MIB mib represents information about Erlang nodes such as - node name, number of running processes, virtual machine version - etc. If the MIB should be used in a system, it should be - loaded into an SNMP agent by using the API function - otp_mib:load/1.

-
- -
- OTP-REG -

The OTP-REG mib defines the unique OTP subtree of object - identifiers under the Ericsson subtree. Under the OTP subtree - several object identifiers are defined. This module is typically - included by OTP applications defining their own mibs, or ASN.1 - modules in general, that require unique object identifiers under - the OTP subtree.

-
- -
- OTP-TC -

The OTP-TC mib provides the textual convention datatype - OwnerString.

-
-
- - diff --git a/lib/otp_mibs/doc/src/notes.xml b/lib/otp_mibs/doc/src/notes.xml deleted file mode 100644 index 443f08f1e1..0000000000 --- a/lib/otp_mibs/doc/src/notes.xml +++ /dev/null @@ -1,327 +0,0 @@ - - - - -
- - 20042018 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - OTP_Mibs Release Notes - otp_appnotes - nil - nil - nil - notes.xml -
-

This document describes the changes made to the OTP_Mibs - application.

- -
Otp_Mibs 1.2.1 - -
Fixed Bugs and Malfunctions - - -

- Improved documentation.

-

- Own Id: OTP-15190

-
-
-
- -
- -
Otp_Mibs 1.2 - -
Improvements and New Features - - -

- The otp_mibs application has been deprecated and will be - removed in a future release.

-

- Own Id: OTP-15141

-
-
-
- -
- -
Otp_Mibs 1.1.2 - -
Fixed Bugs and Malfunctions - - -

Removed all old unused files in the documentation. -

-

- Own Id: OTP-14475 Aux Id: ERL-409, PR-1493

-
-
-
- -
- -
Otp_Mibs 1.1.1 - -
Improvements and New Features - - -

- Internal changes

-

- Own Id: OTP-13551

-
-
-
- -
- -
Otp_Mibs 1.1 - -
Improvements and New Features - - -

- Change license text from Erlang Public License to Apache - Public License v2

-

- Own Id: OTP-12845

-
-
-
- -
- -
Otp_Mibs 1.0.10 - -
Fixed Bugs and Malfunctions - - -

- Make sure the clean rule for ssh, ssl, eunit and otp_mibs - actually removes generated files.

-

- Own Id: OTP-12200

-
-
-
- -
- -
Otp_Mibs 1.0.9 - -
Fixed Bugs and Malfunctions - - -

- Add type based integer value truncation/reset.

-

- This fixes errors when querying e.g. the - erlNodeReductions, erlNodeInBytes and erlNodeOutBytes - objects in long-running Erlang/OTP systems.

-

- Update types of applicable MIB objects to 64bit based - types.

-

- Potential incompatibility: Type change of Counter32 to - Counter64 in OTP-MIB.mib

-

- (Thanks to Tobias Schlager)

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-11203

-
- -

- Application upgrade (appup) files are corrected for the - following applications:

-

- asn1, common_test, compiler, crypto, debugger, - dialyzer, edoc, eldap, erl_docgen, et, eunit, gs, hipe, - inets, observer, odbc, os_mon, otp_mibs, parsetools, - percept, public_key, reltool, runtime_tools, ssh, - syntax_tools, test_server, tools, typer, webtool, wx, - xmerl

-

- A new test utility for testing appup files is added to - test_server. This is now used by most applications in - OTP.

-

- (Thanks to Tobias Schlager)

-

- Own Id: OTP-11744

-
-
-
- -
- -
Otp_Mibs 1.0.8 - -
Improvements and New Features - - -

- Misc build updates

-

- Own Id: OTP-10784

-
-
-
- -
- -
Otp_Mibs 1.0.7 - -
Improvements and New Features - - -

- Tuple funs (a two-element tuple with a module name and a - function) are now officially deprecated and will be - removed in R16. Use 'fun M:F/A' instead. To make - you aware that your system uses tuple funs, the very - first time a tuple fun is applied, a warning will be sent - to the error logger.

-

- Own Id: OTP-9649

-
-
-
- -
- -
Otp_Mibs 1.0.6 - -
Improvements and New Features - - -

- The documentation is now built with open source tools - (xsltproc and fop) that exists on most platforms. One - visible change is that the frames are removed.

-

- Own Id: OTP-8201

-
-
-
- -
- -
Otp_Mibs 1.0.5 - -
Improvements and New Features - - -

The copyright notices have been updated.

-

- Own Id: OTP-7851

-
-
-
- -
- -
- Otp_Mibs 1.0.4.1 - -
- Improvements and New Features - - -

Minor Makefile changes.

-

Own Id: OTP-6689

-
-
-
-
- -
- OTP_Mibs 1.0.4 - -
- Improvements and New Features - - -

Replaced calls to deprecated functions in snmp - with calls to the equivalent functions in snmpa.

-

Own Id: OTP-6112

-
-
-
-
- -
- OTP_Mibs 1.0.3 - -
- Improvements and New Features - - -

The otp_mib module has been cleaned up to improve the - maintainability. It should have no effect on the - functionality of the OTP_Mibs application.

-

Own Id: OTP-4982

-
-
-
-
- -
- OTP_Mibs 1.0.2 - -
- Fixed Bugs and Malfunctions - - -

Incorrect .app file (missing mandatory - registered).

-

Own Id: OTP-4823 Aux Id: Seq8145, OTP-4801

-
-
-
-
- -
- OTP_Mibs 1.0.1 - -
- Fixed Bugs and Malfunctions - - -

Missing .app and appup files in ebin.

-

Own Id: OTP-4801 Aux Id: Seq8145

-
-
-
-
- -
- OTP_Mibs 1.0 -

The OTP mibs that where included in the SASL application - have been moved to this new application OTP_Mibs. The OTP - mibs had no real connection to SASL and it is desirable that - the core of Erlang/OTP is not dependent on SNMP.

-

Own Id: OTP-4686

-
-
- - diff --git a/lib/otp_mibs/doc/src/otp_mib.xml b/lib/otp_mibs/doc/src/otp_mib.xml deleted file mode 100644 index 530c529c69..0000000000 --- a/lib/otp_mibs/doc/src/otp_mib.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - -
- - 20032018 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - otp_mib - Ingela Anderton - - - -
- otp_mib - Handles the OTP-MIB - -

The SNMP application should be used to start an SNMP agent. Then - the API functions below can be used to load/unload the OTP-MIB - into/from the agent. The instrumentation of the OTP-MIB uses - Mnesia, hence Mnesia must be started prior to loading the OTP-MIB.

- -

This application has been deprecated and will be removed in a furture release.

-
-
- - - load(Agent) -> ok | {error, Reason} - Load the OTP-MIB - - Agent = pid() | atom() - Reason = term() - - -

Loads the OTP-MIB.

-
-
- - unload(Agent) -> ok | {error, Reason} - Unload the OTP-MIB - - Agent = pid() | atom() - Reason = term() - - -

Unloads the OTP-MIB.

-
-
-
- -
- See Also -

snmp(3)

-
-
- - diff --git a/lib/otp_mibs/doc/src/part.xml b/lib/otp_mibs/doc/src/part.xml deleted file mode 100644 index 0a8ddce268..0000000000 --- a/lib/otp_mibs/doc/src/part.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - -
- - 20032016 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - OTP_Mibs User's Guide - Ingela Anderton - - 2002-09-17 - A -
- -

The OTP_Mibs application provides an SNMP management - information base for Erlang nodes.

-
- - -
- - diff --git a/lib/otp_mibs/doc/src/ref_man.xml b/lib/otp_mibs/doc/src/ref_man.xml deleted file mode 100644 index 06c5aadcd9..0000000000 --- a/lib/otp_mibs/doc/src/ref_man.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - -
- - 20032016 - Ericsson AB. All Rights Reserved. - - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - OTP_Mibs Reference Manual - Ingela Anderton - - 2002-09-13 - A -
- -

The OTP_Mibs application provides an SNMP management - information base for Erlang nodes.

-
- -
- - diff --git a/lib/otp_mibs/ebin/.gitignore b/lib/otp_mibs/ebin/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/include/.gitignore b/lib/otp_mibs/include/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/info b/lib/otp_mibs/info deleted file mode 100644 index aedd1c883b..0000000000 --- a/lib/otp_mibs/info +++ /dev/null @@ -1,2 +0,0 @@ -group: oam Operation & Maintenance Applications -short: SNMP management information base for Erlang/OTP nodes. diff --git a/lib/otp_mibs/mibs/Makefile b/lib/otp_mibs/mibs/Makefile deleted file mode 100644 index 11d790d014..0000000000 --- a/lib/otp_mibs/mibs/Makefile +++ /dev/null @@ -1,89 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2016. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# %CopyrightEnd% -# - -include $(ERL_TOP)/make/target.mk -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -# ---------------------------------------------------- -# Application version -# Release directory specification -# ---------------------------------------------------- -include ../vsn.mk -ifdef SASL_VSN -VSN=$(SASL_VSN) -RELSYSDIR = $(RELEASE_PATH)/lib/sasl-$(VSN) -else -VSN=$(OTP_MIBS_VSN) -RELSYSDIR = $(RELEASE_PATH)/lib/otp_mibs-$(VSN) -endif - -# ---------------------------------------------------- -# Target Specs -# ---------------------------------------------------- - -MIB_FILES= OTP-REG.mib OTP-TC.mib OTP-MIB.mib -FUNCS_FILES = OTP-MIB.funcs - -BIN_TARGETS= $(MIB_FILES:%.mib=$(SNMP_BIN_TARGET_DIR)/%.bin) -HRL_TARGETS= $(MIB_FILES:%.mib=$(SNMP_HRL_TARGET_DIR)/%.hrl) -V1_MIB_FILES= $(MIB_FILES:%.mib=v1/%.mib.v1) - -TARGET_FILES= $(BIN_TARGETS) $(HRL_TARGETS) $(V1_MIB_FILES) - -# ---------------------------------------------------- -# FLAGS -# ---------------------------------------------------- -SNMP_FLAGS = -I ../priv/mibs - -# ---------------------------------------------------- -# Targets -# ---------------------------------------------------- - -debug opt: $(TARGET_FILES) - -clean: - rm -f $(TARGET_FILES) - rm -f core - -docs: - -# ---------------------------------------------------- -# Special Build Targets -# ---------------------------------------------------- - -v1/%.mib.v1: %.mib - $(gen_verbose)$(ERL_TOP)/lib/snmp/bin/snmp-v2tov1 -o $@ $< - -# ---------------------------------------------------- -# Release Target -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_release_targets.mk - -release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/mibs" - $(INSTALL_DIR) "$(RELSYSDIR)/mibs/v1" - $(INSTALL_DATA) $(MIB_FILES) $(FUNCS_FILES) "$(RELSYSDIR)/mibs" - $(INSTALL_DATA) $(V1_MIB_FILES) "$(RELSYSDIR)/mibs/v1" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_TARGETS) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/priv/mibs" - $(INSTALL_DATA) $(BIN_TARGETS) "$(RELSYSDIR)/priv/mibs" - -release_docs_spec: diff --git a/lib/otp_mibs/mibs/OTP-EVA-MIB.mib b/lib/otp_mibs/mibs/OTP-EVA-MIB.mib deleted file mode 100644 index 4d0c53ed95..0000000000 --- a/lib/otp_mibs/mibs/OTP-EVA-MIB.mib +++ /dev/null @@ -1,569 +0,0 @@ --- --- %CopyrightBegin% --- --- Copyright Ericsson AB 2004-2016. All Rights Reserved. --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. --- --- %CopyrightEnd% --- - -OTP-EVA-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - Counter32, Gauge32, Integer32 - FROM SNMPv2-SMI - TEXTUAL-CONVENTION, DisplayString, DateAndTime - FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP - FROM SNMPv2-CONF - otpModules, otpApplications - FROM OTP-REG - OwnerString - FROM OTP-TC - ; - -otpEvaModule MODULE-IDENTITY - LAST-UPDATED "200305090900Z" - ORGANIZATION "Ericsson" - CONTACT-INFO - "Contact: Erlang Support see license agreement for Erlang/OTP." - DESCRIPTION - "This MIB is part of the OTP MIB. It defines MIB objects - for the eva application in OTP." - - REVISION "200305090900Z" - DESCRIPTION - "Changed CONTACT-INFO as it was outdated, made it more generic - to avoid such changes in the future." - - REVISION "199801270900Z" - DESCRIPTION - "Changed erroneous defintion of alarmCleared notification. - Changed erroneous name of this module to otpEvaModule." - REVISION "199712010900Z" - DESCRIPTION - "Converted to v2 SMI and placed in the OTP tree." - REVISION "199705020900Z" - DESCRIPTION - "The initial version of this MIB module. It is very much - inspired by the ANS-ALM-MIB and Axd301Eva-OMS mibs." - ::= { otpModules 6 } - -otpEvaMIB OBJECT IDENTIFIER ::= { otpApplications 4 } -otpEvaMIBConformance - OBJECT IDENTIFIER ::= { otpEvaMIB 1 } -otpEvaMIBObjects - OBJECT IDENTIFIER ::= { otpEvaMIB 2 } -otpEvaMIBEvents OBJECT IDENTIFIER ::= { otpEvaMIB 3 } -otpEvaMIBEventsV2 - OBJECT IDENTIFIER ::= { otpEvaMIBEvents 0 } - - --- Datatypes - -AlarmSeverity ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The AlarmSeverity defines six severity levels, - which provide an indication of how it is perceived that the - capability of the managed object has been affected. Those - severity levels which represent service affecting conditions - ordered from most severe to least severe are critical, - major, minor and warning. The levels used are as defined - in X.733, ITU Alarm Reporting Function: - - o The Indeterminate severity level indicates that the - severity level cannot be determined. - - o The Critical severity level indicates that a service - affecting condition has occurred and an immediate - corrective action is required. Such a severity can be - reported, for example, when a managed object becomes - totally out of service and its capability must be restored. - - o The Major severity level indicates that a service - affecting condition has developed and an urgent corrective - action is required. Such a severity can be reported, for - example, when there is a severe degradation in the - capability of the managed object and its full capability - must be restored. - - o The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective - action should be taken in order to prevent a more serious - (for example, service affecting) fault. Such a severity - can be reported, for example, when the detected alarm - condition is not currently degrading the capacity of the - managed object. - - o The Warning severity level indicates the detection of a - potential or impending service affecting fault, before any - significant effects have been felt. Action should be taken - to further diagnose (if necessary) and correct the problem - in order to prevent it from becoming a more serious service - affecting fault. - - When an alarm is cleared, an alarmCleared event is generated. - This event clears the alarm with the currentAlarmFaultId - contained in the event. It is not required that the clearing - of previously reported alarms are reported. Therefore, a managing - system cannot assume that the absence of an alarmedCleared event - for a fault means that the condition that caused the generation - of previous alarms is still present. Managed object definers - shall state if, and under which conditions, the alarmedCleared - event is used. - - The clear value of AlarmSeverity is an action which is used when - a management station wants to clear an active alarm. This is not - possible on all systems, and thus an agent does not have support - write access for this value." - REFERENCE - "X.733, ITU Alarm Reporting Function" - SYNTAX INTEGER { - indeterminate (0), - critical (1), - major (2), - minor (3), - warning (4), - clear (5) -- Written, not read - } - -AlarmClass ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The AlarmClass type categorizes the alarm, and is - defined when the alarm is registered. It is as defined in - X.733, ITU Alarm Reporting Function: - - o communications. An alarm of this class is principally - associated with the procedures or processes required - to convey information from one point to another. - - o qos. An alarm of this class is principally associated - with a degradation in the quality of service. - - o processing. An alarm of this class is principally - associated with a software or processing fault. - - o equipment. An alarm of this class is principally - associated with an equipment fault. - - o environmental. An alarm of this class is principally - associated with a condition relating to an enclosure in - with equipment resides." - REFERENCE - "X.733, ITU Alarm Reporting Function" - SYNTAX INTEGER { - unknown (0), - communications (1), - qos (2), - processing (3), - equipment (4), - environmental (5) - } - - --- Managed Objects - -event OBJECT IDENTIFIER ::= { otpEvaMIBObjects 1 } -alarm OBJECT IDENTIFIER ::= { otpEvaMIBObjects 2 } -currentAlarm OBJECT IDENTIFIER ::= { otpEvaMIBObjects 3 } - --- The Event group --- --- The Event group controls the generation of notifications of --- events from the system. - -eventTable OBJECT-TYPE - SYNTAX SEQUENCE OF EventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of events defined by the system. This table is used - to control the sending of traps and to whom the traps are - sent." - ::= { event 1 } - -eventEntry OBJECT-TYPE - SYNTAX EventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters that describe an event to be - generated when certain conditions are met." - INDEX { eventIndex } - ::= { eventTable 1 } - -EventEntry ::= SEQUENCE { - eventIndex Integer32 (1..2147483647), - eventTrapName DisplayString, - eventTreatment INTEGER, - eventCommunity OCTET STRING (SIZE (0..127)), - eventSentTraps Counter32, - eventOwner OwnerString - } - -eventIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - event table. Each such entry defines one event that - is to be generated when the appropriate conditions - occur. The value for each eventIndex must remain - constant, at least from one re-initialization of the - entity's network management system to the next - re-initialization." - ::= { eventEntry 1 } - -eventTrapName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The identifier of the corresponding trap. - NOTE: this should be an OID in SNMPv2, but must be - a string in v1." - ::= { eventEntry 2 } - -eventTreatment OBJECT-TYPE - SYNTAX INTEGER { - none(1), - log(2), - snmpTrap(3), - logAndTrap(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Defines how the system shall treat this event. In the - case of snmpTrap, an SNMP trap is sent to one or more - management stations. In the case of log, the event is - guaranteed to be logged in a log according to some log - strategy. Each such log strategy may define a MIB module - for control and examination of logs." - ::= { eventEntry 3 } - -eventCommunity OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "If an SNMP trap is to be sent, it will be sent to - the SNMP community specified by this octet string." - ::= { eventEntry 4 } - -eventSentTraps OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times this event has been sent as a trap." - ::= { eventEntry 5 } - -eventOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The manager entity that 'owns' this event entry, and is - therefore responsible for its contents." - ::= { eventEntry 6 } - -eventTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "This object may be included in a trap definition for an event. - It specifies the time the event was generated." - ::= { event 2 } - - --- The Alarm group --- --- The Alarm group extends the Event group with objects for alarms. - -alarmTable OBJECT-TYPE - SYNTAX SEQUENCE OF AlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Contains additional information for alarm events." - ::= { alarm 1 } - -alarmEntry OBJECT-TYPE - SYNTAX AlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters for alarms." - INDEX { eventIndex } - ::= { alarmTable 1 } - -AlarmEntry ::= SEQUENCE { - alarmClass AlarmClass, - alarmSeverity AlarmSeverity - } - -alarmClass OBJECT-TYPE - SYNTAX AlarmClass - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The class of this alarm." - ::= { alarmEntry 1 } - -alarmSeverity OBJECT-TYPE - SYNTAX AlarmSeverity - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The perceived severity that shall apply to the - associated alarms." - ::= { alarmEntry 2 } - - --- The CurrentAlarm group --- --- The CurrentAlarm group is a collection of objects for monitoring of --- active alarms in the system. - -numberOfCurrentAlarms OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of currently active alarms in the system." - ::= { currentAlarm 1 } - -currentAlarmLastTimeChanged OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The time an entry in the currentAlarmTable was changed. - It may be used by a management station as a value to - poll. If the value is changed, the management station - knows that the currentAlarmTable has been updated." - ::= { currentAlarm 2 } - -currentAlarmTable OBJECT-TYPE - SYNTAX SEQUENCE OF CurrentAlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of currently active alarms in the system." - ::= { currentAlarm 3 } - -currentAlarmEntry OBJECT-TYPE - SYNTAX CurrentAlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters that describe a currently active - alarm." - INDEX { currentAlarmFaultId } - ::= { currentAlarmTable 1 } - -CurrentAlarmEntry ::= SEQUENCE { - currentAlarmFaultId Integer32 (1..2147483647), - currentAlarmEventIndex Integer32 (1..2147483647), - currentAlarmObject OBJECT IDENTIFIER, - currentAlarmCause OBJECT IDENTIFIER, - currentAlarmSeverity AlarmSeverity, - currentAlarmTime DateAndTime, - currentAlarmInformation DisplayString, - currentAlarmExtra1 OBJECT IDENTIFIER, - currentAlarmExtra2 OBJECT IDENTIFIER - } - -currentAlarmFaultId OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An id that uniquely identifies a fault. Each fault is - represented as one an entry in the currentAlarmTable." - ::= { currentAlarmEntry 1 } - -currentAlarmEventIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A pointer into the eventTable. Points to the event - corresponding to this alarm." - ::= { currentAlarmEntry 2 } - -currentAlarmObject OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The alarming object." - ::= { currentAlarmEntry 3 } - -currentAlarmCause OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The probable cause of the alarm." - ::= { currentAlarmEntry 4 } - -currentAlarmSeverity OBJECT-TYPE - SYNTAX AlarmSeverity - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The perceived severity of the fault. A manager can set - this value to clear only. When set to clear, the alarm - is removed from this table, and a 'clearAlarm' event is - generated." - ::= { currentAlarmEntry 5 } - -currentAlarmTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The time the fault was detected." - ::= { currentAlarmEntry 6 } - -currentAlarmInformation OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Additional information pin-pointing the problem." - ::= { currentAlarmEntry 7 } - -currentAlarmExtra1 OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An extra parameter used for some alarms at their own - discretion. Can be used for example to identify - additional objects in the alarm, or instead of - currentAlarmInformation to pin-point the problem, if the - additional information is defined in some MIB." - ::= { currentAlarmEntry 8 } - -currentAlarmExtra2 OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An extra parameter used for some alarms at their own - discretion. Can be used for example to identify - additional objects in the alarm, or instead of - currentAlarmInformation to pin-point the problem, if the - additional information is defined in some MIB." - ::= { currentAlarmEntry 9 } - - --- Events - -alarmCleared NOTIFICATION-TYPE - OBJECTS { - currentAlarmEventIndex, - eventTime - } - STATUS current - DESCRIPTION - "This event is sent when an alarm has been cleared, - either by the application or by an operator. Note that the - currentAlarmFaultId is implicitly sent as the instance identifier - for currentAlarmEventIndex." - ::= { otpEvaMIBEventsV2 1 } - - --- conformance information - -otpEvaMIBCompliances - OBJECT IDENTIFIER ::= { otpEvaMIBConformance 1 } -otpEvaMIBGroups - OBJECT IDENTIFIER ::= { otpEvaMIBConformance 2 } - - --- compliance statements - -otpEvaBasicCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement the OTP-EVA-MIB." - MODULE -- this module - MANDATORY-GROUPS { eventGroup, - alarmGroup, - currentAlarmGroup, - evaEventsGroup } - - ::= { otpEvaMIBCompliances 1 } - - --- units of conformance - -eventGroup OBJECT-GROUP - OBJECTS { eventTrapName, - eventTreatment, - eventCommunity, - eventSentTraps, - eventOwner, - eventTime } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - and control of the events defined in the OTP system." - ::= { otpEvaMIBGroups 1 } - -alarmGroup OBJECT-GROUP - OBJECTS { alarmClass, - alarmSeverity } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - and control of the alarms defined the OTP system." - ::= { otpEvaMIBGroups 2 } - -currentAlarmGroup OBJECT-GROUP - OBJECTS { numberOfCurrentAlarms, - currentAlarmLastTimeChanged, - currentAlarmEventIndex, - currentAlarmObject, - currentAlarmCause, - currentAlarmSeverity, - currentAlarmTime, - currentAlarmInformation, - currentAlarmExtra1, - currentAlarmExtra2 } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - of the activa alarm list in the OTP system." - ::= { otpEvaMIBGroups 3 } - -evaEventsGroup NOTIFICATION-GROUP - NOTIFICATIONS { alarmCleared } - STATUS current - DESCRIPTION - "The notification which is generated from EVA." - ::= { otpEvaMIBGroups 4 } - - -END diff --git a/lib/otp_mibs/mibs/OTP-MIB.funcs b/lib/otp_mibs/mibs/OTP-MIB.funcs deleted file mode 100644 index 9f9d69c3d1..0000000000 --- a/lib/otp_mibs/mibs/OTP-MIB.funcs +++ /dev/null @@ -1,2 +0,0 @@ -{erlNodeTable, {otp_mib, erl_node_table, []}}. -{applTable, {otp_mib, appl_table, []}}. diff --git a/lib/otp_mibs/mibs/OTP-MIB.mib b/lib/otp_mibs/mibs/OTP-MIB.mib deleted file mode 100644 index 693319eae4..0000000000 --- a/lib/otp_mibs/mibs/OTP-MIB.mib +++ /dev/null @@ -1,318 +0,0 @@ --- --- %CopyrightBegin% --- --- Copyright Ericsson AB 1996-2016. All Rights Reserved. --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. --- --- %CopyrightEnd% --- - -OTP-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - Counter64, Gauge32, Integer32 - FROM SNMPv2-SMI - TEXTUAL-CONVENTION, DisplayString - FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP - FROM SNMPv2-CONF - otpModules, otpApplications - FROM OTP-REG - ; - -otpModule MODULE-IDENTITY - LAST-UPDATED "201307160700Z" - ORGANIZATION "Ericsson" - CONTACT-INFO - "Contact: Erlang Support see license agreement for Erlang/OTP." - DESCRIPTION - "This is a MIB for a distributed OTP system, with one SNMP - agent executing at one node only. Each Erlang node in the - OTP system is represented by one row in the erlNodeTable." - - REVISION "201307160700Z" - DESCRIPTION - "Updated various types to be able to reflect larger values. - The objects erlNodeReductions, erlNodeInBytes, erlNodeOutBytes as well - as the type MilliSeconds have been updated to Counter64." - - REVISION "200305090900Z" - DESCRIPTION - "Changed CONTACT-INFO as it was outdated, made it more generic - to avoid such changes in the future." - - REVISION "199712010900Z" - DESCRIPTION - "Converted to v2 SMI and placed in the OTP tree." - - REVISION "199608191700Z" - DESCRIPTION - "The initial revision of MIB module OTP-MIB." - - ::= { otpModules 3 } - -otpMIB OBJECT IDENTIFIER ::= { otpApplications 1 } -otpMIBConformance - OBJECT IDENTIFIER ::= { otpMIB 1 } -otpMIBObjects OBJECT IDENTIFIER ::= { otpMIB 2 } - --- Datatypes - -MilliSeconds ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The MilliSeconds type represents a Counter which represents - the time, in milliseconds between two epochs. When objects - are defined which use this type, the description of the object - identifies both of the reference epochs." - SYNTAX Counter64 - - --- Managed Objects - -erlang OBJECT IDENTIFIER ::= { otpMIBObjects 1 } -appls OBJECT IDENTIFIER ::= { otpMIBObjects 2 } - -erlNodeTable OBJECT-TYPE - SYNTAX SEQUENCE OF ErlNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table with info on each erlang node in the system." - ::= { erlang 1 } - -erlNodeEntry OBJECT-TYPE - SYNTAX ErlNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A conceptual row in the erlNodeTable." - INDEX { erlNodeId } - ::= { erlNodeTable 1 } - -ErlNodeEntry ::= SEQUENCE { - erlNodeId Integer32, - erlNodeName DisplayString, - erlNodeMachine DisplayString, - erlNodeVersion DisplayString, - erlNodeRunQueue Gauge32, - erlNodeRunTime MilliSeconds, - erlNodeWallClock MilliSeconds, - erlNodeReductions Counter64, - erlNodeProcesses Gauge32, - erlNodeInBytes Counter64, - erlNodeOutBytes Counter64 -} - -erlNodeId OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An integer that uniquely identifies the erlang node." - ::= { erlNodeEntry 1 } - -erlNodeName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The symbolic name of the erlang node." - ::= { erlNodeEntry 2 } - -erlNodeMachine OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The virtual machine executing the erlang node" - ::= { erlNodeEntry 3 } - -erlNodeVersion OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version number of the virtual machine" - ::= { erlNodeEntry 4 } - -erlNodeRunQueue OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of processes scheduled to run" - ::= { erlNodeEntry 5 } - -erlNodeRunTime OBJECT-TYPE - SYNTAX MilliSeconds - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total cpu time in milliseconds since the - system started" - ::= { erlNodeEntry 6 } - -erlNodeWallClock OBJECT-TYPE - SYNTAX MilliSeconds - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total real time in milliseconds since the - system started" - ::= { erlNodeEntry 7 } - -erlNodeReductions OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of function calls since the system started" - ::= { erlNodeEntry 8 } - -erlNodeProcesses OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of running processes in the system." - ::= { erlNodeEntry 9 } - -erlNodeInBytes OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of bytes delivered to the system" - ::= { erlNodeEntry 10 } - -erlNodeOutBytes OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of bytes delivered from the system" - ::= { erlNodeEntry 11 } - - -applTable OBJECT-TYPE - SYNTAX SEQUENCE OF ApplEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table with all currently running applications - for each node." - ::= { appls 1 } - -applEntry OBJECT-TYPE - SYNTAX ApplEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A conceptual row in the applTable." - INDEX { erlNodeId, applId } - ::= { applTable 1 } - -ApplEntry ::= SEQUENCE { - applId Integer32, - applName DisplayString, - applDescr DisplayString, - applVsn DisplayString -} - -applId OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An integer that uniquely identifies the application." - ::= { applEntry 1 } - -applName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The name of the application." - ::= { applEntry 2 } - -applDescr OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A short description of the application." - ::= { applEntry 3 } - -applVsn OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version of the application." - ::= { applEntry 4 } - - --- conformance information - -otpMIBCompliances - OBJECT IDENTIFIER ::= { otpMIBConformance 1 } -otpMIBGroups OBJECT IDENTIFIER ::= { otpMIBConformance 2 } - - --- compliance statements - -otpBasicCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement the OTP-MIB." - MODULE -- this module - MANDATORY-GROUPS { erlGroup, applGroup } - - ::= { otpMIBCompliances 1 } - - --- units of conformance - -erlGroup OBJECT-GROUP - OBJECTS { erlNodeName, - erlNodeMachine, - erlNodeVersion, - erlNodeRunQueue, - erlNodeRunTime, - erlNodeWallClock, - erlNodeReductions, - erlNodeProcesses, - erlNodeInBytes, - erlNodeOutBytes } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - of the Erlang runtime system." - ::= { otpMIBGroups 1 } - -applGroup OBJECT-GROUP - OBJECTS { applName, - applDescr, - applVsn } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - of the applications in the OTP system." - ::= { otpMIBGroups 2 } - - -END diff --git a/lib/otp_mibs/mibs/v1/.gitignore b/lib/otp_mibs/mibs/v1/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/priv/bin/.gitignore b/lib/otp_mibs/priv/bin/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/priv/mibs/.gitignore b/lib/otp_mibs/priv/mibs/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/priv/obj/.gitignore b/lib/otp_mibs/priv/obj/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile deleted file mode 100644 index 5c7af39c3f..0000000000 --- a/lib/otp_mibs/src/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 2003-2016. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# %CopyrightEnd% -# -include $(ERL_TOP)/make/target.mk - -ifeq ($(TYPE),debug) -ERL_COMPILE_FLAGS += -Ddebug -W -endif - -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -# ---------------------------------------------------- -# Application version -# ---------------------------------------------------- -include ../vsn.mk -VSN=$(OTP_MIBS_VSN) - -# ---------------------------------------------------- -# Release directory specification -# ---------------------------------------------------- -RELSYSDIR = $(RELEASE_PATH)/lib/otp_mibs-$(VSN) -# ---------------------------------------------------- -# Target Specs -# ---------------------------------------------------- -MODULES = \ - otp_mib - -INCLUDE=../include - -HRL_FILES = - -INTERNAL_HRL_FILES = - -ERL_FILES = $(MODULES:%=%.erl) - -APP_FILE = otp_mibs.app -APP_SRC = $(APP_FILE).src -APP_TARGET = $(EBIN)/$(APP_FILE) - -APPUP_FILE = otp_mibs.appup -APPUP_SRC = $(APPUP_FILE).src -APPUP_TARGET = $(EBIN)/$(APPUP_FILE) - -TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) - -TARGETS = $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) - -# ---------------------------------------------------- -# FLAGS -# ---------------------------------------------------- -ERL_COMPILE_FLAGS += -I$(INCLUDE) - -# ---------------------------------------------------- -# Targets -# ---------------------------------------------------- - -debug opt: $(TARGETS) - -clean: - rm -f $(TARGET_FILES) - rm -f $(APP_TARGET) - rm -f $(APPUP_TARGET) - rm -f core - -docs: - -# ---------------------------------------------------- -# Special Build Targets -# ---------------------------------------------------- - -$(APP_TARGET): $(APP_SRC) ../vsn.mk - $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@ - -$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@ - -# ---------------------------------------------------- -# Release Target -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_release_targets.mk - -release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin" - -release_docs_spec: - - diff --git a/lib/otp_mibs/src/otp_mib.erl b/lib/otp_mibs/src/otp_mib.erl deleted file mode 100644 index ca868f2817..0000000000 --- a/lib/otp_mibs/src/otp_mib.erl +++ /dev/null @@ -1,219 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2018. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -%% --module(otp_mib). -%%%----------------------------------------------------------------- -%%% Description: This module implements the OTP-MIB. -%%% The tables are implemented as shadow tables with the module -%%% snmp_shadow_table. -%%%----------------------------------------------------------------- - -%% API --export([load/1, unload/1]). - -%% SNMP instrumentation --export([erl_node_table/1, erl_node_table/3, appl_table/1, appl_table/3]). - -%% SNMP shadow functions --export([update_erl_node_table/0, update_appl_table/0]). - -%% Exported for internal use via rpc --export([get_erl_node/1, get_appls/1]). - --deprecated([{load,1,eventually}, - {unload,1,eventually}]). - -%% Shadow tables --record(erlNodeTable, - {erlNodeId, erlNodeName, erlNodeMachine, erlNodeVersion, - erlNodeRunQueue, - erlNodeRunTime, erlNodeWallClock, erlNodeReductions, - erlNodeProcesses, erlNodeInBytes, erlNodeOutBytes}). - --record(applTable, {key = '_', applName = '_', applDescr = '_', - applVsn = '_'}). - -%% Shadow argument macros --define(erlNodeShadowArgs, - {erlNodeTable, integer, record_info(fields, erlNodeTable), 5000, - fun otp_mib:update_erl_node_table/0}). - --define(applShadowArgs, - {applTable, {integer, integer}, record_info(fields, applTable), - 5000, fun otp_mib:update_appl_table/0}). - -%% Misc --record(erlNodeAlloc, {nodeName, nodeId}). - -%%%========================================================================= -%%% API -%%%========================================================================= - -%%------------------------------------------------------------------------- -%% load(Agent) -> ok | {error, Reason} -%% Agent - pid() | atom() -%% Reason - term() -%% Description: Loads the OTP-MIB -%%------------------------------------------------------------------------- -load(Agent) -> - MibDir = code:priv_dir(otp_mibs) ++ "/mibs", - snmpa:load_mibs(Agent, [MibDir ++ "/OTP-MIB"]). - -%%------------------------------------------------------------------------- -%% unload(Agent) -> ok | {error, Reason} -%% Agent - pid() | atom() -%% Reason - term() -%% Description: Loads the OTP-MIB -%%------------------------------------------------------------------------- -unload(Agent) -> - snmpa:unload_mibs(Agent, ["OTP-MIB"]). - - -%%%========================================================================= -%%% SNMP instrumentation -%%%========================================================================= -erl_node_table(new) -> - Tab = erlNodeAlloc, - Storage = ram_copies, - case lists:member(Tab, mnesia:system_info(tables)) of - true -> - case mnesia:table_info(Tab, storage_type) of - unknown -> - {atomic, ok} = mnesia:add_table_copy(Tab, node(), Storage); - Storage -> - catch delete_all(Tab) - end; - false -> - Nodes = [node()], - Props = [{type, set}, - {attributes, record_info(fields, erlNodeAlloc)}, - {local_content, true}, - {Storage, Nodes}], - {atomic, ok} = mnesia:create_table(Tab, Props) - end, - ok = mnesia:dirty_write({erlNodeAlloc, next_index, 1}), - update_node_alloc([node() | nodes()]), - snmp_shadow_table:table_func(new, ?erlNodeShadowArgs). - -erl_node_table(Op, RowIndex, Cols) -> - snmp_shadow_table:table_func(Op, RowIndex, Cols, ?erlNodeShadowArgs). - - -appl_table(Op) -> - snmp_shadow_table:table_func(Op, ?applShadowArgs). -appl_table(Op, RowIndex, Cols) -> - snmp_shadow_table:table_func(Op, RowIndex, Cols, ?applShadowArgs). - - -%%%========================================================================= -%%% SNMP shadow functions -%%%========================================================================= -update_erl_node_table() -> - delete_all(erlNodeTable), - Nodes = [node() | nodes()], - update_node_alloc(Nodes), - lists:foreach( - fun(Node) -> - [{_,_,Idx}] = mnesia:dirty_read({erlNodeAlloc, Node}), - ErlNode = rpc:call(Node, otp_mib, get_erl_node, [Idx]), - ok = mnesia:dirty_write(ErlNode) - end, Nodes). - -update_appl_table() -> - delete_all(applTable), - Nodes = [node() | nodes()], - update_node_alloc(Nodes), - lists:foreach( - fun(Node) -> - [{_,_,Idx}] = mnesia:dirty_read({erlNodeAlloc, Node}), - Appls = rpc:call(Node, otp_mib, get_appls, [Idx]), - lists:foreach(fun(Appl) -> - ok = mnesia:dirty_write(Appl) - end, Appls) - end, Nodes). - -%%%======================================================================== -%%% Exported for internal use via rpc -%%%======================================================================== -get_erl_node(Id) -> - RunQueue = erlang:statistics(run_queue), - RunTime = element(1, erlang:statistics(runtime)), - WallClock = element(1, erlang:statistics(wall_clock)), - Reductions = element(1, erlang:statistics(reductions)), - Processes = length(processes()), - IO = erlang:statistics(io), - InBytes = element(2, element(1, IO)), - OutBytes = element(2, element(2, IO)), - #erlNodeTable{erlNodeId = truncate_int('Integer32', Id), - erlNodeName = atom_to_list(node()), - erlNodeVersion = erlang:system_info(version), - erlNodeMachine = erlang:system_info(machine), - erlNodeRunQueue = truncate_int('Unsigned32', RunQueue), - erlNodeRunTime = truncate_int('Counter64', RunTime), - erlNodeWallClock = truncate_int('Counter64', WallClock), - erlNodeReductions = truncate_int('Counter64', Reductions), - erlNodeProcesses = truncate_int('Unsigned32', Processes), - erlNodeInBytes = truncate_int('Counter64', InBytes), - erlNodeOutBytes = truncate_int('Counter64', OutBytes)}. - -get_appls(NodeId) -> - element(1, - lists:mapfoldl( - fun({ApplName, ApplDescr, ApplVsn}, ApplId) -> - {#applTable{key = {NodeId, ApplId}, - applName = atom_to_list(ApplName), - applDescr = ApplDescr, - applVsn = ApplVsn}, - ApplId + 1} - end, 1, application:which_applications())). - -%%%======================================================================== -%%% Internal functions -%%%======================================================================== -update_node_alloc([Node | T]) -> - case mnesia:dirty_read({erlNodeAlloc, Node}) of - [] -> - [{_, _, Idx}] = mnesia:dirty_read({erlNodeAlloc, next_index}), - ok = mnesia:dirty_write(#erlNodeAlloc{nodeName = Node, - nodeId = Idx}), - ok = mnesia:dirty_write({erlNodeAlloc, next_index, Idx + 1}); - _ -> - ok - end, - update_node_alloc(T); -update_node_alloc([]) -> ok. - -delete_all(Name) -> delete_all(mnesia:dirty_first(Name), Name). -delete_all('$end_of_table', _Name) -> done; -delete_all(Key, Name) -> - Next = mnesia:dirty_next(Name, Key), - ok = mnesia:dirty_delete({Name, Key}), - delete_all(Next, Name). - -%% This will return a value limited to fit into the specified type. -%% While counter types will be resetted, other integer types will -%% only be restricted to the valid range. -truncate_int('Counter64', Value) when Value < 0 -> 0; -truncate_int('Counter64', Value) -> Value rem 18446744073709551615; -truncate_int('Unsigned32', Value) when Value < 0 -> 0; -truncate_int('Unsigned32', Value) when Value > 4294967295 -> 4294967295; -truncate_int('Unsigned32', Value) -> Value; -truncate_int('Integer32', Value) when Value < -2147483648 -> -2147483648; -truncate_int('Integer32', Value) when Value > 2147483647 -> 2147483647; -truncate_int('Integer32', Value) -> Value. diff --git a/lib/otp_mibs/src/otp_mibs.app.src b/lib/otp_mibs/src/otp_mibs.app.src deleted file mode 100644 index 75ef25c366..0000000000 --- a/lib/otp_mibs/src/otp_mibs.app.src +++ /dev/null @@ -1,30 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2016. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -%% - -{application, otp_mibs, - [{description, "SNMP managment information base for Erlang/OTP nodes."}, - {vsn, "%VSN%"}, - {modules, [otp_mib]}, - {registered, []}, - {applications, [kernel, stdlib, snmp]}, - {env,[]}, - {runtime_dependencies, ["stdlib-2.0","snmp-4.25.1","mnesia-4.12", - "kernel-3.0","erts-6.0"]}]}. - diff --git a/lib/otp_mibs/src/otp_mibs.appup.src b/lib/otp_mibs/src/otp_mibs.appup.src deleted file mode 100644 index 9437ae2222..0000000000 --- a/lib/otp_mibs/src/otp_mibs.appup.src +++ /dev/null @@ -1,22 +0,0 @@ -%% -*- erlang -*- -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2016. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -{"%VSN%", - [{<<".*">>,[{restart_application, otp_mibs}]}], - [{<<".*">>,[{restart_application, otp_mibs}]}] -}. diff --git a/lib/otp_mibs/test/Makefile b/lib/otp_mibs/test/Makefile deleted file mode 100644 index 9736cf8bce..0000000000 --- a/lib/otp_mibs/test/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2016. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# %CopyrightEnd% -# -include $(ERL_TOP)/make/target.mk - -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -# ---------------------------------------------------- -# Target Specs -# ---------------------------------------------------- - -MODULES= otp_mibs_SUITE - -EBIN = . - -HRL_FILES= - -ERL_FILES= $(MODULES:%=%.erl) - -TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) - -SOURCE = $(ERL_FILES) $(HRL_FILES) - -EMAKEFILE=Emakefile - -# ---------------------------------------------------- -# Release directory specification -# ---------------------------------------------------- -RELSYSDIR = $(RELEASE_PATH)/otp_mibs_test - -# ---------------------------------------------------- -# FLAGS -# ---------------------------------------------------- -ERL_MAKE_FLAGS += -ERL_COMPILE_FLAGS += \ - -I$(ERL_TOP)/lib/snmp/include - -# ---------------------------------------------------- -# Targets -# ---------------------------------------------------- - -make_emakefile: - $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES)\ - > $(EMAKEFILE) - -tests debug opt: make_emakefile - erl $(ERL_MAKE_FLAGS) -make - -clean: - rm -f $(EMAKEFILE) - rm -f $(TARGET_FILES) - rm -f core *~ - -docs: - - -# ---------------------------------------------------- -# Release Target -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_release_targets.mk - -release_spec: - -release_tests_spec: make_emakefile - $(INSTALL_DIR) "$(RELSYSDIR)" - $(INSTALL_DATA) $(EMAKEFILE) $(SOURCE) "$(RELSYSDIR)" - $(INSTALL_DATA) otp_mibs_SUITE.cfg "$(RELSYSDIR)" - -release_docs_spec: diff --git a/lib/otp_mibs/test/otp_mibs_SUITE.cfg b/lib/otp_mibs/test/otp_mibs_SUITE.cfg deleted file mode 100644 index d01cf92104..0000000000 --- a/lib/otp_mibs/test/otp_mibs_SUITE.cfg +++ /dev/null @@ -1,15 +0,0 @@ -%% -*- erlang -*- -{snmp, - [ - {start_agent,true}, - {users, - [ - {otp_mibs_test,[snmpm_user_default,[]]} - ]}, - {managed_agents, - [ - {otp_mibs_test, [otp_mibs_test, {127,0,0,1}, 4000, []]} - ]}, - {agent_sysname,"Test otp_mibs"}, - {mgr_port,5001} - ]}. diff --git a/lib/otp_mibs/test/otp_mibs_SUITE.erl b/lib/otp_mibs/test/otp_mibs_SUITE.erl deleted file mode 100644 index cb3cd28200..0000000000 --- a/lib/otp_mibs/test/otp_mibs_SUITE.erl +++ /dev/null @@ -1,255 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2016. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -%% --module(otp_mibs_SUITE). - -%%----------------------------------------------------------------- -%% This suite can no longer be executed standalone, i.e. it must be -%% executed with common test. The reason is that ct_snmp is used -%% instead of the snmp application directly. The suite requires a -%% config file, otp_mibs_SUITE.cfg, found in the same directory as -%% the suite. -%% -%% Execute with: -%% > ct_run -suite otp_mibs_SUITE -config otp_mibs_SUITE.cfg -%%----------------------------------------------------------------- - --include_lib("common_test/include/ct.hrl"). --include_lib("otp_mibs/include/OTP-MIB.hrl"). --include_lib("snmp/include/snmp_types.hrl"). - -% Test server specific exports --export([all/0, - suite/0, - groups/0, - init_per_group/2, - end_per_group/2, - init_per_suite/1, - end_per_suite/1, - init_per_testcase/2, - end_per_testcase/2]). - -% Test cases must be exported. --export([app/1, appup/1, nt_basic_types/1, nt_high_reduction_count/1]). - --define(TRAP_UDP, 5000). --define(AGENT_UDP, 4000). --define(CONF_FILE_VER, [v2]). --define(SYS_NAME, "Test otp_mibs"). --define(MAX_MSG_SIZE, 484). --define(ENGINE_ID, "mgrEngine"). --define(MGR_PORT, 5001). - -%% Since some cases are only interested in single entries of the OTP-MIB's -%% node table, one row must be chosen. The first row should be sufficient -%% for this. --define(NODE_ENTRY, 1). - -%%--------------------------------------------------------------------- -%% CT setup -%%--------------------------------------------------------------------- - -init_per_testcase(_Case, Config) when is_list(Config) -> - Dog = test_server:timetrap(test_server:minutes(6)), - [{watchdog, Dog}|Config]. - -end_per_testcase(_Case, Config) when is_list(Config) -> - Dog = ?config(watchdog, Config), - test_server:timetrap_cancel(Dog), - Config. - -suite() -> [{ct_hooks,[ts_install_cth]}, {require, snmp_mgr_agent, snmp}]. - -all() -> [{group, app}, {group, node_table}]. - -groups() -> [{app, [], [app, appup]}, - {node_table, [], [nt_basic_types, nt_high_reduction_count]}]. - -init_per_group(_GroupName, Config) -> Config. - -end_per_group(_GroupName, Config) -> Config. - -init_per_suite(Config) -> - ?line application:start(sasl), - ?line application:start(mnesia), - ?line application:start(otp_mibs), - - ok = ct_snmp:start(Config,snmp_mgr_agent), - - %% Load the mibs that should be tested - otp_mib:load(snmp_master_agent), - - Config. - -end_per_suite(Config) -> - PrivDir = ?config(priv_dir, Config), - ConfDir = filename:join(PrivDir,"conf"), - DbDir = filename:join(PrivDir,"db"), - MgrDir = filename:join(PrivDir, "mgr"), - - %% Uload mibs - otp_mib:unload(snmp_master_agent), - - %% Clean up - application:stop(snmp), - application:stop(mnesia), - application:stop(otp_mibs), - - del_dir(ConfDir), - del_dir(DbDir), - (catch del_dir(MgrDir)), - ok. - -%%--------------------------------------------------------------------- -%% Test cases -%%--------------------------------------------------------------------- - -%% Test that the otp_mibs app file is ok -app(Config) when is_list(Config) -> - ok = ?t:app_test(otp_mibs). - -%% Test that the otp_mibs appup file is ok -appup(Config) when is_list(Config) -> - ok = ?t:appup_test(otp_mibs). - -nt_basic_types(suite) -> - []; -nt_basic_types(doc) -> - ["Query every item of the node table and check its variable " - "type and content for sensible values."]; -nt_basic_types(Config) when is_list(Config) -> - ok = otp_mib:update_erl_node_table(), - - NodeNameId = ?erlNodeEntry ++ [?erlNodeName, ?NODE_ENTRY], - {noError, 0, [NodeNameVal]} = snmp_get([NodeNameId]), - #varbind{variabletype = 'OCTET STRING'} = NodeNameVal, - true = is_list(NodeNameVal#varbind.value), - - NodeMachineId = ?erlNodeEntry ++ [?erlNodeMachine, ?NODE_ENTRY], - {noError, 0, [NodeMachineVal]} = snmp_get([NodeMachineId]), - #varbind{variabletype = 'OCTET STRING'} = NodeMachineVal, - true = is_list(NodeMachineVal#varbind.value), - - NodeVersionId = ?erlNodeEntry ++ [?erlNodeVersion, ?NODE_ENTRY], - {noError, 0, [NodeVersionVal]} = snmp_get([NodeVersionId]), - #varbind{variabletype = 'OCTET STRING'} = NodeVersionVal, - true = is_list(NodeVersionVal#varbind.value), - - NodeRunQueueId = ?erlNodeEntry ++ [?erlNodeRunQueue, ?NODE_ENTRY], - {noError, 0, [NodeRunQueueVal]} = snmp_get([NodeRunQueueId]), - #varbind{variabletype = 'Unsigned32'} = NodeRunQueueVal, - true = is_integer(NodeRunQueueVal#varbind.value), - NodeRunQueueVal#varbind.value >= 0, - NodeRunQueueVal#varbind.value =< 4294967295, - - NodeRunTimeId = ?erlNodeEntry ++ [?erlNodeRunTime, ?NODE_ENTRY], - {noError, 0, [NodeRunTimeVal]} = snmp_get([NodeRunTimeId]), - #varbind{variabletype = 'Counter64'} = NodeRunTimeVal, - true = is_integer(NodeRunTimeVal#varbind.value), - NodeRunTimeVal#varbind.value >= 0, - NodeRunTimeVal#varbind.value =< 18446744073709551615, - - NodeWallClockId = ?erlNodeEntry ++ [?erlNodeWallClock, ?NODE_ENTRY], - {noError, 0, [NodeWallClockVal]} = snmp_get([NodeWallClockId]), - #varbind{variabletype = 'Counter64'} = NodeWallClockVal, - true = is_integer(NodeWallClockVal#varbind.value), - NodeWallClockVal#varbind.value >= 0, - NodeWallClockVal#varbind.value =< 18446744073709551615, - - NodeReductionsId = ?erlNodeEntry ++ [?erlNodeReductions, ?NODE_ENTRY], - {noError, 0, [NodeReductionsVal]} = snmp_get([NodeReductionsId]), - #varbind{variabletype = 'Counter64'} = NodeReductionsVal, - true = is_integer(NodeReductionsVal#varbind.value), - NodeReductionsVal#varbind.value >= 0, - NodeReductionsVal#varbind.value =< 18446744073709551615, - - NodeProcessesId = ?erlNodeEntry ++ [?erlNodeProcesses, ?NODE_ENTRY], - {noError, 0, [NodeProcessesVal]} = snmp_get([NodeProcessesId]), - #varbind{variabletype = 'Unsigned32'} = NodeProcessesVal, - true = is_integer(NodeProcessesVal#varbind.value), - NodeProcessesVal#varbind.value >= 0, - NodeProcessesVal#varbind.value =< 4294967295, - - NodeInBytesId = ?erlNodeEntry ++ [?erlNodeInBytes, ?NODE_ENTRY], - {noError, 0, [NodeInBytesVal]} = snmp_get([NodeInBytesId]), - #varbind{variabletype = 'Counter64'} = NodeInBytesVal, - true = is_integer(NodeInBytesVal#varbind.value), - NodeInBytesVal#varbind.value >= 0, - NodeInBytesVal#varbind.value =< 18446744073709551615, - - NodeOutBytesId = ?erlNodeEntry ++ [?erlNodeOutBytes, ?NODE_ENTRY], - {noError, 0, [NodeOutBytesVal]} = snmp_get([NodeOutBytesId]), - #varbind{variabletype = 'Counter64'} = NodeOutBytesVal, - true = is_integer(NodeOutBytesVal#varbind.value), - NodeOutBytesVal#varbind.value >= 0, - NodeOutBytesVal#varbind.value =< 18446744073709551615, - - ok. - -nt_high_reduction_count(suite) -> - []; -nt_high_reduction_count(doc) -> - ["Check that no error occurs when the erlNodeReductions field" - "exceeds the 32bit boundary, this may take about 10min."]; -nt_high_reduction_count(Config) when is_list(Config) -> - NodeReductions = ?erlNodeEntry ++ [?erlNodeReductions, ?NODE_ENTRY], - - BumpFun = fun(F, Limit) -> - case erlang:statistics(reductions) of - {Total, _} when Total < Limit -> - F(F, Limit); - _ -> - ok - end - end, - - ok = otp_mib:update_erl_node_table(), - - {noError, 0, [StartVal]} = snmp_get([NodeReductions]), - #varbind{variabletype = 'Counter64'} = StartVal, - true = is_integer(StartVal#varbind.value), - StartVal#varbind.value >= 0, - case StartVal#varbind.value =< 4294967295 of - true -> - ok = otp_mib:update_erl_node_table(), - BumpFun(BumpFun, 4294967295), - {noError, 0, [EndVal]} = snmp_get([NodeReductions]), - #varbind{variabletype = 'Counter64'} = EndVal, - true = is_integer(EndVal#varbind.value), - EndVal#varbind.value >= 4294967295, - EndVal#varbind.value =< 18446744073709551615; - false -> - %% no need to bump more reductions, since the initial get - %% command already returned successfully with a large value - ok - end. - -%%--------------------------------------------------------------------- -%% Internal functions -%%--------------------------------------------------------------------- - -snmp_get(OIdList) -> - ct_snmp:get_values(otp_mibs_test, OIdList, snmp_mgr_agent). - -del_dir(Dir) -> - io:format("Deleting: ~s~n",[Dir]), - {ok, Files} = file:list_dir(Dir), - FullPathFiles = lists:map(fun(File) -> filename:join(Dir, File) end, Files), - lists:foreach(fun file:delete/1, FullPathFiles), - file:del_dir(Dir). diff --git a/lib/otp_mibs/vsn.mk b/lib/otp_mibs/vsn.mk deleted file mode 100644 index 1b0444afcd..0000000000 --- a/lib/otp_mibs/vsn.mk +++ /dev/null @@ -1,5 +0,0 @@ -OTP_MIBS_VSN = 1.2.1 - -# Note: The branch 'otp_mibs' is defunct as of otp_mibs-1.0.4 and -# should NOT be used again. - -- cgit v1.2.3