You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2019/07/08 19:12:43 UTC

[vcl] branch develop updated: install_perl_libs.pl: -added to @LINUX_PACKAGES -perl-Frontier-RPC -perl-Frontier-RPC-Client -perl-LWP-Protocol-https -perl-Mo -perl-Object-InsideOut -perl-Scalar-List-Utils -perl-Expect -added to @PERL_MODULES -Crypt::CBC -IO::String -Text::CSV_XS -removed from @PERL_MODULES -DBI -Mail::Mailer -RPC::XML -Term::ANSIColor -Time::HiRes -URI -YAML

This is an automated email from the ASF dual-hosted git repository.

jfthomps pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/vcl.git


The following commit(s) were added to refs/heads/develop by this push:
     new 1e98853  install_perl_libs.pl: -added to @LINUX_PACKAGES   -perl-Frontier-RPC   -perl-Frontier-RPC-Client   -perl-LWP-Protocol-https   -perl-Mo   -perl-Object-InsideOut   -perl-Scalar-List-Utils   -perl-Expect -added to @PERL_MODULES   -Crypt::CBC   -IO::String   -Text::CSV_XS -removed from @PERL_MODULES   -DBI   -Mail::Mailer   -RPC::XML   -Term::ANSIColor   -Time::HiRes   -URI   -YAML
1e98853 is described below

commit 1e98853d11ccc0f0213974fa37eba2f2e37ed424
Author: Josh Thompson <jf...@ncsu.edu>
AuthorDate: Mon Jul 8 15:10:55 2019 -0400

    install_perl_libs.pl:
    -added to @LINUX_PACKAGES
      -perl-Frontier-RPC
      -perl-Frontier-RPC-Client
      -perl-LWP-Protocol-https
      -perl-Mo
      -perl-Object-InsideOut
      -perl-Scalar-List-Utils
      -perl-Expect
    -added to @PERL_MODULES
      -Crypt::CBC
      -IO::String
      -Text::CSV_XS
    -removed from @PERL_MODULES
      -DBI
      -Mail::Mailer
      -RPC::XML
      -Term::ANSIColor
      -Time::HiRes
      -URI
      -YAML
    
    INSTALLATION:
    -updated 2.5 to 2.5.1
    -small changes to initial paragraph
    -removed Apache HTTP v1.3 as supported web server version
    -added php-gettext as required php module
    -added DBD::MySQL as required perl module
    -added Net::Ping::External as required perl module
    
    README:
    -updated 2.5 to 2.5.1
    -removed Apache HTTP v1.3 as supported web server version
    -removed RHEL 6.8 as supported OS version
    -updated supported CentOS version from 7.3 to 7.6.1810
    -added DBD::MySQL and Net::Ping::External to required perl modules
    -removed Windows XP and Windows Server 2003 from management node conditional system requirements
    -removed Jabber notifications from management node conditional system requirements
    -updated Dojo Toolkit version reference from 1.6.2 to 1.6.5
    
    RELEASE_NOTES:
    -updated 2.5 to 2.5.1
    -updated list of notworthy changes
    -added note about emailing security bugs rather than reporting via JIRA
    
    UPGRADE:
    -updated 2.4.2 to 2.5
    -updated 2.5 to 2.5.1
    -small changes to initial paragraph
    -changed step 9 for web code to add SSLOFFLOAD to conf.php instead of removing MAXVMLIMIT
    -removed step to update secrets.php
---
 INSTALLATION                            | 41 ++++++++--------
 README                                  | 25 +++-------
 RELEASE_NOTES                           | 31 ++++--------
 UPGRADE                                 | 86 +++++++++++++++------------------
 managementnode/bin/install_perl_libs.pl | 17 ++++---
 5 files changed, 88 insertions(+), 112 deletions(-)

diff --git a/INSTALLATION b/INSTALLATION
index c5583e8..f6f4a62 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -1,10 +1,10 @@
-Installing VCL 2.5
+Installing VCL 2.5.1
 
-VCL 2.5 is the second release to include an installation script. All you need
-to install VCL is the script. It will download and validate the VCL software and
-then install it. The script can be used to install all three parts of VCL
-(database, web portal, and management node) on a single system or to install
-each part individually on separate systems.
+VCL 2.5.1 can be installed using an installation script. All you need to
+install VCL is the script. It will download and validate the VCL software
+and then install it. The script can be used to install all three parts of
+VCL (database, web portal, and management node) on a single system or to
+install each part individually on separate systems.
 
 Running the installation script with no arguments will step you through
 installing all three parts of VCL.
@@ -52,7 +52,7 @@ available:
 
 
 
-MINUAL INSTALLATION INSTRUCTIONS
+MANUAL INSTALLATION INSTRUCTIONS
 
 The recommended method of installing VCL is to use the installation script. See
 above for additional information. If manual installation is required,
@@ -145,7 +145,7 @@ instructions are listed below.
       Import the vcl.sql file into the database. The vcl.sql file is included in
       the mysql directory within the Apache VCL source code
 
-        mysql vcl < apache-VCL-2.5/mysql/vcl.sql
+        mysql vcl < apache-VCL-2.5.1/mysql/vcl.sql
 
 2. Install and Configure the Web Components
 
@@ -155,8 +155,8 @@ instructions are listed below.
 
    Web Server:
 
-    Apache HTTP Server v1.3 or v2.x with SSL enabled
-    PHP 5.0 or later
+    Apache HTTP Server v2.x with SSL enabled
+    PHP 5.x or 7.x
 
    Required Linux Packages:
 
@@ -167,12 +167,13 @@ instructions are listed below.
    Required PHP Modules:
 
     php
+    php-gettext
     php-json (required if your PHP version is 5.2 or later)
+    php-ldap (if you will be using LDAP authentication)
     php-mysql
     php-openssl
     php-xml
     php-xmlrpc
-    php-ldap (if you will be using LDAP authentication)
 
    A. Install the Required Linux Packages & PHP Modules
 
@@ -225,14 +226,14 @@ instructions are listed below.
       Copy the web directory to a location under the web root of your web
       server and navigate to the destination .ht-inc subdirectory:
 
-        cp -ar apache-VCL-2.5/web/ /var/www/html/vcl-2.5
-        ln -s /var/www/html/vcl-2.5 /var/www/html/vcl
+        cp -ar apache-VCL-2.5.1/web/ /var/www/html/vcl-2.5.1
+        ln -s /var/www/html/vcl-2.5.1 /var/www/html/vcl
         cd /var/www/html/vcl/.ht-inc
 
       If SELinux is enabled, run the following command to set the context of the
       web code to httpd_sys_content_t
 
-        chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5
+        chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5.1
 
       Copy secrets-default.php to secrets.php:
 
@@ -353,8 +354,8 @@ instructions are listed below.
    Prerequisites The following management node installation instructions assume
    the instructions in these previous sections have been completed:
 
-    VCL 2.5 Database Installation
-    VCL 2.5 Web Code Installation
+    VCL 2.5.1 Database Installation
+    VCL 2.5.1 Web Code Installation
 
    Supported Operating Systems:
 
@@ -392,11 +393,12 @@ instructions are listed below.
 
    The VCL management node daemon (vcld) is written in Perl and has been tested
    on Perl 5.10 and 5.16. The following Perl modules available from CPAN are
-   also required (see step 2 below for installation instructions):
+   also required (see step B below for installation instructions):
 
     Crypt::CBC - implementation of the cryptographic cipher block chaining mode
     Crypt::OpenSSL::RSA - RSA encoding and decoding, using the openSSL libraries
     Crypt::Rijndael - Crypt::CBC compliant Rijndael encryption module
+    DBD::MySQL - MySQL driver for the Perl5 Database Interface (DBI)
     DBI - Generic Database Interface
     Digest::SHA1 - NIST SHA message digest algorithm
     Exception::Class::Base - base class for exception objects
@@ -408,6 +410,7 @@ instructions are listed below.
     Mail::Mailer - Simple mail agent interface
     Net::Jabber - Jabber perl library
     Net::Netmask - parse, manipulate and lookup IP network blocks
+    Net::Ping::External - Cross-platform Perl interface to "ping" utilities
     Net::SSH::Expect - a wrapper to the ssh executable that is available in
                        system's PATH
     Object::InsideOut - Comprehensive inside-out object support
@@ -421,8 +424,8 @@ instructions are listed below.
       Copy the managementnode directory to the location where you want it to
       reside (typically /usr/local):
 
-        cp -ar apache-VCL-2.5/managementnode /usr/local/vcl-2.5
-        ln -s /usr/local/vcl-2.5 /usr/local/vcl
+        cp -ar apache-VCL-2.5.1/managementnode /usr/local/vcl-2.5.1
+        ln -s /usr/local/vcl-2.5.1 /usr/local/vcl
 
    B. Install the Required Linux Packages & Perl Modules
 
diff --git a/README b/README
index 22dbd62..9a0062e 100644
--- a/README
+++ b/README
@@ -1,10 +1,10 @@
-Apache VCL 2.5
+Apache VCL 2.5.1
 
 ================================================================================
 INSTALLATION
 
 Please see the INSTALLATION file or the installation guide on the Apache VCL
-website. (http://vcl.apache.org/docs/VCL25InstallGuide.html)
+website. (http://vcl.apache.org/docs/VCL251InstallGuide.html)
 
 ================================================================================
 SYSTEM REQUIREMENTS
@@ -14,7 +14,7 @@ VCL WEB SITE
 ------------
 
 VCL web server Linux packages:
-* Apache HTTP Server v1.3 or v2.x with SSL enabled
+* Apache HTTP Server v2.x with SSL enabled
 * PHP 5.0 or later
 
 VCL web server PHP modules:
@@ -40,8 +40,7 @@ VCL MANAGEMENT NODE
 
 VCL has been tested on the following operating systems:
 * CentOS release 6.9 (Final)
-* CentOS Linux release 7.3.1611 (Core)
-* Red Hat Enterprise Linux Server release 6.8 (Santiago)
+* CentOS Linux release 7.6.1810 (Core)
 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
 
 Required Linux Packages:
@@ -72,6 +71,7 @@ modules will be installed from CPAN.
 * Crypt::CBC
 * Crypt::OpenSSL::RSA
 * Crypt::Rijndael
+* DBD::MySQL
 * DBI
 * Digest::SHA1
 * Exception::Class::Base
@@ -83,6 +83,7 @@ modules will be installed from CPAN.
 * Mail::Mailer
 * Net::Jabber
 * Net::Netmask
+* Net::Ping::External
 * Net::SSH::Expect
 * Object::InsideOut
 * RPC::XML::Client
@@ -119,21 +120,11 @@ Management node conditional system requirements:
   http://www.vmware.com/support/developer/viperltoolkit/
   This is not required if provisioning virtual machines on standalone VMware ESX
   or ESXi hosts.
-* Windows XP & Windows Server 2003 bare-metal provisioning
-  The Sysprep utility is required to provision Windows XP and Windows Server
-  2003 bare-metal images. The utility can be downloaded from Microsoft. It is
-  included in newer versions of Windows. Sysprep is not required to provision
-  virtual machine images.
-* Jabber notifications
-  VCL has the ability to send instant message notifications using Jabber. This
-  feature is optional and can be enabled or disabled by configuring the
-  "jabber=[yes|no]" property in the vcld.conf file. If the Jabber notification
-  feature is enabled, the Net::Jabber Perl module is required.
 
 ================================================================================
 BUNDLED 3RD PARTY SOFTWARE
 
-A copy of Dojo Toolkit version 1.6.2 is included in under web/dojo.
+A copy of Dojo Toolkit version 1.6.5 is included in under web/dojo.
 
 Portions of the phpseclib (http://phpseclib.sourceforge.net) project are
 included under web/.ht-inc/phpseclib.
@@ -178,4 +169,4 @@ third-party Perl modules to decrypt password information stored in the database.
 The backend management node code also uses the SSH protocol and public key
 authentication to connect to and control compute nodes provisioned by a VCL
 management node server as well as other hosts that comprise a VCL system such as
-hypervisors.
\ No newline at end of file
+hypervisors.
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 8b0afa5..ed3c0a8 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,4 +1,4 @@
-VCL 2.5
+VCL 2.5.1
 
 I. Intro and Description
 
@@ -21,27 +21,12 @@ servers in a server farm or HPC cluster.
 
 II. Notable Changes
 
-The following are some notable changes from previous releases.
+This is primarily a bug fix release. However, the following are some 
+changes worth highlighting.
 
-Added:
-
-* Support for Windows 10 and Windows Server 2016 images
-* Responsive theme (dropdownmenus) to web site
-* Support for automatically joining Windows images to an Active Directory domain
-* Basic automatic mounting of NFS shares for all users
-* Customization of email messages sent to users on a per-affiliation basis
-* Support for the automatic configuration of ufw and firewalld-based firewalls
-  within Linux images
-* Support for NAT hosts which use ufw os firewalld-based firewalls including
-  Ubuntu and RedHat/CentOS 7 and later
-* Support for the execution of custom scripts on a management node at various
-  stages of the reservation
-* Display of reservation times in the user's own timezone
-
-Removed:
-
-* Server Profiles
-* Use of the Windows Administrator user account for imaging reservations
+* PHP code updated to work with PHP 7.x.
+* Rudimentary NFS file share mounting extended to work with Windows
+* Added method for using HTML in user emails through external script
 
 =================================
 
@@ -84,7 +69,9 @@ IV. How to Submit Bugs and Feature Requests
 
 If you find a bug, please submit a bug report to our JIRA bug tracking system at
 http://issues.apache.org/jira/browse/VCL (you will need to set up an account
-there if you haven't already done so - it's free to anyone).
+there if you haven't already done so - it's free to anyone). If it is a security
+bug, do not open a JIRA issue. Instead report it in an email to
+security@apache.org.
 
 If you would like to requrest a new feature, you can also submit that in the
 same way through JIRA (just select "New Feature" or "Improvement" as the Issue
diff --git a/UPGRADE b/UPGRADE
index 4256ad1..6b0d8d1 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -1,10 +1,10 @@
-Upgrading to VCL 2.5
+Upgrading to VCL 2.5.1
 
-VCL 2.5 is the second release to include an upgrade script. All you need to
-upgrade VCL is the script. It will download and validate the VCL software and
-then upgrade your system. The script can be used to upgrade all three parts of
-VCL (database, web portal, and management node) or to upgrade each part
-individually.
+VCL 2.5.1 can be upgraded using an upgrade script. All you need to upgrade
+VCL is the script. It will download and validate the VCL software and then
+upgrade your system. The script can be used to upgrade all three parts of
+VCL (database, web portal, and management node) on a single system or to
+upgrade each part individually on separate systems.
 
 Running the upgrade script with no arguments will step you through upgrading
 all three parts of VCL.
@@ -57,101 +57,93 @@ are listed below.
  2. Create a backup of the VCL database. This will provide a restore point if
     necessary.
 
-    mysqldump vcl > ~/vcl-pre2.5-upgrade.sql
+    mysqldump vcl > ~/vcl-pre2.5.1-upgrade.sql
 
  3. Updates the database schema.
 
-    mysql vcl < /root/apache-VCL-2.5/mysql/update-vcl.sql
+    mysql vcl < /root/apache-VCL-2.5.1/mysql/update-vcl.sql
 
  4. Possibly move old web code. If /var/www/html/vcl is a directory, rename it
-    to /var/www/html/vcl-2.4.2. These instructions assume that you installed the
+    to /var/www/html/vcl-2.5. These instructions assume that you installed the
     VCL web code at /var/www/html/vcl. If you installed it elsewhere, replace
     /var/www/html/vcl with your vcl web root.
 
-    mv /var/www/html/vcl /var/www/html/vcl-2.4.2
+    mv /var/www/html/vcl /var/www/html/vcl-2.5
 
  5. Disable access to the old web code
 
-    echo "Require all denied" > /var/www/html/vcl-2.4.2/.htaccess
+    echo "Require all denied" > /var/www/html/vcl-2.5/.htaccess
 
  6. Copy the new code in place
 
-    cp -ar /root/apache-VCL-2.5/web /var/www/html/vcl-2.5
-    ln -sfn /var/www/html/vcl-2.5 /var/www/html/vcl
+    cp -ar /root/apache-VCL-2.5.1/web /var/www/html/vcl-2.5.1
+    ln -sfn /var/www/html/vcl-2.5.1 /var/www/html/vcl
 
- 7. Copy your 2.4.2 config files
+ 7. Copy your 2.5 config files
 
-    cd /var/www/html/vcl-2.4.2/.ht-inc
+    cd /var/www/html/vcl-2.5/.ht-inc
     cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc
+    cp cryptkey/cryptkeyid cryptkey/private.pem /var/www/html/vcl/.ht-inc/cryptkey/
 
  8. If you are using SELinux, set the correct context:
 
-    chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5
-    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5/.ht-inc/maintenance
-    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5/.ht-inc/cryptkey
+    chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5.1
+    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5.1/.ht-inc/maintenance
+    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5.1/.ht-inc/cryptkey
 
- 9. Update conf.php: the following item needs to be removed from the conf.php
+ 9. Update conf.php: the following item needs to be added to the conf.php
     file:
 
     (don't forget to edit conf.php in the *new* location)
     vim /var/www/html/vcl/.ht-inc/conf.php
 
-    define("MAXVMLIMIT", "100");
+    define("SSLOFFLOAD", 0);
 
-10. Update secrets.php: $cryptkey in secrets.php needs to be generated using
-    openssl. Generate the value and set it in secrets.php:
-
-    openssl rand 32 | base64
-    vim /var/www/html/vcl/.ht-inc/secrets.php
- 
-    $cryptkey = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; # set this to output of
-                                             # "openssl rand 32 | base64"
-
-11. Make the maintenance and cryptkey directories writable by the web server
+10. Make the maintenance and cryptkey directories writable by the web server
     user. Normally this is the apache user, if using a different user change
     below command accordingly.
 
     chown apache /var/www/html/vcl/.ht-inc/maintenance
     chown apache /var/www/html/vcl/.ht-inc/cryptkey
 
-12. Start httpd service
+11. Start httpd service
 
     service httpd start
 
-13. Check testsetup.php: Check that everything is correct by viewing the
+12. Check testsetup.php: Check that everything is correct by viewing the
     testsetup.php script in your browser. This script is located in the same
     directory as the index.php script. I.e.
 
     https://your.site.url/vcl/testsetup.php
 
-14. Copy old management node code:
-    If /usr/local/vcl is a directory, copy it to /usr/local/vcl-2.4.2, rename
-    /usr/local/vcl to /usr/local/vcl-2.5, and create a symlink.
-    If /usr/local/vcl is a symlink to vcl-2.4.2, copy /usr/local/vcl-2.4.2 to
-    /usr/local/vcl-2.5 and update the symlink.
+13. Copy old management node code:
+    If /usr/local/vcl is a directory, copy it to /usr/local/vcl-2.5, rename
+    /usr/local/vcl to /usr/local/vcl-2.5.1, and create a symlink.
+    If /usr/local/vcl is a symlink to vcl-2.5, copy /usr/local/vcl-2.5 to
+    /usr/local/vcl-2.5.1 and update the symlink.
 
     (for directory)
-    cp -ar /usr/local/vcl /usr/local/vcl-2.4.2
-    mv /usr/local/vcl /usr/local/vcl-2.5
-    ln -s /usr/local/vcl-2.5 /usr/local/vcl
+    cp -ar /usr/local/vcl /usr/local/vcl-2.5
+    mv /usr/local/vcl /usr/local/vcl-2.5.1
+    ln -s /usr/local/vcl-2.5.1 /usr/local/vcl
 
     (for symlink)
-    cp -ar /usr/local/vcl-2.4.2 /usr/local/vcl-2.5
-    ln -sfn /usr/local/vcl-2.5 /usr/local/vcl
+    cp -ar /usr/local/vcl-2.5 /usr/local/vcl-2.5.1
+    ln -sfn /usr/local/vcl-2.5.1 /usr/local/vcl
 
-15. Copy the new management node code over the old code:
+14. Copy the new management node code over the old code:
 
-    /bin/cp -ar /root/apache-VCL-2.5/managementnode/* /usr/local/vcl-2.5
+    /bin/cp -ar /root/apache-VCL-2.5.1/managementnode/* /usr/local/vcl-2.5.1
 
-16. Run install_perl_libs.pl to add any new perl library requirements:
+15. Run install_perl_libs.pl to add any new perl library requirements:
 
     /usr/local/vcl/bin/install_perl_libs.pl
 
-17. Start vcld service
+16. Start vcld service
 
     service vcld start
 
-18. Make some test reservations and watch the vcld.log to verify everything is
+17. Make some test reservations and watch the vcld.log to verify everything is
     working correctly.
 
     tail -f /var/log/vcld.log
diff --git a/managementnode/bin/install_perl_libs.pl b/managementnode/bin/install_perl_libs.pl
index a61042d..e946948 100755
--- a/managementnode/bin/install_perl_libs.pl
+++ b/managementnode/bin/install_perl_libs.pl
@@ -63,13 +63,20 @@ my @LINUX_PACKAGES = (
 	'perl-DBD-MySQL',
 	'perl-DBI',
 	'perl-Digest-SHA1',
+	'perl-Expect',
+	'perl-Frontier-RPC',
+	'perl-Frontier-RPC-Client',
 	'perl-IO-String',
 	'perl-JSON',
+	'perl-LWP-Protocol-https',
 	'perl-MailTools',
+	'perl-Mo',
 	'perl-Net-Jabber',
 	'perl-Net-Netmask',
 	'perl-Net-SSH-Expect',
+	'perl-Object-InsideOut',
 	'perl-RPC-XML',
+	'perl-Scalar-List-Utils',
 	'perl-Text-CSV_XS',
 	'perl-Time-HiRes',
 	'perl-XML-Simple',
@@ -79,21 +86,17 @@ my @LINUX_PACKAGES = (
 
 my @PERL_MODULES = (
 	'CPAN',
-	'DBI',
+	'Crypt::CBC',
 	'Digest::SHA1',
 	'Frontier::Client',
+	'IO::String',
 	'LWP::Protocol::https',
-	'Mail::Mailer',
 	'Mo::builder',
 	'Net::Ping::External',
 	'Net::SSH::Expect',
 	'Object::InsideOut',
-	'RPC::XML',
 	'Scalar::Util',
-	'Term::ANSIColor',
-	'Time::HiRes',
-	'URI',
-	'YAML',
+	'Text::CSV_XS',
 );
 	
 # Store the command line options in hash