Configuration
Once PyU4V is installed the next step is to configure it through
PyU4V.conf.
There is a sample version of PyU4V.conf
provided in PyU4V
which has default configuration options for logging but will require
environment configuration setting changes for PyU4V to work.
Copy the sample PyU4V.conf
provided with PyU4V to either your working
directory or within a directory named .PyU4V
in your current users home
directory. The .sample
suffix has to be removed for the configuration file
to become valid for loading by PyU4V:
$ mkdir ~/.PyU4V
$ cp PyU4V/PyU4V.conf.sample ~/.PyU4V/PyU4V.conf
Note
The ~
symbol is used here to represent the users home directory
regardless of operating system, however, ~
is not a valid shortcut in
Windows command prompt so direct path to users home directory should be
used instead C:\> mkdir C:\Users\{user}\.PyU4V
where {user}
is the
current user.
Note
If PyU4V.conf
is present in both the current working directory and the
current user’s home directory, the version of PyU4V.conf
in the current
working directory will take precedence. See the section below on PyU4V
settings precedence.
Edit PyU4V configuration settings in PyU4V.conf
under the [setup]
heading, these setting will need to reflect your environment configuration:
[setup]
username=pyu4v-user
password=secret-pass
server_ip=10.0.0.75
port=8443
array=00012345678
verify=/path-to-file/server_hostname.pem
Where…
Key |
Description |
|
Unisphere REST login username |
|
Unisphere REST login password |
|
Unisphere server IP address |
|
Unisphere server port number |
|
12 digit array serial number |
|
True - Load SSL cert from CA certificate bundle/path/to/file - Load SSL cert from file locationFalse - Disable SSL verification |
Alternative PyU4V.conf Load Using U4VConn().file_path
It is also possible to override PyU4V.conf
in both the working directory
and home directory by specifying
univmax_conn.file_path='/path/to/PyU4V.conf'
before initialising PyU4V.
import PyU4V
PyU4V.univmax_conn.file_path = '~/path/to/PyU4V.conf'
# Instantiate U4VConn() using the PyU4V config file specified in file_path
conn = U4VConn()
If you specify a file_path
whilst having a copy of PyU4V.conf
in both
your working directory and home directory in ~/.PyU4V
, the instance of
PyU4V.conf
as specified in file_path
will take precedence. See the
section below on PyU4V settings precedence.
Passing Environment Configuration to U4VConn() on Initialisation
Instead of specifying PyU4V configuration options within PyU4V.conf
it is
possible to pass these values directly to U4VConn()
on initialisation. The
key/values expected are the same as those specified in PyU4V.conf
.
>>> import PyU4V
>>> conn = U4VConn(
username='pyu4v-user', password='secret-pass',
server_ip='10.0.0.75', port='8443', verify=True,
array_id='00012345678')
>>> conn.common.get_unisphere_version()
{'version': 'V9.1.0.5'}
If you pass configuration into U4VConn()
directly in the code, these
settings will override any that are defined in PyU4V.conf
at any location.
PyU4V Configuration Loading Precedence
There are a number of ways to initialise PyU4V with your environment settings
through PyU4V.conf
or passing the values directly. These various methods of
setting PyU4V environment configuration have a load precedence, these are
listed in order with number 1 being the first load precedent:
Configuration key/values passed directly to
U4VConn()
PyU4V.conf
as specified inunivmax_conn.file_path
PyU4V.conf
in current working directoryPyU4V.conf
in current users home directoryIf none of the above or missing mandatory options raise
MissingConfigurationException
PyU4V Logger Configuration
Logger options in PyU4V have been streamlined since the previous 3.1.x version,
all options are now consolidated to save on duplicate options being presented.
All logger configuration options in PyU4V.conf can be found under the comment
; log configuration
in the sections [loggers*]
, [handlers*]
, and
[formatters*]
. There are a number of configuration options which you can
change to suit your needs, the most relevant of those for the installation
and configuration process are outlined in the table below.
Section |
Config Option |
Description |
|
|
Sets the PyU4V log level, this
defaults to INFO but can be
changed to any logger LOG level
|
|
|
Control how log messages are
output to console
|
|
args=('PyU4V.log', 'a', 10485760, 10) |
Control how log messages are
written to log files and where
the log file is located
|
|
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s |
Set the format for the log
prefix output in PyU4V.log
|
Note
PyU4V log functionality is run on top of Python’s great inbuilt logger. If you require in depth descriptions of the PyU4V logger configuration options, the logger sections, or input arguments for the handlers, please see the official Python Logger documentation here.