Docstoc

JDB Enterprises Music Kiosk

Document Sample
JDB Enterprises Music Kiosk Powered By Docstoc
					2010
JDB Enterprises

BJ Brommeland
Dale Baziw
Jamie Scales




JDB ENTERPRISES: MUSIC KIOSK
This document encompasses the JDB Enterprises Capstone Project at SAIT Polytechnic.
Executive Summary
The goal of this project was to create a client server relationship which would allow the retail market to
take advantage of digital continuity between customers and products. This was to be accomplished by
establishing a client interface which was easy to use and implement. Further to the goal of our project
was the ability to dynamically populate a client interface with data from a central repository,
accomplishing scalability in relation to the number of connected clients as well as the amount of
available content.

The main focus of the implemented system was to provide CD retailers with a system which would
preview CD’s to prospective customers. This aim identifies a lack of selection in today’s CD retailers; a
multidisc reader previews a few physical CD’s which are changed out at the discretion of the retailer. By
utilizing a kiosk type system, it is possible to preview a multitude of content while reducing facilitation
from the retailer.

Implementation of the system uses barcode technology, which is unanimous in retail markets, to query
a central database for related content. To aid in client simplicity a touch interface was selected for
interactions in place of a traditional mouse and keyboard. Further to client interactions a custom web
interface was designed; keeping in mind known navigation issues associated with touch interfaces.

In conjunction with interface options the system is designed to be as transparent as possible to the user,
providing seamless transfer and playback of content. Solving this requirement justified the use of solid
state drives to mitigate file access and seek times. The second area explored was performance of the
host machine, which needed to support the load requirements of running multiple virtual servers. This
was accomplished by implementing an adequate backend server, allowing specific allocation of
resources to demanding servers. A third point discussed was the implementation of a separate network
card for streaming operations. By improving network throughput, the transparency requirement was
met.

After achieving project goals a few recommendations surfaced addressing client interaction with the
system. The first problem was the implementation of the front end MP3 player which did not
adequately fulfill client interaction. Small buttons and text in comparison with the rest of the user
interface was deemed to be disproportionate to web page elements and the average users’ finger.
There is a strong recommendation to update the player to a more adequate size. An implementation of
a custom search is also recommended however, this would require an appropriate software or physical
keyboard for input.




  i    Executive Summary | JDB Enterprises: Music Kiosk                   Thursday April 15, 2010
Acknowledgements

The members of JDB Enterprises would like to acknowledge all the parties involved in the assistance,
creation, production, and support of the ITCS 4th semester Capstone Project.



Thanks to:

        All SAIT instructors, with special thanks for: Jason Fisher, Colin Chamberlain, Tim Williams, Dylan
        Saunders, Connie Aman, John O’Loughlin and Jim Catley.

        Classmates in the ITCS Program, with special thanks for: Jordan Legatto, Matthew Baezner,
        Jonathan Fuller, Cody Burns and Justin Olmstead.

        Friends and family, for their support, assistance and patience.

        And finally, Jamie Scales would like to give special thanks his wife Melissa. “Thank you for being
        so understanding, patient and supportive as I strive to better our lives.”




 ii    Acknowledgements | JDB Enterprises: Music Kiosk                    Thursday April 15, 2010
Table of Contents
Executive Summary........................................................................................................................................ i
Acknowledgements....................................................................................................................................... ii
Project Background ....................................................................................................................................... 1
Functionality ................................................................................................................................................. 2
Budget ........................................................................................................................................................... 3
Problems ....................................................................................................................................................... 4
Lessons Learned ............................................................................................................................................ 4
Recommendations ........................................................................................................................................ 5
References .................................................................................................................................................... 6
Appendices..................................................................................................................................................... I
   Appendix 1: User Manual........................................................................................................................... I
   Appendix 2: Technologies Explored .......................................................................................................... II
       2-1: Virtualization.................................................................................................................................. II
       2-2: Solid State Hard Drives .................................................................................................................. II
       2-3: Touch Screen Technology .............................................................................................................. II
   Appendix 3: Meeting Documentation ..................................................................................................... III
       3-1: Meeting Agendas .......................................................................................................................... III
       3-2: Meeting Minutes ........................................................................................................................... V
   Appendix 4: Scripts ................................................................................................................................... X
       4-1: MP3 Population ............................................................................................................................. X
       4-2: MP3 Scanning .............................................................................................................................. XII
       4-3: Database Genre Table Population ............................................................................................... XII
       4-4: Database Population................................................................................................................... XIII
   Appendix 5: Implementation Manuals .................................................................................................. XIV
       5-1 How to Add Additional Physical NICs to XenServer ..................................................................... XIV
       5-2: Setting up the NFS-based Storage Repository for Virtual Disks .................................................. XV
       5-3: Setting up the CIFS share for ISO files ...................................................................................... XVIII
Project Background
From previous educational experiences the project was designed to exercise an understanding of
computer hardware, server communications, virtualization concepts, web development and systems
automation. This was exercised thoroughly throughout the project life cycle and often spanned beyond
the expertise of group members providing a most interesting experience.

Justification for the project stems from the current popularity of digital distribution and the traditional
emphasis on physical retail products. Many customers are willing to purchase a physical medium as
opposed to a digital one. From an industry standpoint, a niche market was identified within CD retailers
which would bring to light the concept of digital distribution while maintaining traditional retail delivery.
The exploration of digital distribution within the project was not meant to span a customer transaction
but rather explores the functionality of the client server relationship in relaying content to the customer.

The project was structured around several technologies including virtualization, solid state drives and
touch screen technologies allowing an advanced exploration into systems integration. Through the use
of these technologies it was possible to consolidate servers to a single physical system which was highly
optimized for database and network streaming operations. An elementary understanding of these
concepts was required to initially integrate the technologies however, as previously mentioned, a
deeper understanding of these technologies required research, commitment and a positive group
dynamic.




 1   Project Background | JDB Enterprises                                   Thursday April 15, 2010
Functionality
Encompassing the technologies associated with this project as well as the goals identified, a basic
functional model was developed which focused on client server relations. The first milestone within the
project was the creation of the backend server. The initial step was to implement a virtual environment
from which the core structure would be derived. This would allow multiple virtual servers to be geared
toward a specific task or service without concern for physical hardware constraints, utilization issues,
space requirements or compatibility problems. Another important concept covered by virtualization was
the ability to assign resources to specific virtual machines, allocating more resources to machines with
heavier requirements.

The second milestone developed communication between servers and the implementation of storage
repositories. This allowed servers to better utilize resources by centralizing important files and
controlling communications more efficiently. Creation of hardware constructs, such as RAID arrays
which utilized Solid State Drives, allowed better allocation of disk space as well as improved
performance in seek and access times.

As scalability continued to be a prevalent theme throughout the project a web based interface was
decided upon to mitigate local resource constraints of the small foot print PC. This would centralize
communications on the backend and allow any number of clients to connect. Configuration of the
webpage steamed from the completion of server communications and continued on to reinforce the
original project goal of dynamic content population. This activity spawned a client interface which
emphasised the importance of web design aspects in conjunction with the interfacing medium of touch
technologies. The interface development focused on providing an interface which would be easily
navigated including simple layouts, large buttons and minimal or simple user input.

Following web interface design; a prototype of the client system was constructed utilizing a small foot
print PC, to address space constraints, and a touch interface for the client’s interactions. This system
also integrated a barcode scanner as an input medium, allowing content population to address a unique
UPC code on the server side to be read from the CD. To address input concerns a decision was made to
exclude keyboards and mice from the scope of the client relying solely on the barcode system and touch
interface as input mediums.

Database interactions, such as table data population, were scripted for automation purposes producing
scripts to modify, query and upload information with minimal to no interaction by the user. Abstraction
of MP3 files to a separate virtual server and the integration of Solid State Drives allows for streaming
operations to be highly optimized and appear transparent to the user. This creates a system which is
highly scalable and easily maintainable.




 2     Functionality | JDB Enterprises: Music Kiosk                     Thursday April 15, 2010
Budget


Quantity       Item                                           Price/Unit  Total Cost Price With Tax
           1   Dell Vostro 220 Mini-Tower                         $559.00    $559.00        $586.95
           3   Kingston SSD 64 GB                                 $179.99    $539.97        $566.97
           1   USB IR Scanner                                     $179.99    $179.99        $188.99
           1   LG L1734s 17" Flat Panel LCD Monitor               $129.99    $129.99        $136.49
           1   Acer T230 Widescreen Touch Screen LCD              $379.00    $379.00        $397.95
           1   D-Link Green Gigabit Ethernet Switch                $59.99     $59.99         $62.99
           1   Belkin Gigabit Ethernet Card                        $22.99     $22.99         $24.14
           1   Asus Eee-Box B202                                  $239.95    $239.95        $251.95
           3   Ethernet Cables                                      $4.99     $14.97         $15.72
               Total Cost of Purchase                                          $2,125.85       $2,232.14


                                                  Labour
                               Number of Employees                        3
                               Hours worked per week                      9
                               Length of Project (weeks)                 14
                               Cost Per Hour                            $35
                               Total Labour Cost                    $13,230

                                            Total Project Costs
                               Labour                               $13,230
                               Purchases                           $2,232.14
                               Total Cost of Project              $ 15462.14




 3    Budget | JDB Enterprises: Music Kiosk                               Thursday April 15, 2010
Problems
When embarking on the project many considerations were initially overlooked. One immediate issue
encountered was software compatibility. This occurred when dealing with the chosen virtualization
technology as support had not been developed for the host operating system. After research into the
issue a fix was discovered however, the underlying compatibility issue lead to several early server
crashes. Overcoming this problem lead the project to a separate virtualization platform but
unfortunately further compatibility issues between the two virtualization technologies rendered early
work unusable.

Following successful integration of the virtualization technology more problems ensued, encompassing
server communications. This issue was rooted in version compatibility and carried over into software
dependency. Further exploration also revealed issues between servers including client/server
requirements and network problems.

After correcting early mistakes, an exploration into database and webpage creation unveiled several
other issues. At the helm of database considerations stood data formatting which called to question
data consistency. This proved to be a formidable issue when dealing with improperly formatted data as
it was not visible within the database. Through careful analysis this issue was corrected but proved to be
a challenge with other code.

From a web interface perspective, the aim of the project was to implement a flash based MP3 player.
This was to be dynamically populated, when the user submitted a query, with database content. Initial
implementations of the player seemed promising however; following integration functionality did not
meet scope requirements. This problem was compounded by the inability to dynamically populate the
player and later lead to its obsolescence.


Lessons Learned
Throughout the duration of the project there were many lessons to be learned. A major area to be
noted is project planning. An initial project plan which laid out important tasks, timeframes and
responsibilities was the foundation of the project. One issue with the project plan was properly
assigning estimated times to important tasks. This occurred predominantly due to inexperience with a
project of this size however, time management was also an issue. To correct the issue it is strongly
recommended to assign clear roles to group members including responsibilities, accountability and
consequences for missing deadlines.

Another contributing factor dealt with ensuring software compatibilities by carefully researching
packages and identifying required components. A lack of exploration into software dependencies led to
issues early on in the project where the core server structure was unable to utilize the software to its full
potential. For example; the basis of the server utilized a software package (VMware Server) which was
incompatible with the host operating system (Ubuntu 9.10). It is of utmost importance to fully
understand the software packages employed and their core dependencies.


 4     Problems | JDB Enterprises: Music Kiosk                             Thursday April 15, 2010
While working on this project, it was discovered that things don’t always work as planned. As previously
mentioned an adequate understanding of utilized software packages is an asset and greatly mitigates
issues however, no amount of planning can account for every situation or occurrence. This was an
important factor when assessing timeframes and establishing project goals. Planning for a project
should include “slack” time to compensate for these “unforeseen” issues.

Throughout the project lifecycle the use of virtualization enabled the creation of separate testing
environments. This allowed proposed changes to be established before being moved to the production
server and greatly reduced issues. It also allowed for experimentation with data formatting in a test or
“sandbox” environment. Through the use this environment regression testing could be employed prior
to implementation and sidestepped many issues during the project.

An ongoing theme to the project was proper formatting as it directly affected the functionality of the
client in relation to database population, MP3 tag querying and web content. Through the use of the
testing environment it was possible to note the results of database population and troubleshoot issues.
This was a time consuming aspect of the project as simple errors were sometimes difficult to catch. A
suggestion to avoid this issue is to carefully scrutinize code and data formatting prior to implementation.


Recommendations
While the purposed functionality was achieved during the project lifecycle, a few suggestions have
surfaced. An immediate modification to the flash player is strongly recommended to better represent
the content. This suggestion takes into account the touch interface medium as controls in the flash
based player are difficult to interact with. An important aspect to consider during project execution is
the effect of controls, externalized code and modules in the functionality and display of a client interface.

To compliment the project an advanced search function could be implemented requiring a software or
physical keyboard. Adding this would allow users to search artists by name, album, genre or any other
parameter available in the database. Further to search functionality, search linking could be
implemented which would return related data such as artists within the same genre or similar attributes.
Another area for improvement resides in returned search data. It is strongly recommended that search
results return associated album art and a short paragraph on the artist.

A final suggestion would be to expand the database to include other media’s or functions. The possibility
of including movie previews or video game demos could expand the versatility of the system. This will
give the system a wider use of application than just within the CD section of any retail store. A user
could then take any media to any station in the facility and preview it without being concerned about
being in the correct department for preview. By marketing to a wider audience the system would better
showcase the technology and provide an in-depth exploration of databases.




 5     Recommendations | JDB Enterprises: Music Kiosk                      Thursday April 15, 2010
References
[1] How to Add Additional Physical NICs to XenServer. Internet:
http://support.citrix.com/article/CTX121615?print
Nov 1, 2009 (accessed: March 16, 2010)

[2]XenServer Demo/Evaluation System: Technical Setup Guide. Internet:
http://maximiseyourapps.com.au/pdf/xs/White%20Papers/XenServer%20Demo%20and%20Evaluation
%20Setup%20Guide.pdf.
June 2009 (accessed: March 2010)

How do touch-screen monitors know where you're touching? Internet:
http://www.howstuffworks.com/question716.htm.
September 4, 2001 (accessed: April 15, 2010)

Solid-state drive. Internet: http://en.wikipedia.org/wiki/Solid-state_drive.
April 15, 2010 (accessed: April 15 2010)

Transform your Business with Virtualization. Internet: http://www.vmware.com/virtualization/what-is-
virtualization.html. (Accessed: April 2010)

Paul Barham, Boris Dragovic, Keir Fraser, Steven H, Tim Harris , Alex Ho, Rolf Neugebauer, Ian
Pratt, Andrew Warfield. Xen and the art of virtualization. Internet:
http://www.cs.princeton.edu/courses/archive/fall05/cos518/papers/xen.pdf.
2003 (accessed: March 2010)

Alan Cox. Optimizing network virtualization in Xen. Internet:
http://infoscience.epfl.ch/record/85598/files/usenix06.pdf.
2006. (Accessed: March 2010)




 6     References | JDB Enterprises: Music Kiosk                           Thursday April 15, 2010
Appendices
Appendix 1: User Manual
JDB Enterprises was established 2009 in response to SAIT Polytechnics Capstone project. This manual
deals with the operation of the JDB Enterprises Music Kiosk. This includes operation of the touch
interface, barcode scanner and interface functionality.
The system incorporates a touch interface where users utilize a stylus or finger/fingernail to interact
with the system. On the client a web interface is used. This interface allows users to scan CD barcodes,
via barcode scanner, and return associated track listings for preview.

Select a CD
Select a CD of your choice from the CD rack

Using the Touch Screen Monitor
To navigate the Touch-screen interface the following can be used:

Index Finger/Finger Nail                               Stylus




Note
 * When using index finger ensure finger is clean and dry
** Be sure to not press the screen to hard

Navigating the User Interface
Navigation buttons are located in the left hand pane of the screen.
   - HOME: returns to the main page.
   - SCAN: will navigate to the scan page used for imputing CD bar codes.

Scanning the CD
      1.   Select a CD
      2.   Turn CD around displaying the barcode if not seen upon selection
      3.   Hold scanner, pointing the red laser at the barcode
      4.   Pass scanner over the barcode until a beep is heard

Playing Selected Music
Following a successful scan, tracks will appear in the right hand section of the screen. To play a
song, select the title by touching the screen. Proceed to press the play button located above
the selection.



  I    Appendices | JDB Enterprises                                         Thursday April 15, 2010
Appendix 2: Technologies Explored
2-1: Virtualization
A prevalent technology used in this project was virtualization. This is the means by which common
hardware can be utilized by multiple virtual systems in order to overcome utilization issues. According to
VMware, utilization statistics in production servers are commonly between 5% and 15%. This drastic
underutilization has driven interest in virtualization technologies by exploring sever consolidation
concepts, failover operations and availability requirements.

Insight into production environments reveals a reoccurring “One application, one server model”
mentality which traditionally requires the implementation of new physical servers to reduce
compatibility issues. This contributes to under-utilization issues by creating more physical servers to
support extra individual services. Through the use of virtualization it is possible to reduce this mentality
and provide application stability while consolidating servers and improving utilization rates.

2-2: Solid State Hard Drives
A solid state drive or SSD, compared to a traditional electromechanical drive, has no moving parts. This
affords a few advantages such as low access times and latency allowing virtualized operating systems to
be more quickly accessed as well as providing better access times for database activities and file shares.

Solid state drives function on either volatile or non-volatile memory, depending on manufacturers’
specifications, which utilize semiconductors to maintain a charge. This charge is interpreted by the
controller to return data to the requesting operation. Solid state drive technology is inhibited by limited
write cycles to these semiconductors. After performing a number of writes, these semiconductors burn
out rendering the location unusable. This makes solid states a poor choice for applications which require
a multitude of writes however, in applications with low write requirements; this technology is a good
choice.

2-3: Touch Screen Technology
An interesting component of the client side operation is the incorporation of touch screen technologies
to aid in user navigation. Touch screen technologies deal with the interpretation of a touch interaction.
This is performed by first detecting the interaction, followed by interpreting the action. Completion of
this task is accomplished by utilizing a system driver which translates the action. Three implementations
of this technology exist: resistive, capacitive and surface acoustic wave.

The capacitive system, used within this project, stores an electrical charge in a conductive layer which is
placed on the surface of the monitor. In each corner of the monitor a circuit is placed which is used to
measure changes in the capacitive field. A touch is interpreted by applying a conductive material to the
surface of the monitor, such as a finger or stylus, and measuring the relative change in charge at each
circuit.




 II    Appendices | JDB Enterprises: Music Kiosk                           Thursday April 15, 2010
Appendix 3: Meeting Documentation
3-1: Meeting Agendas
Week 4: Progress Meeting

                             February 2nd 2010 (tentative)
Date called:
                             February 3rd 2010 (alternate)
Time:                        3:15 PM
Meeting called by:           BJ Brommeland
Facilitator:                 Jamie Scales
Minutes By:                  Dale Baziw
Attendees:                   BJ Brommeland
                             Dale Baziw
                             Jamie Scales
                              Jason Fisher
                             Colin Chamberlain


Agenda Items

Topic                                    Presenter           Time allotted              Item Classification

Server Virtualization                    BJ Brommeland       2 minutes                  Informational
     -     Database Server               BJ Brommeland       1 minute                   Informational
     -     Web Server                    Dale Baziw          2 minutes                  Informational
Database Implementation                  Jamie Scales        4 minutes                  Informational
Conclusion                               Jamie Scales        1 minute                   Informational



Week 7: Progress Meeting

Date called:                 March 3nd 2010 (tentative)
                             12:15 PM (tentative)
Time:
                             12:45 PM (alternate)
Meeting called by:           Dale Baziw
Facilitator:                 BJ Brommeland
Minutes By:                  Jamie Scales
Attendees:                   BJ Brommeland
                             Dale Baziw
                             Jamie Scales
                              Jason Fisher
                             Colin Chamberlain


Agenda Items

Topic                                    Presenter           Time allotted              Item Classification

Review Agenda                            BJ Brommeland       2 minutes                  Informational
Review Minutes                           Dale Baziw          1 minute                   Informational
New Items                                BJ Brommeland       1 minutes                  Informational
Server Crash                             BJ Brommeland       4 minutes                  Informational
Hypervisor switch                        Jamie Scales        2 minute                   Informational
Use of Openfiler                         Jamie Scales        1 minute                   Informational
Ethernet Card Request                    Dale Baziw          1 minute                   Action
Conclusion                               BJ Brommeland       1 minute                   Informational




 III      Appendices | JDB Enterprises: Music Kiosk                          Thursday April 15, 2010
Week 10: Progress Meeting

Date called:                 March 26th 2010 (tentative)
                             08:15 AM (tentative)
Time:
                             08:45 AM (alternate)

Meeting called by:           Jamie Scales

Facilitator:                 Dale Baziw

Minutes By:                  BJ Brommeland

Attendees:                   BJ Brommeland, Dale Baziw, Jamie Scales, Jason Fisher, Colin Chamberlain


Agenda Items

Topic                                       Presenter                         Time allotted                 Item Classification

Review Agenda                               Dale Baziw                        2 minutes                     Informational
Review Minutes                              Jamie Scales                      1 minute                      Informational
Review Gantt Chart                          Dale Baziw                        2 minutes                     Informational
New Items                                   BJ Brommeland                     1 minutes                     Informational
Script Development                          BJ Brommeland                     3 minutes                     Informational
Database Population                         Jamie Scales                      2 minutes                     Informational
Ethernet Card                               Jamie Scales                      1 minute                      Informational
Webpage/PHP Scripting                       Dale Baziw                        2 minute                      Informational
Review Journals                             All                               5 minutes                     Action
Conclusion                                  BJ Brommeland                     1 minute                      Informational



Week 13: Close Out Meeting

Date called:                 April 14th 2010
                             1:15 PM (tentative)
Time:
                             2:45 PM (alternate)

Meeting called by:           BJ Brommeland

Facilitator:                 Jamie Scales

Minutes By:                  Dale Baziw

Attendees:                   BJ Brommeland, Dale Baziw, Jamie Scales, Jason Fisher, Colin Chamberlain


Agenda Items

Topic                                       Presenter                         Time allotted                 Item Classification

Review Agenda                               Jamie Scales                      2 minutes                     Informational
Review Minutes                              Jamie Scales                      1 minute                      Informational
Review Gantt Chart                          Dale Baziw                        2 minutes                     Informational
New Items                                   Jamie Scales                      1 minutes                     Informational
Script Completion                           BJ Brommeland                     3 minutes                     Informational
Database Population                         Jamie Scales                      2 minutes                     Informational
Webpage                                     Dale Baziw                        2 minute                      Informational
Review Journals                             All                               5 minutes                     Action
Conclusion                                  Jamie Scales                      1 minute                      Informational




  IV       Appendices | JDB Enterprises: Music Kiosk                                             Thursday April 15, 2010
3-2: Meeting Minutes

                                                  MEETING SUMMARY Week 4


                MEETING INFORMATION                                                  TEAM MEMBERS ATTENDING

            DATE                         March 3, 2010                                        BJ Brommeland

                                                                                                Jamie Scales
        CALLED BY                         Dale Baziw                                             Dale Baziw
                                                                                                Jason Fisher
       FACILITATOR                       BJ Brommeland                                       Colin Chamberlain


           PLACE                    MD 213 meeting room                                           Scribe
                                                                                                Jamie Scales

        START TIME                         12:15 pm


         END TIME                          12:46 pm


         SUMMARY                 Review Agenda – Revision – review of journals to be added to meeting agenda
                                 Review Minutes – revision/questions – none
                                 New items – none
                                 Server Crash – BJ – server crash, non recoverable, not supported by the operation system. Conflicts for
                                 modules with the script used to integrate with Ubuntu 9.10. Use of ESX server, too many issues with
                                 hardware not being compatible, alternative was necessary.
                                 Hypervisor switch – Jamie – Different types of bare metal hypervisors are available. XenServer was
                                 found to be the easiest to implement. Installation was simple, small hiccup with the integration
                                 (mounting) of an NTFS filesystem based external hard drive. Found a work around based off network
                                 file sharing. XenServer is a thin virtual machine manager using few of the systems resources. Server
                                 was easy to implement new virtual machines once file share was created. Very impressed with ease of
                                 use and manageability of hypervisor.
                                 Use of open filer – Jamie – Used OpenFiler for a CIFS fileshare as a storage repository for XenServer to
                                 navigate around the non-native mountability of NTFS filesystem. Very easy to setup, found a
                                 manual/resource to setup. Once setup, it was easy for XenServer to see the fileshare and use to create
                                 new machines.
                                 Ethernet Card Request – Dale – requested a gigabit Ethernet card to segregate traffic between servers,
                                 fileshare and client machine.
                                 Jason – spec out a card and email to me for purchasing.
                                 Conclusion – review of journals, review of meeting, action to be taken regarding Ethernet card.
                                 Next meeting to be called by Jamie.
     DECISIONS AND                                                                    n/a
      AGREEMENTS

        ACTIONS TO BE TAKEN                                     BY WHOM?                                         BY WHEN?

     Request for gigabit Ethernet card                           Dale Baziw                                    March 10, 2010




 V      Appendices | JDB Enterprises: Music Kiosk                                               Thursday April 15, 2010
                                                   MEETING SUMMARY Week 7


                 MEETING INFORMATION                                                  TEAM MEMBERS ATTENDING


           DATE                          February 2, 2010                                      BJ Brommeland

                                                                                                Jamie Scales
       CALLED BY                             BJ Brommeland                                       Dale Baziw
                                                                                                Jason Fisher
      FACILITATOR                             Jamie Scales                                   Colin Chamberlain


          PLACE                       MD 213 meeting room


      START TIME                                2:30 pm



        END TIME                                2:50 pm



        SUMMARY                  BJ Brommeland               -   Installing VM server on Ubuntu with a specialized script
                                                             -   Installing Ubuntu 9.10 for the database
                                                             -   Installed configured mysql
                                                             -   Statically set IP for database and host machine
                                                             -   Server communication – webserver(apache) to       database(mysql)

                                                             - Observe how VMserver works and how to use the web interface
                                 Dale Baziw                  - Installing Ubuntu 9.10 for the webserver
                                                             - Install and configuring apache and PHP
                                                             - testing and verifying – webserver(apache) to database(mysql)
                                                             communication

                                                             - mysql relational table structure
                                                             - features in the relational table structure to be able to expand and add
                                 Jamie Scales                additional functionality

     DECISIONS AND                                                                  n/a
      AGREEMENTS




       ACTIONS TO BE TAKEN                                        BY WHOM?                                     WHEN?


Acquire router for static IP configuration                        Jason Fisher                            February 02/2010




VI     Appendices | JDB Enterprises: Music Kiosk                                              Thursday April 15, 2010
                                          MEETING SUMMARY Week 10


            MEETING INFORMATION                                              TEAM MEMBERS ATTENDING

         DATE                   March 26, 2010                                        BJ Brommeland

                                                                                       Jamie Scales
       CALLED BY                 Jamie Scales                                           Dale Baziw
                                                                                       Jason Fisher
      FACILITATOR                 Dale Baziw                                         Colin Chamberlin


         PLACE              MD 213 meeting room                                           Scribe
                                                                                      BJ Brommeland

      START TIME                    8:15 am


       END TIME                     8:57 am


       SUMMARY            Capstone Progress Meeting Summary – Start Time 8:14 AM
                          Review Agenda
                               -    Jamie Scales printed off meeting minutes from February 2nd meeting; resolution in progress
                                    8:16 AM; Resolution time 8:18 AM
                               -    Adding Review of Capstone Website – Jason Fisher
                               -    Adding Review of project report outline – BJ Brommeland
                               -    Modifying conclusion presenter to Dale Baziw – BJ Brommeland
                               Review Previous Meeting minutes 8:21 AM
                               -    No revisions or changes 8:22 AM
                               Review of Gantt Chart
                               -    Jason Fisher has concerns with some Gantt items being at 0%
                               -    Colin Chamberlin has shown items which are “Past due” possible problem with dates
                               -    Several items are out of place – Colin Chamberlin and Jason Fisher
                               -    Suggestion to revise Gantt to reflect correct dates
                               -    Missing item Written report – Colin Chamberlin
                               -    Jason Fisher suggests a major category of documentation to encompass the final
                                    preparation
                               -    Comment: Very well broken down
                               -    Dale Baziw comments: some items could be updated to reflect actual completeness
                               Scripting
                               -    Colin Chamberlin: new items was misinterpreted; solution additions to agenda option
                               -    Jason Fisher: normally done with agenda review; new business does occur however people
                                    usually have new action items brought to the table for discussion; Colin Chamberlin concurs
                               -    3 scripts created; manage mp3info tags to populate the database with CSV files – BJ
                                    Brommeland
                               -    Jamie Scales mentions difficulties importing CSV file into database due to multiple table
                                    population
                               -    Perl module will facilitate the communication with the database so the CSV files can be
                                    imported – BJ Brommeland
                               Database population
                               -    Jamie Scales is working on the script to facilitate database communication – Stated work
                                    will be done this weekend to complete
                               Ethernet Card
                               -    Jamie Scales mentions the network card install crediting
                               -    Jamie Scales mentions the documentation provided by Citrix to install the NIC
                               -    Mentions the use of both NIC’s to be used in conjunction with associated virtual machine
                               -    One will be used solely for streaming
                               -    Colin Chamberlin mentions the lessons learned section for the addition of knowledge
                               Webpage/ PHP scripting
                               -    Dale Baziw: Main design has been completed; basic layout complete
                               -    Possible need for JavaScript
                               -    Working on PHP script
                               -    Pending review of website
                               Review Journals
                               -    Dale Baziw: suggests time to review journals

VII    Appendices | JDB Enterprises: Music Kiosk                                       Thursday April 15, 2010
                                          -  Jason Fisher suggests “lessons learned” section is not properly used while reviewing Jamie
                                             Scales’ journal
                                        -    Dale Baziw’s journal review; Doesn’t contain a lessons learned field – Colin Chamberlin and
                                             Jason Fisher; comment retracted as lessons learned field spanned to the next page;
                                             confusing entry due to two description fields in the entry; Entry description reflects a
                                             lessons learned; very good detail in the lessons learned section
                                        -    Review of BJ Brommeland Journal not conducted due to missing entries from week 8 to
                                             week 10; due to time constraints existing entries have not been reviewed
                                        Review of project website
                                        -    Colin Chamberlin will connect to the website for review
                                        -    Clean looking – Colin Chamberlin and Jason Fisher
                                        -    Good organization – Colin Chamberlin
                                        -    Jamie Scales: Biography is due this week
                                                   o     Suggestion: Colin Chamberlin; if the title isn’t used remove it
                                                   o     Site needs to be rectified by April 16th as per the invitations
                                                   o     Note: Dead link; Agendas and minutes links are dead; additional links are dead
                                                                    Suggestion test website before releasing to production
                                   Review of project document
                                        -    Needs budget included – Jason Fisher
                                                   o     Hardware - Colin Chamberlin
                                                   o     Labour – Colin Chamberlin
                                                   o     Fair price for yourself – Colin Chamberlin
                                        -    Table of contents - Colin Chamberlin
                                        -    Executive summary – needs to be 1-2 pages – Colin Chamberlin
                                        -    Purposed changes and recommendations could be its own heading if there is enough
                                             contents
                                        -    Recommendations to continued development of the project
                                        -    Recommendations for additional features
                                        -    Colin Chamberlin: you don’t have to give away what you may copyright or patent
                                        -    Jamie Scales: difference between project charter and report
                                                   o     Report; what did I do, budget, results
                                                   o     Project charter; what we are going to do
                                        -    Include a budget (minimal) for the presentation
                                                   o     Jason Fisher – 4 to 5 categories tops
                                                   o     Hardware and cost (possibly include in the appendices
                                                   o     Jamie Scales requires a full list of hardware items for “ease”
                                        -    Colin Chamberlin and Jason Fisher will review the outline for next week – action item
                                   Conclusion
                                        -    Ethernet card implemented
                                        -    Stored procedures
                                        -    Continued development on the webpage and population of the database
                                        Colin Chamberlin – Final questions?
                                        -    None
                                        -    Meeting concluded
       DECISIONS AND                                                                     n/a
        AGREEMENTS

          ACTIONS TO BE TAKEN                                    BY WHOM?                                        BY WHEN?

       Review of Project Report Outline                 Colin Chamberlin, Jason Fisher                         March 29, 2010




VIII      Appendices | JDB Enterprises: Music Kiosk                                              Thursday April 15, 2010
                                                    MEETING SUMMARY
                                    Project Closeout Meeting Week 13 – JDB Enterprises

              MEETING INFORMATION                                                   TEAM MEMBERS ATTENDING

           DATE                         April 14, 2010                                       BJ Brommeland

                                                                                               Jamie Scales
        CALLED BY                       BJ Brommeland                                           Dale Baziw
                                                                                               Jason Fisher
     FACILITATOR Chair                   Jamie Scales                                       Colin Chamberlin


          PLACE                     MD 213 meeting room                                          Scribe
                                                                                                Dale Baziw

        START TIME                         1:12 am


         END TIME                          1:31 am


        SUMMARY                   Capstone Progress Meeting-Summary
                                  Review Agenda
                                       -    Colin Chamberlin added 2 new agenda items
                                       -                Item: Deliverables
                                       -                Item: Review of capstone website
                                       -    Removed agenda items
                                       -                Item: Script completion
                                       -                Item: Database population
                                       -                Item: Project webpage
                                       -    Agenda revision: Change the agenda title to reflect group name and what type of meeting is
                                            being held (e.g. closing meeting)
                                       The Capstone Website
                                       -    Dead journal link on Dale Baziw’s page
                                       -    Layout is satisfactory
                                       Deliverables
                                       -    Have capstone documentation on capstone website by April 16/2010 6:00 pm
                                       -    Hand in hard copy of capstone documentation on CD media
                                       -    Hand in hardcopy, cerlox bound, of technical report by April 19/2010
      DECISIONS AND                                                                 n/a
       AGREEMENTS

        ACTIONS TO BE TAKEN                                   BY WHOM?                                        BY WHEN?

         Deliverables completed                              Jamie, Dale, BJ                       Website: April 16, 2010 @ 6pm,
                                                                                                     Hard Copy April 19, 2010




IX      Appendices | JDB Enterprises: Music Kiosk                                              Thursday April 15, 2010
Appendix 4: Scripts
4-1: MP3 Population
#! /usr/bin/perl
$rootPath="/mnt/CIFS/";
system("clear");

print "Please enter what you would like to validate. c: Barcode or g: genre: ";
chomp ($field=<STDIN>);

chomp (@artists= `ls $rootPath`);

foreach $artist(@artists)
{
           $artistPath =$rootPath . "\"" . $artist . "/\"";
           chomp(@albums = `ls $artistPath`);

           foreach $album(@albums)
           {
                      $albumPath = $artistPath . "\"" . $album . "/\"";
                      if ($field eq "g")
                      {
                                   &checkField($field, $albumPath);
                      }
                      elsif ($field eq "c")
                      {
                                   &populateField($field, $albumPath);
                      }
                      else
                      {
                                   print "Not a Vaild Option\n";
                      }
           }
}

sub checkField
{
          my($field, $albumPath) = @_;
          $temp = "ls " . $albumPath . "*.mp3";
#         print "$temp\n";
          chomp(@songPath = `$temp`);
          foreach $song(@songPath)
          {
                     $cmdResult = "mp3info -p \"%" . $field . "\" \"" . $song . "\"" ;
                     $cmdResult = `$cmdResult`;
#                    print "$cmdResult\n";
                     if ($cmdResult eq "")
                     {
                                print "Genre field is blank for " . $albumPath . "\nPlease Enter Genre Value: ";
                                chomp($genreReplace = <STDIN>);
                                $tmp = "mp3info -g " . $genreReplace . " " . $albumPath . "*.mp3";
                                print `$tmp` . "[Done]\n";
                                last;
                     }
                     else
                     {
                                print "Current genre field info for " . $albumPath . " is: \n" . $cmdResult . ". Would you like to use this info?
(y/n): ";
                                chomp($answer = <STDIN>);
                                if($answer eq "y")
                                {
#                                          print $song . " Genre: " . $cmdResult . "\n";
                                           last;
                                }


    X     Appendices | JDB Enterprises: Music Kiosk                                                    Thursday April 15, 2010
                                  elsif($answer eq "n")
                                  {
                                             print "What would you like the field to contain? ";
                                             chomp($genreReplace=<STDIN>);
                                             $tmp = "mp3info -g " . $genreReplace . " " . $albumPath . "*.mp3";
                                             print `$tmp` . "[Done]\n";
                                             last;
                                  }
                                  next;
                       }
            }
}

sub populateField
{
          my($field, $albumPath) = @_;
          $temp = "ls " . $albumPath . "*.mp3";

            chomp(@songPath = `$temp`);
            foreach $song(@songPath)
            {
                       $cmdResult = "mp3info -p \"%" . $field . "\" \"" . $song . "\"" ;
                       $cmdResult = `$cmdResult`;
#                      print "$cmdResult\n";
                       if ($cmdResult eq "")
                       {
                                 print "Comment field is blank for " . $albumPath . "\nPlease Enter UPC Value: ";
                                 chomp($commentReplace = <STDIN>);
                                 $tmp = "mp3info -c " . $commentReplace . " " . $albumPath . "*.mp3";
                                 print `$tmp` . "\n";
                                 last;
                       }
                       else
                       {
                                 print "Current comment field info for " . $albumPath . " is: " . $cmdResult . ". Would you like to use this info?
(y/n): ";
                                  chomp($answer = <STDIN>);
                                  if($answer eq "y")
                                  {
                                             print $song . " UPC: " . $cmdResult . "\n";
                                             last;
                                  }
                                  else
                                  {
                                             print "What would you like the field to contain? ";
                                             chomp($commentReplace=<STDIN>);
                                             $tmp = "mp3info -c " . $commentReplace . " " . $albumPath . "*.mp3";
                                             print `$tmp` . "[Done]\n";
                                             last;
                                  }
                                  next;
                       }
            }
}




    XI      Appendices | JDB Enterprises: Music Kiosk                                                  Thursday April 15, 2010
4-2: MP3 Scanning
#! /usr/bin/perl
$rootPath="/mnt/CIFS/";

chdir($rootPath) or die "Cannot chdir to path!";
chomp (@artists = `ls`);

foreach $artist(@artists)
{
           $artistPath = "\"" . $artist . "/\"";

            chomp (@albums = `ls $artistPath`);
            foreach $album(@albums)
            {
                       $albumPath = $artistPath . "\"" . $album . "/\"";
                       $temp1 = "ls " . $albumPath . "*.mp3";
                       chomp (@songs = `$temp1`);
                       foreach $song(@songs)
                       {
                                  $temp = "mp3info -p \"%a,%l,%t,%n,%m:%s,%g,%y,%c,%F\n\" " . "\"" . $song . "\" >> /root/scanned.txt";
                                  `$temp`;
                                  print ".";
                       }
            }
}



4-3: Database Genre Table Population
#!/usr/bin/perl
use DBI;

$database = "capstone_music";
$hostname = "192.168.0.3";
$dsn = "dbi:mysql:$database:$hostname:3306";
$user = 'root';
$password = 'P@ssw0rd';

$connect = DBI->connect($dsn, $user, $password) or die "Unable to connect: $DBI::errstr\n";

open (INFILE, "/root/genrelist.txt") || die "Cannot open Infile";

@contents = <INFILE>;
foreach $content(@contents)
{
#         Used for error checking
          chomp ($content2 = $content);
          $query1 = "call spAddGenre(?, \@result);";

            $sth1 = $connect->prepare("$query1");
            $sth1->bind_param(1, $content2);
            $sth1->execute() or die $sth1->errstr;
}
exit;




    XII    Appendices | JDB Enterprises: Music Kiosk                                              Thursday April 15, 2010
4-4: Database Population
#! /usr/bin/perl
use DBI;

$database = "capstone_music";
$hostname = "192.168.0.3";
$dsn = "dbi:mysql:$database:$hostname:3306";
$user = 'root';
$password = 'P@ssw0rd';

$connect = DBI->connect($dsn, $user, $password) or die "Unable to connect: $DBI::errstr\n";

open (INFILE, "/root/scanned.txt") || die "Cannot open Infile";

@contents = <INFILE>;
#print @contents[0];
foreach $content(@contents)
{
          @listing = split(',', $content);
          $artist = @listing[0];
          $album = @listing[1];
          $trackName = @listing[2];
          $trackNum = @listing[3];
          $trackLen = @listing[4];
          $trackGen = @listing[5];
          $trackYear = @listing[6];
          $trackUPC = @listing[7];
          chomp($trackFile = @listing[8]);

           $query1 = "call spAddCd(?, ?, ?, ?, \@result)";
           $query2 = "call spAddTrack(?, ?, ?, ?, ?, ?, \@result)";
           $query3 = "call spAddCDGenre(?, ?, \@result)";

                      $sth1 = $connect->prepare("$query1");
                      $sth1->bind_param(1, $artist);
                      $sth1->bind_param(2, $album);
                      $sth1->bind_param(3, $trackYear);
                      $sth1->bind_param(4, $trackUPC);
                      $sth1->execute();

                      $sth2 = $connect->prepare("$query2");
                      $sth2->bind_param(1, $artist);
                      $sth2->bind_param(2, $album);
                      $sth2->bind_param(3, $trackName);
                      $sth2->bind_param(4, $trackLen);
                      $sth2->bind_param(5, $trackNum);
                      $sth2->bind_param(6, $trackFile);
                      $sth2->execute();

                      $sth3 = $connect->prepare("$query3");
                      $sth3->bind_param(1, $album);
                      $sth3->bind_param(2, $trackGen);
                      $sth3->execute();
}

exit;




    XIII   Appendices | JDB Enterprises: Music Kiosk                                          Thursday April 15, 2010
Appendix 5: Implementation Manuals
5-1 How to Add Additional Physical NICs to XenServer
Document ID: CTX121615 / Created On: Sep 16, 2009 / Updated On: Nov 1, 2009 [1]

Summary
You just added an additional Physical Network Interface Card (NIC) to the XenServer, but it does not show up in the XenCenter. Below is the
procedure for how to add additional physical NICs to the XenServer.


Requirement
You must make sure that the NIC(s) is on the Hardware compatibility List (HCL) hcl.xensource.com. If it is on the list then XenServer is
supporting the NIC(s). In some cases, even though it is not on the list, the NIC might work, but when you encounter problems, Citrix Technical
Support Engineers will do their best to help you, but there is no escalation path.

Procedure
To get the NIC to show in XenCenter, you must follow these steps.

1.   From the XenServer Command Line Interface (CLI), issue the following command:
     xe pif-list
     Press Enter.
     Note: If you have more than one XenServers in the pool, you must issue the xe host-list command to list all the XenServer hosts and write
     down the Universally Unique Identifier (UUID) of the host that you just added the new NIC, then issue command xe pif-list host-
     uuid=[uuid of the XenServer host]

2.   The command above lists all the physical NICs of that XenServer. If you do not see the additional NIC, you must scan for new physical
     interface(s) on a XenServer and issue this command:
     xe pif-scan host-uuid=[uuid of the XenServer host]
     Press Enter.

3.   Use xe pif-list again and you can see the new NIC.

4.   If you see the device of the new NIC with something like this __tmp206888048 you must remove it and introduce so it can recognize in the
     correct way such as ethX.
     xe pif-forget uuid=[uuid of __tmp206888048 that you want to forget]
     xe pif-list you won’t see __tmp206888048 anymore.

5.   Introduce the additional physical NIC to the XenServer so it can recognize it from the XenCenter.
     ifconfig –a
     Press Enter.
     You should see something similar to this:
     ifconfig:
     __tmp206888048 Link encap:Ethernet HWaddr 00:15:17:6B:6A:31
     UP BROADCAST MULTICAST MTU:1500 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
     Note: The __tmp206888048 is still there with the MAC address 00:15:17:6B:6A:31. You need to write down the MAC address
     00:15:17:6B:6A:31 so later you can introduce that MAC address for the next available NIC device such as ethX.

6.   Now you can introduce the new physical NIC(s) to the XenServer.
     xe pif-introduce host-uuid=[uuid of the XenServer host] device=[machine-readable name of the interface (for example, eth3)]
     mac=00:15:17:6B:6A:31
     Press Enter.
     The command returns a UUID, for example: 83750d2d-dd36-787c-da1c-951d7afc2cf0

7.   Plug that new UUID 83750d2d-dd36-787c-da1c-951d7afc2cf0
     xe pif-plug uuid=83750d2d-dd36-787c-da1c-951d7afc2cf0
     xe pif-list to see the new PIF

8.   Go to the XenCenter and you can see the new physical NIC(s) there.




 XIV      Appendices | JDB Enterprises: Music Kiosk                                                 Thursday April 15, 2010
5-2: Setting up the NFS-based Storage Repository for Virtual Disks
We will use an NFS-based SR for the XenServer demo/evaluation environment. Use of NFS will allow you to more easily import the VHD’s from
the XenApp Evaluation Virtual Appliance kit (section 3). This section describes how to set up an NFS-based SR used for the heartbeat disk, using
the freely available OpenFiler iSCSI software appliance. OpenFiler will be installed as a VM on your first server, which will eventually become
the resource pool master server. [2]

1.    Download the OpenFiler XenServer Virtual Appliance (XVA) file (x86 version) from this web site:
      http://openfiler.com/community/download/

The instructions that follow are based on version 2.3 of the OpenFiler system.
2. Use XenCenter (VM->Import) to import the OpenFiler XVA and create its virtual machine on your first XenServer.
     a. ―Import Source screen: browse for and select the .xva file you just downloaded
     b.    ―Home Server screen: select the server which will become your resource pool master server (server 1)
     c. ―Storage screen: select local storage on the server
     d. ―Network screen: add default networks, as necessary
     e. ―Finish screen: leave defaults to allow the VM to boot up
3. Check the ―Logs tab and wait for the import to finish. After the OpenFiler XVA has been imported and its VM has booted up,
     go to the OpenFiler VM’s console in XenCenter and note the URL where you will access the OpenFiler web-based
     management console in step 5. The console will state something like something like:

Web Administration GUI: https://192.168.1.101:446/
4.   In XenCenter, add a disk to the OpenFiler VM. This will be used for storage of the VM disks. Select the OpenFiler VM in
    XenCenter, select the ―Storage tab, and click ―Add. Name the disk ―Virtual Disk Storage, size the disk sufficiently large for
    the storage of virtual machine disks (i.e. 80-100GB), and use the local storage from the host (as shown below).




5.    Enter the URL from step 3 into your web browser to administer the OpenFiler system. You may need to add a
      certificate/security exception in your web browser to get to the login screen. Use a username of ―openfiler and a password
      of ―password to login. (if this doesn’t work, check the install instructions on OpenFiler website for updated
      username/password)
      a. ―System Tab: Change your IP address to ―static and set IP, gateway, etc. accordingly. After you change the IP address,
            you will need to re-launch the web console using the new OpenFiler IP address.
      b. Click the ―Volumes tab. Under ―Create a new volume group, click on the ―create new physical volumes link
          i.      Under ―Block Device Management click the ―/dev/xvdc link. This block device should be the same size as the disk
                  you added to the VM in step 4 above.
         ii.      If the partition has already been created, you will need to delete it by clicking the ―Delete link. If the partition has not
                  been created, skip to step iv.




 XV       Appendices | JDB Enterprises: Music Kiosk                                                 Thursday April 15, 2010
       iii.   After the partition has been deleted, scroll to the bottom of the page and click the ―Reset ― link (confirm the reset
              action when prompted)




       iv.      Create the partition by clicking the ―create button.
  c.       Click the ―Manage Volumes link under the ―Volumes Section box on the right hand side of the page
  d.       Create a new Volume Group as shown below:
         i.     Volume Group Name: vg1
        ii.     Check the box next to the physical volume
       iii.     Click ―add volume group




  e.        Click the ―Add Volume link under the ―Volumes Section box on the right hand side of the page. Select the ―vg1
           volume group you just created, in the drop-down box. Scroll to the bottom of the page and enter the volume slice
           information:
         i.      Volume Name: vdi
        ii.      Required space: move the slider all the way to the right
       iii.      Filesystem / volume type: Ext3
       iv.       Click ―Create. This may take a minute to complete depending on the volume size.


XVI      Appendices | JDB Enterprises: Music Kiosk                                          Thursday April 15, 2010
          f.    Click the ―Services tab: Enable the NFSv3 server option.
          g.    Click the ―Shares tab. You should see a share called ―vdi (/mnt/vol1/vdi) listed.
          h.    Click on the ―vdi link and create a folder name called ―disks
          i.    Click on the ―disks link and make this the homes share.
          j.    You will see a notification telling you that you cannot configure network access control unless you create a list of
                networks in the Local Networks section. Click on the ―Local Networks text. This will send you back to the Network
                Configuration screen.
          k.    Under the ―Network Access Configuration enter the name, IP address, and netmask for all of the XenServer hosts
                that will access the storage. Use the type ―share.




          l.     Click on the ―Shares Tab again. Then click on the ―disks link again. You will see a screen for administering share
                security. Under the NFS section, select the ―RW radio button for each of your hosts (as shown below) and
                click ―Update.




You have now completed the creation of your NFS share that you will use for VM virtual disk storage.




XVII      Appendices | JDB Enterprises: Music Kiosk                                                Thursday April 15, 2010
5-3: Setting up the CIFS share for ISO files
For creating new Windows virtual machines, a network-based ISO library can be used. In a demo environment, your OpenFiler VM is a good
place to host this library. [2]

     1.   In XenCenter, add a disk to the OpenFiler VM. This will be used for storage of the ISO files. Select the OpenFiler VM in
          XenCenter, select the ―Storage tab, and click ―Add. Name the disk ―ISO File Storage, size the disk sufficiently large
          for the storage of virtual machine disks (i.e. 8 GB), and use the local storage from the host (as shown below).




     2.   Login to the OpenFiler web console, as was done previously.
               a. Click on the ―Volumes Tab, then the ―Block Devices link on the right hand side.
               b. Locate the disk you just added via XenCenter. It should appear as /dev/xvdc and be the size you specified in
                     the previous step. Click the ―/dev/xvdd link
               c. If the partition has already been created, you will need to delete it by clicking the ―Delete link. If the partition
                     has not been created, skip to step e.
               d. Delete the partition by clicking the ―Delete link and then ―Reset. After clicking ―Reset confirm that you do
                     want to reset.
               e. Create the new partition; keep the defaults and click ―Create.
               f.    Click on ―Volume Groups in the ―Volumes Section box. Create a new volume group called ―vg2




XVIII     Appendices | JDB Enterprises: Music Kiosk                                             Thursday April 15, 2010
          g.   Click on the ―Add Volume link under the ―Volumes section box on the right hand side of the page. In the
               drop-down box, select the ―vg2 volume group you just created and click ―change. Scroll to the bottom of the
               page and enter the volume slice information.
                       i. Volume name: ISO
                      ii. Required space: move the slider all the way to the right
                     iii. Filesystem / volume type: Ext3
                     iv. Click ―Create. This may take a minute to complete depending on the volume size.




          h.   Click on the ―Services tab. Enable the ―SMB / CIFS server option.
          i.   Click on the ―Shares tab. You should see a share named ―ISO under vg2.
          j.   Click on the ―ISO link and create a sub-folder name ―ISO




          k.   Click on the ―ISO (/mnt/vg2/iso/ISO) link. Then click on the ―Make Share button
          l.   On the next screen, in the ―Override SMB/Rsync share name box, type ―ISO and click ―Change.
          m.   Under the ―Share Access Control Mode section, select the ―public guest access option and click ―update.




XIX   Appendices | JDB Enterprises: Music Kiosk                                     Thursday April 15, 2010
                n.   Under the ―Host access configuration /mnt/vg2/iso/ISO/ section. Select the ―RW options under
                     the ―SMB/CIFS section, check ―Restart services, and click the ―update button.




You now have a share called ―iso on your OpenFiler server that can be accessed using the UNC path \\192.168.1.42\iso (replacing your IP
address accordingly, if different). You can copy any ISO files used for OS installation to this share.




 XX      Appendices | JDB Enterprises: Music Kiosk                                                Thursday April 15, 2010

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:22
posted:3/7/2012
language:English
pages:30