Active IQ Unified Manager Discussions

Automation Store: SLO Package - initial setup problem

korns
10,311 Views

I'm attempting to install and setup new SLO pack into a Windows-7, WFA-3.1-RC1 environment. Getting at error in the 'Service Catalog Initialization' workflow at step 'Install Adaptive Q0S Service' that it can't find a perl module called Daemon.pm. I did not see it in either of the locations is listed for @INC. Ran it twice (ie; resumed the workflow, no change) ... so I searched under \Perl64 for any such named file. I found same named file under \Perl64\lib\HTTP ... so for a "what the heck" try I made a copy of that file and placed into \Perl64\site\lib\Win32\Daemon.pm. Then resumed workflow. It got a little further on that attempt (see below) but hit error saying 'undefined subroutine: &win32::Daemon::CreateService.

 

Any ideas? Could this be related to Perl 32-bit vs 64-bit?  

 

 

Srv-Cat-Init.png

18 REPLIES 18

rustyb
10,010 Views

I'm having the same issue on Windows 2008 R2 with WFA 3.1RC1

 

<SNIP>

15:50:52.351 INFO  [KP Setup] File Path : C:/Program Files/NetApp/WFA/jboss/standalone/workflow-help/TabularWorkflow_c9b2e32f-f3f6-4e68-8422-25cce6d1b199/files\service_manager.pl
15:50:52.367 INFO  [KP Setup] Folder to copy : C:\Program Files\NetApp\WFA\jboss\standalone\tmp\wfa\..\..\..\..\bin\
15:50:52.429 INFO  [KP Setup] DesFile C:\Program Files\NetApp\WFA\jboss\standalone\tmp\wfa\..\..\..\..\bin\..\kitchen\config.txt
15:50:52.445 INFO  [KP Setup]  Script Path C:\Program Files\NetApp\WFA\jboss\standalone\tmp\wfa\..\..\..\..\bin\service_manager.pl
15:50:52.492 INFO  [KP Setup] Command completed, took 1155 milliseconds
15:50:52.538 INFO  [Service Manager] ### Command 'Service Manager' in 'PERL' ###
15:50:52.991 ERROR  [Service Manager] Command failed for Workflow 'Service Catalog Initialization' with error : Can't locate Win32/Daemon.pm in @INC (@INC contains: C:/Program Files/NetApp/WFA/Perl64/site/lib C:/Program Files/NetApp/WFA/Perl64/lib .) at ./Service_Manager1210305629241246163.pl line 4.
BEGIN failed--compilation aborted at ./Service_Manager1210305629241246163.pl line 4.

15:50:52.991 INFO  [Service Manager] ***** Workflow Execution Failed *****

 

Any help is appreciated!...  Trying to demo QoS features for enterprise customer.  Would love to show SLO to them in this discussion

pavand
9,795 Views
  • Looks like Prerequisites are not met , following Perl modules  must be installed  before running SLO workflows, and steps are document in help doc
    • DB_File
    • Win32::Daemon
    • Log::Log4perl

korns
9,708 Views

I was about to say "what help file doc", but OKay, you got me. I think I've found what you're referring to in the help-text associated with each workflow. I've been using WFA for 2 years and I never got into a habit of looking at the (i) help text for an individual workflow to find an overall description and install notes of an entire package of workflows. We should consider bubbling this up to a more visable place a PDF file named something like "readme" or "install/usage notes". 

sinhaa
9,693 Views

This package availability validation should be done by the command using it. And throw a graceful error to let the user know what is wrong and what needs to be done.

 

sinhaa

 

 

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

korns
9,512 Views

Can anyone provide 'beginners' instructions for loading these three modules. I've tried both ppm and cpan without specific 'install perl module' instructions and failed. Below is my cpan attempt. Probably something to do with 'can't find perl 5' error message but out of ideas here. 

 

This is a Win2008R2 server running WFA 3.0P1

 

=====

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>cd "c:\Program Files\NetApp\WFA\Perl64"\bin

c:\Program Files\NetApp\WFA\Perl64\bin>cpan install DB_File
CPAN: Storable loaded ok (v2.45)
Reading 'C:\Program Files\NetApp\WFA\Perl64\cpan\Metadata'
Database was generated on Mon, 24 Aug 2015 05:53:21 GMT
Running install for module 'DB_File'
Running make for P/PM/PMQS/DB_File-1.835.tar.gz
CPAN: Digest::SHA loaded ok (v5.95)
CPAN: Compress::Zlib loaded ok (v2.064)
Checksum for C:\Program Files\NetApp\WFA\Perl64\cpan\sources\authors\id\P\PM\PMQS\DB_File-1.835.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.00)
DB_File-1.835/
DB_File-1.835/MANIFEST
DB_File-1.835/DB_File.pm
DB_File-1.835/README
DB_File-1.835/ppport.h
DB_File-1.835/Changes
DB_File-1.835/config.in
DB_File-1.835/hints/
DB_File-1.835/hints/sco.pl
DB_File-1.835/hints/dynixptx.pl
DB_File-1.835/version.c
DB_File-1.835/Makefile.PL
DB_File-1.835/DB_File_BS
DB_File-1.835/patches/
DB_File-1.835/patches/5.004_04
DB_File-1.835/patches/5.004_01
DB_File-1.835/patches/5.005
DB_File-1.835/patches/5.004_05
DB_File-1.835/patches/5.004
DB_File-1.835/patches/5.004_03
DB_File-1.835/patches/5.6.0
DB_File-1.835/patches/5.005_02
DB_File-1.835/patches/5.004_02
DB_File-1.835/patches/5.005_01
DB_File-1.835/patches/5.005_03
DB_File-1.835/typemap
DB_File-1.835/t/
DB_File-1.835/t/pod.t
DB_File-1.835/t/db-btree.t
DB_File-1.835/t/db-recno.t
DB_File-1.835/t/db-hash.t
DB_File-1.835/dbinfo
DB_File-1.835/fallback.h
DB_File-1.835/META.json
DB_File-1.835/META.yml
DB_File-1.835/DB_File.xs
DB_File-1.835/fallback.xs
CPAN: File::Temp loaded ok (v0.2304)
CPAN: Parse::CPAN::Meta loaded ok (v1.4414)
CPAN: CPAN::Meta loaded ok (v2.132830)
CPAN: Module::CoreList loaded ok (v5.20141120)

CPAN.pm: Building P/PM/PMQS/DB_File-1.835.tar.gz

Parsing config.in...
Looks Good.
Checking if your kit is complete...
Looks good
Unable to find a perl 5 (by these names: C:\Program Files\NetApp\WFA\Perl64\bin\perl.exe perl5.16.3.exe perl5.exe perl.exe miniperl.
exe, in these dirs: . C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0\ C:\Program
Files\Java\jre6\bin C:\Program Files\NetApp\7-Mode Transition Tool\bin C:\Program Files\Java\jre7\bin C:\Windows\System32\WindowsPo
werShell\v1.0\ C:\Program Files\NetApp\WFA\Perl64\bin)
Warning (mostly harmless): No library found for -llibdb
Warning (mostly harmless): No library found for oldnames.lib
Warning (mostly harmless): No library found for kernel32.lib
Warning (mostly harmless): No library found for user32.lib
Warning (mostly harmless): No library found for gdi32.lib
Warning (mostly harmless): No library found for winspool.lib
Warning (mostly harmless): No library found for comdlg32.lib
Warning (mostly harmless): No library found for advapi32.lib
Warning (mostly harmless): No library found for shell32.lib
Warning (mostly harmless): No library found for ole32.lib
Warning (mostly harmless): No library found for oleaut32.lib
Warning (mostly harmless): No library found for netapi32.lib
Warning (mostly harmless): No library found for uuid.lib
Warning (mostly harmless): No library found for ws2_32.lib
Warning (mostly harmless): No library found for mpr.lib
Warning (mostly harmless): No library found for winmm.lib
Warning (mostly harmless): No library found for version.lib
Warning (mostly harmless): No library found for odbc32.lib
Warning (mostly harmless): No library found for odbccp32.lib
Warning (mostly harmless): No library found for comctl32.lib
Warning (mostly harmless): No library found for bufferoverflowU.lib
Warning (mostly harmless): No library found for msvcrt.lib
Generating a nmake-style Makefile
Writing Makefile for DB_File
Writing MYMETA.yml and MYMETA.json
'nmake' is not recognized as an internal or external command,
operable program or batch file.
PMQS/DB_File-1.835.tar.gz
nmake -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible

c:\Program Files\NetApp\WFA\Perl64\bin>PERLLIB5
'PERLLIB5' is not recognized as an internal or external command,
operable program or batch file.

c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>
c:\Program Files\NetApp\WFA\Perl64\bin>cd ..

c:\Program Files\NetApp\WFA\Perl64>cd ..

c:\Program Files\NetApp\WFA>cd perl

c:\Program Files\NetApp\WFA\perl>cd bin
The system cannot find the path specified.

c:\Program Files\NetApp\WFA\perl>dir
Volume in drive C has no label.
Volume Serial Number is 141D-6BDA

Directory of c:\Program Files\NetApp\WFA\perl

08/05/2015 02:12 PM <DIR> .
08/05/2015 02:12 PM <DIR> ..
08/05/2015 02:12 PM <DIR> nmsdk
04/22/2015 11:11 AM 8,090 WFAUtil.html
04/22/2015 11:11 AM 23,694 WFAUtil.pm
04/22/2015 11:11 AM 226 WFAWrapper.pl
3 File(s) 32,010 bytes
3 Dir(s) 20,053,651,456 bytes free

c:\Program Files\NetApp\WFA\perl>

asulliva
9,509 Views

Hello,

 

You mentioned you used ppm, but I don't see it in the CLI output below.  Can you post any errors you encountered?

 

The process for installing modules using ppm is in the WFA documentation.  I also created a post here

 

Andrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

korns
9,506 Views

Thank. This looks better. 

 

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>cd c:\program Files\NetApp\WFA\Perl64\bin

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo list
┌────┬──────┬──────┐
│ id │ pkgs │ name │
└────┴──────┴──────┘
(no enabled repositories)

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo add activestate
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
Repo 1 added.

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo list
┌────┬───────┬────────────────────────────────┐
│ id │ pkgs  │ name │
├────┼───────┼────────────────────────────────┤
│ 1  │ 20732 │ ActiveState Package Repository │
└────┴───────┴────────────────────────────────┘
(1 enabled repository)

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install DB_File
No missing packages to install

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install Win32::Daemon
Downloading Win32-Daemon-20110117...done
Unpacking Win32-Daemon-20110117...done
Generating HTML for Win32-Daemon-20110117...done
Updating files in site area...done
6 files installed

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install Log::Log4perl
Downloading Log-Log4perl-1.46...done
Unpacking Log-Log4perl-1.46...done
Generating HTML for Log-Log4perl-1.46...done
Updating files in site area...done
105 files installed

c:\Program Files\NetApp\WFA\Perl64\bin>

c:\Program Files\NetApp\WFA\Perl64\bin>ppm area sync

Syncing site PPM database with .packlists...done

Syncing perl PPM database with .packlists...done

 

c:\Program Files\NetApp\WFA\Perl64\bin>

korns
9,503 Views

Same sequence of steps on another, different, WFA system (Win7 with WFA3.1RC1). 

 

Any ideas on why DF_File fails to install on this syetm?

 

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

H:\>cd "c:\Program Files\NetApp\WFA\Perl64"\bin"

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo list
┌────┬──────┬──────┐
│ id │ pkgs │ name │
└────┴──────┴──────┘
(no enabled repositories)

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo add activestate
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
Repo 1 added.

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo list
┌────┬───────┬────────────────────────────────┐
│ id │ pkgs │ name │
├────┼───────┼────────────────────────────────┤
│ 1 │ 20732 │ ActiveState Package Repository │
└────┴───────┴────────────────────────────────┘
(1 enabled repository)

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install DB_File
Syncing site PPM database with .packlists...done
Syncing perl PPM database with .packlists...done
ppm install failed: Can't find any package that provides DB_File

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install Win32::Daemon
Downloading Win32-Daemon-20110117...done
Unpacking Win32-Daemon-20110117...done
Generating HTML for Win32-Daemon-20110117...done
Updating files in site area...done
6 files installed

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install Log::Log4perl
Downloading Log-Log4perl-1.46...done
Unpacking Log-Log4perl-1.46...done
Generating HTML for Log-Log4perl-1.46...done
Updating files in site area...done
105 files installed

c:\Program Files\NetApp\WFA\Perl64\bin>ppm install DB_File
ppm install failed: Can't find any package that provides DB_File

c:\Program Files\NetApp\WFA\Perl64\bin>ppm list
┌──────────────┬──────────┬───────┬─────────┬──────┐
│ name │ version │ files │ size │ area │
├──────────────┼──────────┼───────┼─────────┼──────┤
│ Log-Log4perl │ 1.46 │ 106 │ 1378 KB │ site │
│ Win32-Daemon │ 20110117 │ 7 │ 159 KB │ site │
└──────────────┴──────────┴───────┴─────────┴──────┘
(2 packages installed)

c:\Program Files\NetApp\WFA\Perl64\bin>ppm area sync
ppm area failed: Uninitialized install area Perl64

c:\Program Files\NetApp\WFA\Perl64\bin>ppm repo list
┌────┬───────┬────────────────────────────────┐
│ id │ pkgs │ name │
├────┼───────┼────────────────────────────────┤
│ 1 │ 20732 │ ActiveState Package Repository │
└────┴───────┴────────────────────────────────┘
(1 enabled repository)

c:\Program Files\NetApp\WFA\Perl64\bin>

asulliva
9,484 Views

Looking at this page, it appears that the current version of DB_File doesn't work with Windows Perl.  You may be able to download an older version (not sure where to find it though), and use the syntax to do a local install:

 

ppm install --location=. package_name

 

Andrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

JamesIlderton
8,227 Views

OK, I'm running into the same message when trying to run the Service Catalog Inititialization the first time (version 1.2 of the SLO pack).  It happens during the addition of the Adaptive Q0S Service.  I installed the modules according the the documentation under an elevated command prompt:

 

C:\Program Files\NetApp\WFA\Perl64\bin>ppm install http://www.bribes.org/perl/ppm64/DB_File.ppd
Downloading DB_File-1.826...done
Unpacking DB_File-1.826...done
Generating HTML for DB_File-1.826...done
Updating files in site area...done
8 files installed

 

C:\Program Files\NetApp\WFA\Perl64\bin>ppm install http://www.bribes.org/perl/ppm64/Win32-Daemon.ppd
Downloading Win32-Daemon-20110117.0...done
Unpacking Win32-Daemon-20110117.0...done
Generating HTML for Win32-Daemon-20110117.0...done
Updating files in site area...done
6 files installed

 

C:\Program Files\NetApp\WFA\Perl64\bin>ppm install http://log4perl.sourceforge.net/ppm/Log-Log4perl.ppd
Downloading Log-Log4perl-1.47...done
Unpacking Log-Log4perl-1.47...done
Generating HTML for Log-Log4perl-1.47...done
Updating files in site area...done
103 files installed

 

But still get this error:

Can't locate Win32/Daemon.pm in @INC (@INC contains: C:/Program Files/NetApp/WFA/Perl64/site/lib C:/Program Files/NetApp/WFA/Perl64/lib .) at ./Service_Manager5766017651020261415.pl line 4.
BEGIN failed--compilation aborted at ./Service_Manager5766017651020261415.pl line 4.

 

I am running WFA 3.1p2 on Windows Server 2008 R2.  Is there an updated URL for these module installations that works?

asulliva
8,222 Views

Hello James,

 

PPM may be installing the package to a location which is not in the module path for WFA.  From your command window on the WFA server, issue the command "ppm area".  For my system it looks like this:

 

2016-04-11 10_53_31-10.63.171.164 - Remote Desktop Connection Manager v2.7.png

 

Notice that the default ("site") is to use a location not in WFA's include path.  To specify the correct location, use the "--area" parameter when doing the install operation:

 

ppm install http://www.bribes.org/perl/ppm64/DB_File.ppd --area Perl64

 

Hope that helps.

 

ANdrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

JamesIlderton
8,220 Views

Andrew, you're spot-on with the issue, except the Perl64 area is read-only and I can't seem to get around it:

 

C:\Program Files\NetApp\WFA\Perl64\bin>ppm area list
┌────────────┬──────┬─────────────────────────────────────────────┐
│ name │ pkgs │ lib │
├────────────┼──────┼─────────────────────────────────────────────┤
│ (Perl64) │ n/a │ C:/Program Files/NetApp/WFA/Perl64/site/lib │
│ (Perl64_2) │ n/a │ C:/Program Files/NetApp/WFA/Perl64/lib │
│ site* │ 3 │ C:/Perl64/site/lib │
│ perl │ 0 │ C:/Perl64/lib

 

C:\Program Files\NetApp\WFA\Perl64\bin>ppm install http://www.bribes.org/perl/ppm64/DB_File.ppd -area Perl64
ppm install failed: Can't install into read-only area

 

I've tried manually adding my account to permissions of the folder structure, even though I am a member of the local administrators group that should have inheritied permissions as well.  It seems like a simpler solution would be to add the 'site' path (C:/Perl64/site/lib) to WFA's include path.  

 

Our install is pretty vanilla, am I missing something else perhaps?

asulliva
8,217 Views
Try using an elevated (right click, run as administrator) command window.

Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

JamesIlderton
8,200 Views

Unfortunately, I've been doing that the whole time.  I've ene tried logging in as the local administrator and have verified I can write files and folders to the Perl64\lib path under both accounts.  From my research so far, it appears to be a function of the environment variable config for ActivePerl but the only articles I can find that seem to have a working solution involve using the PPM GUI, which isn't available in the build installed by WFA.  Would it be safe to do a full install of ActivePerl on top, or would that break something?  I'll ping Alan Parker as well, he's been very helpful with WFA and scripting in the past and I'll post anything useful he can send me.

JamesIlderton
8,198 Views

So Alan says hang on, version 1.3 of the SLO workflow pack should be out very soon (in a matter of days) so I'll try that and hopefully it will work better.

sinhaa
6,826 Views

@JamesIlderton

 

I don't think the new version of the SLO pack will solve this problem. This is not related to a pack. 

 

I've tried manually adding my account to permissions of the folder structure, even though I am a member of the local administrators group that should have inheritied permissions as well.  It seems like a simpler solution would be to add the 'site' path (C:/Perl64/site/lib) to WFA's include path.  

------------------

 

I think I can get you out of this. I suggest you create a new Environment Syetem Variable called PERL5LIB and add this path where the modules are getting installed by PPM.

 

You can google how to do this. If you are not able to, I'll guide you.

 

sinhaa

 

 

 

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

karale
6,815 Views

We need to pass "--area" as input to ppm install command to solve this issue. Try using following steps which are improved version of the documentation shipped with Pack.

 

To install the Perl modules using the Perl Package Manager (PPM), you must execute the ppm install commands from the " C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin directory.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm area list" and view the area name in the area list where the path shown in the lib column of the area list is “C:\Program Files\NetApp\WFA\Perl64\site\lib” or "<INSTALL_PATH>\WFA\Perl64\site\ lib”.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm area init Perl64" to initialize area.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm area list" to verify that the “pkgs” field should not be “n/a.” The value should be “0’ or higher value for the packages.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm install http://www.bribes.org/perl/ppm64/DB_File.ppd --area Perl64" to install the DB_File Perl module.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm install http://www.bribes.org/perl/ppm64/Win32-Daemon.ppd --area Perl64" to install the Win32::Daemon Perl module.

C:\Program Files\NetApp\WFA\Perl64\bin> or <INSTALL_PATH>\WFA\Perl64\bin> Enter "ppm install http://log4perl.sourceforge.net/ppm/Log-Log4perl.ppd --area Perl64" to install the Log::Log4perl Perl module.

JamesIlderton
6,807 Views

That solved it!  So the documentation just needs the added instructions of doing the area init and passing the area in the install string.  Thank you!

Public