Installing OpenStack Grizzly with DevStack

Installing OpenStack Grizzly with DevStack

Unicorn Accountant

OpenStack Multi-Node DevStack Nova Network Tutorial

DevStack is a scripted OpenStack installer  maintained for developers to prototype and debug. It is also handy for operators to proof concepts and test new services and configurations. This is a good starter for folks new to OpenStack to help understand how to install and operate OpenStack. Some folks have been asking about multi-node DevStack deployment using nova network, so I thought this tutorial might help.

Another difference in this tutorial. is using nova-network instead of the Quantum network plugin. The Quantum plugin is very flexible and offers much richer networking feature, by implementing vSwitches, rather then Linux bridging. With flexibility, comes complexity.The reality if most people looking to do test deployments, proof of concepts or richer KVM/XEN hypervisor management do not really need the added complexity. Nova-network is slated for depreciation at some point, but I am not sure that is the best plan of action for typical until the installation becomes easier for folks in my humble opinion. Most enterprises don’t have “DevOps” programmers, and I think OpenStack brings some good value and expenditure savings to the enterprise. The complexity of the advanced networking may turn some folks off to the project in smaller organizations. Then again smaller organizations aren’t the ones running OpenStack and that may be attractive to vendors looking to find revenue from service offerings. Anywho, thats my two cents, let’s get on to the tutorial.

OpenStack Flat Network Manager Topology
OpenStack Flat Network Manager Topology

Figure 1. Flat Network Manager Topology

Configuring DevStack Installation

DevStack is not a persistent installation, meaning it will be erased when you run ./unstack.sh. This works fine on a single machine running in VMfusion since it supports nested virtualization.

Create a file called localrc for the controller and compute node and fill it in with the localrc configurations below. Change the IP addresses to match your addressing. Put the localrc file in the root of the DevStack folder.

After that is complete, if you do not have any errors you should have a functioning controller and working compute node(s). The compute nodes run the guest VMs. The compute node also does the NAT and security functionality. That can be configuring in the web GUI or from CLI. Your Floating Range will be your publicly reachable network. The fixed range is for the guest VM to talk to the compute node for resources. Since we are using one NIC in each machine, all of the addresses on the compute node are bound to the br100 bridge that is in turn bound to eth0 as secondary addresses. Everything is sharing the same broadcast domain on br100. It is fairly confusing for many without a strong networking background, albeit much simpler than Quantum services. The more you dig in and explore, the clearer it will inevitably become.

When installing note the path of the logs. This is helpful for reverse engineering the installation and troubleshooting services while stack.sh is running. Logs are not dumped to /var/log/nova* like a regular installation.

OpenStack Controller localrc

Place this in a file named localrc in the root of the devstack directory you clone. That installs into the /opt/ directory be default.

OpenStack Controller Node nova.conf

nova.conf is located in /etc/nova/nova.conf

OpenStack Compute localrc

Place this in a file named localrc in the root of the devstack directory you clone. That installs into the /opt/ directory be default.

OpenStack Compute Node nova.conf

nova.conf is located in /etc/nova/nova.conf

SSH Keys and Booting a Guest VM

OpenStack Glance Guest VM Images

DevStack will download CirrOS but in case it doesn’t or you want to install another image like the Ubuntu Cloud image you can do the follwing.

Download a pre-built OpenStack ready image:

Import the downloaded image into Glance

Verifying OpenStack Services

If you get errors stating you are not authorized or don’t have permsissions to use the client tools, verify your environmental variables are set by typing export. Manually add ENVs with the following.

OpenStack nova-manage

Figure 2. Viewing processes running in DevStack with ‘nova-manage service list’ ‘: -)’ means the process is functioning. ‘XXX’ means the process has died.

OpenStack Processes

 Figure 3. View running procs in Linux with ‘ps auxw’.

Nova-Network Configuration

DevStack will build your network as specified in the localrc. The manual operations of that are as follows:

Since we are only using one NIC in this interface, we will have both the Flat Interface (Public) and the Fixed Range (Privates for VMs) bound to br0100.

OpenStack Processes

Figure 4. View the Linux routing tables ‘route -n’.

To view the Linux bridge configuration use the brctl command. If for some reason DevStack doesn’t create the bridge br100, you can define it yourself with ‘brctl add-br br100′ and ‘brctl addif br100 eth0′. Remember, eth0 is nested in br100. That becomes your Layer3 interface.

OpenStack Brctl

Figure 5. Linux bridge output from ‘brctl’

10 Quick OpenStack Operational Notes
  1. At anytime you can check to make sure the services show smiley faces :-) and not XXX with ‘nova-manage service list’.
  2. To manually boot an image, running ‘glance index’ and copy the ID of the image that was loaded in the script.
  3. nova boot –flavor 1 –image <insert image ID here> –key_name ssh_key demohost
  4. Run ‘nova list’ to check the progress and look for any errors.
  5. After a couple of minutes the instance will be booted, make sure you can ping it.
  6. SSH to the ubuntu instance by running “ssh -i ~/ssh-key.pem ubuntu@<ip in nova list>” The key was created by the script.
  7. Check out the web page with http://localhost or http://<public address used>
  8. Under the “Admin” project in Dashboard (the webpage) go to security and access and allocate a floating address to your project.
  9. Once allocated to the project, allocate the address to your VM you started.
  10. Running ./unstack will unload DevStack. Running ./stack.sh will rebuild the stack.

Additional DevStack Resources

Thanks for stopping by.


About the Author

Brent SalisburyBrent Salisbury works as a Network Architect, CCIE #11972. He blogs at NetworkStatic.net with a focus on disruptive technologies, that have a focus on operational efficiencies. Brent can be reached on Twitter @NetworkStatic.View all posts by Brent Salisbury →

  1. OpenstackerOpenstacker04-09-2013


    Hi Brent,
    on which OS did you install Grizzly? Ubuntu 12.10 i guess? And do i have to set up a volume for Cinder? Please give a bit more information about the OS settings and requirements.

    Another Question is it possible to adapt your devstack setting to the multinode devstack script?
    I would be really interested in a Grizzly Multi Node Install Guide. Pretty sure that you are the only one who has the knowledge to do this cause there are less information right now.

    I am a big fan of your Blog.

    Michael

    • Jason ParragaJason Parraga06-05-2013


      Openstacker, I have set it up on both Ubuntu 12.04 and Ubuntu 13.04 without issue.

    • OpenStackOpenStack06-18-2013


      Openstacker,

      Did u find a guide how to adapt this devstack setting to the multinode devstack script? Did u find a Grizzly Multi Node Install Guide?

      Thanks!

      Javier

  2. shakeshake04-18-2013


    if I want to test linuxbridge, how to modify the localrc?

  3. PramodPramod06-10-2013


    Hi can you help me out?
    I get the errors as seen in the log file i’ll paste below.

    2013-06-10 16:34:22 stack.sh log /opt/stack/logs/stack.sh.log.2013-06-10-163422
    2013-06-10 16:34:22 + echo_summary ‘Installing package prerequisites’
    2013-06-10 16:34:22 + [[ -t 3 ]]
    2013-06-10 16:34:22 + [[ True != \T\r\u\e ]]
    2013-06-10 16:34:22 + echo -e Installing package prerequisites
    2013-06-10 16:34:22 + source /home/ubuntu/devstack/tools/install_prereqs.sh
    2013-06-10 16:34:22 ++ [[ -n '' ]]
    2013-06-10 16:34:22 ++ [[ -z /home/ubuntu/devstack ]]
    2013-06-10 16:34:22 ++ PREREQ_RERUN_MARKER=/home/ubuntu/devstack/.prereqs
    2013-06-10 16:34:22 ++ PREREQ_RERUN_HOURS=2
    2013-06-10 16:34:22 ++ PREREQ_RERUN_SECONDS=7200
    2013-06-10 16:34:22 Installing package prerequisites
    2013-06-10 16:34:22 +++ date +%s
    2013-06-10 16:34:22 ++ NOW=1370882062
    2013-06-10 16:34:22 +++ head -1 /home/ubuntu/devstack/.prereqs
    2013-06-10 16:34:22 +++ echo 0
    2013-06-10 16:34:22 ++ LAST_RUN=0
    2013-06-10 16:34:22 ++ DELTA=1370882062
    2013-06-10 16:34:22 ++ [[ 1370882062 -lt 7200 ]]
    2013-06-10 16:34:22 ++ export_proxy_variables
    2013-06-10 16:34:22 ++ [[ -n '' ]]
    2013-06-10 16:34:22 ++ [[ -n '' ]]
    2013-06-10 16:34:23 ++ [[ -n '' ]]
    2013-06-10 16:34:23 +++ get_packages q-meta,q-lbaas,n-obj,n-cpu,n-sch,n-cauth,horizon,mysql,rabbit,sysstat,cinder,c-api,c-vol,c-sch,n-cond,quantum,q-svc,q-agt,q-dhcp,q-l3,n-novnc,n-xvnc,q-lbaas,g-api,g-reg,key,n-api,n-crt
    2013-06-10 16:34:23 +++ local services=q-meta,q-lbaas,n-obj,n-cpu,n-sch,n-cauth,horizon,mysql,rabbit,sysstat,cinder,c-api,c-vol,c-sch,n-cond,quantum,q-svc,q-agt,q-dhcp,q-l3,n-novnc,n-xvnc,q-lbaas,g-api,g-reg,key,n-api,n-crt
    2013-06-10 16:34:23 ++++ _get_package_dir
    2013-06-10 16:34:23 ++++ local pkg_dir
    2013-06-10 16:34:23 ++++ is_ubuntu
    2013-06-10 16:34:23 ++++ [[ -z deb ]]
    2013-06-10 16:34:23 ++++ ‘[' deb = deb ']‘
    2013-06-10 16:34:23 ++++ pkg_dir=/home/ubuntu/devstack/files/apts
    2013-06-10 16:34:23 ++++ echo /home/ubuntu/devstack/files/apts
    2013-06-10 16:34:23 +++ local package_dir=/home/ubuntu/devstack/files/apts
    2013-06-10 16:34:23 +++ local file_to_parse
    2013-06-10 16:34:23 +++ local service
    2013-06-10 16:34:23 +++ [[ -z /home/ubuntu/devstack/files/apts ]]
    2013-06-10 16:34:23 +++ [[ -z precise ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/general ]]
    2013-06-10 16:34:23 +++ file_to_parse=’ general’
    2013-06-10 16:34:23 +++ [[ general == n-api ]]
    2013-06-10 16:34:23 +++ [[ general == c-* ]]
    2013-06-10 16:34:23 +++ [[ general == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ general == s-* ]]
    2013-06-10 16:34:23 +++ [[ general == n-* ]]
    2013-06-10 16:34:23 +++ [[ general == g-* ]]
    2013-06-10 16:34:23 +++ [[ general == key* ]]
    2013-06-10 16:34:23 +++ [[ general == q-* ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/q-meta ]]
    2013-06-10 16:34:23 +++ [[ q-meta == n-api ]]
    2013-06-10 16:34:23 +++ [[ q-meta == c-* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == s-* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == n-* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == g-* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == key* ]]
    2013-06-10 16:34:23 +++ [[ q-meta == q-* ]]
    2013-06-10 16:34:23 +++ [[ ! general =~ quantum ]]
    2013-06-10 16:34:23 +++ file_to_parse=’ general quantum’
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/q-lbaas ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == n-api ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == c-* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == s-* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == n-* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == g-* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == key* ]]
    2013-06-10 16:34:23 +++ [[ q-lbaas == q-* ]]
    2013-06-10 16:34:23 +++ [[ ! general quantum =~ quantum ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/n-obj ]]
    2013-06-10 16:34:23 +++ [[ n-obj == n-api ]]
    2013-06-10 16:34:23 +++ [[ n-obj == c-* ]]
    2013-06-10 16:34:23 +++ [[ n-obj == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ n-obj == s-* ]]
    2013-06-10 16:34:23 +++ [[ n-obj == n-* ]]
    2013-06-10 16:34:23 +++ [[ ! general quantum =~ nova ]]
    2013-06-10 16:34:23 +++ file_to_parse=’ general quantum nova’
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/n-cpu ]]
    2013-06-10 16:34:23 +++ file_to_parse=’ general quantum nova n-cpu’
    2013-06-10 16:34:23 +++ [[ n-cpu == n-api ]]
    2013-06-10 16:34:23 +++ [[ n-cpu == c-* ]]
    2013-06-10 16:34:23 +++ [[ n-cpu == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ n-cpu == s-* ]]
    2013-06-10 16:34:23 +++ [[ n-cpu == n-* ]]
    2013-06-10 16:34:23 +++ [[ ! general quantum nova n-cpu =~ nova ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/n-sch ]]
    2013-06-10 16:34:23 +++ [[ n-sch == n-api ]]
    2013-06-10 16:34:23 +++ [[ n-sch == c-* ]]
    2013-06-10 16:34:23 +++ [[ n-sch == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ n-sch == s-* ]]
    2013-06-10 16:34:23 +++ [[ n-sch == n-* ]]
    2013-06-10 16:34:23 +++ [[ ! general quantum nova n-cpu =~ nova ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/n-cauth ]]
    2013-06-10 16:34:23 +++ [[ n-cauth == n-api ]]
    2013-06-10 16:34:23 +++ [[ n-cauth == c-* ]]
    2013-06-10 16:34:23 +++ [[ n-cauth == ceilometer-* ]]
    2013-06-10 16:34:23 +++ [[ n-cauth == s-* ]]
    2013-06-10 16:34:23 +++ [[ n-cauth == n-* ]]
    2013-06-10 16:34:23 +++ [[ ! general quantum nova n-cpu =~ nova ]]
    2013-06-10 16:34:23 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:23 +++ [[ -e /home/ubuntu/devstack/files/apts/horizon ]]
    2013-06-10 16:34:23 +++ file_to_parse=’ general quantum nova n-cpu horizon’
    2013-06-10 16:34:23 +++ [[ horizon == n-api ]]
    2013-06-10 16:34:23 +++ [[ horizon == c-* ]]
    2013-06-10 16:34:23 +++ [[ horizon == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ horizon == s-* ]]
    2013-06-10 16:34:24 +++ [[ horizon == n-* ]]
    2013-06-10 16:34:24 +++ [[ horizon == g-* ]]
    2013-06-10 16:34:24 +++ [[ horizon == key* ]]
    2013-06-10 16:34:24 +++ [[ horizon == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/mysql ]]
    2013-06-10 16:34:24 +++ [[ mysql == n-api ]]
    2013-06-10 16:34:24 +++ [[ mysql == c-* ]]
    2013-06-10 16:34:24 +++ [[ mysql == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ mysql == s-* ]]
    2013-06-10 16:34:24 +++ [[ mysql == n-* ]]
    2013-06-10 16:34:24 +++ [[ mysql == g-* ]]
    2013-06-10 16:34:24 +++ [[ mysql == key* ]]
    2013-06-10 16:34:24 +++ [[ mysql == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/rabbit ]]
    2013-06-10 16:34:24 +++ [[ rabbit == n-api ]]
    2013-06-10 16:34:24 +++ [[ rabbit == c-* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == s-* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == n-* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == g-* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == key* ]]
    2013-06-10 16:34:24 +++ [[ rabbit == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/sysstat ]]
    2013-06-10 16:34:24 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat’
    2013-06-10 16:34:24 +++ [[ sysstat == n-api ]]
    2013-06-10 16:34:24 +++ [[ sysstat == c-* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == s-* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == n-* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == g-* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == key* ]]
    2013-06-10 16:34:24 +++ [[ sysstat == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/cinder ]]
    2013-06-10 16:34:24 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder’
    2013-06-10 16:34:24 +++ [[ cinder == n-api ]]
    2013-06-10 16:34:24 +++ [[ cinder == c-* ]]
    2013-06-10 16:34:24 +++ [[ cinder == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ cinder == s-* ]]
    2013-06-10 16:34:24 +++ [[ cinder == n-* ]]
    2013-06-10 16:34:24 +++ [[ cinder == g-* ]]
    2013-06-10 16:34:24 +++ [[ cinder == key* ]]
    2013-06-10 16:34:24 +++ [[ cinder == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/c-api ]]
    2013-06-10 16:34:24 +++ [[ c-api == n-api ]]
    2013-06-10 16:34:24 +++ [[ c-api == c-* ]]
    2013-06-10 16:34:24 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder =~ cinder ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/c-vol ]]
    2013-06-10 16:34:24 +++ [[ c-vol == n-api ]]
    2013-06-10 16:34:24 +++ [[ c-vol == c-* ]]
    2013-06-10 16:34:24 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder =~ cinder ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/c-sch ]]
    2013-06-10 16:34:24 +++ [[ c-sch == n-api ]]
    2013-06-10 16:34:24 +++ [[ c-sch == c-* ]]
    2013-06-10 16:34:24 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder =~ cinder ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/n-cond ]]
    2013-06-10 16:34:24 +++ [[ n-cond == n-api ]]
    2013-06-10 16:34:24 +++ [[ n-cond == c-* ]]
    2013-06-10 16:34:24 +++ [[ n-cond == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ n-cond == s-* ]]
    2013-06-10 16:34:24 +++ [[ n-cond == n-* ]]
    2013-06-10 16:34:24 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder =~ nova ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/quantum ]]
    2013-06-10 16:34:24 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder quantum’
    2013-06-10 16:34:24 +++ [[ quantum == n-api ]]
    2013-06-10 16:34:24 +++ [[ quantum == c-* ]]
    2013-06-10 16:34:24 +++ [[ quantum == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ quantum == s-* ]]
    2013-06-10 16:34:24 +++ [[ quantum == n-* ]]
    2013-06-10 16:34:24 +++ [[ quantum == g-* ]]
    2013-06-10 16:34:24 +++ [[ quantum == key* ]]
    2013-06-10 16:34:24 +++ [[ quantum == q-* ]]
    2013-06-10 16:34:24 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:24 +++ [[ -e /home/ubuntu/devstack/files/apts/q-svc ]]
    2013-06-10 16:34:24 +++ [[ q-svc == n-api ]]
    2013-06-10 16:34:24 +++ [[ q-svc == c-* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == ceilometer-* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == s-* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == n-* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == g-* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == key* ]]
    2013-06-10 16:34:24 +++ [[ q-svc == q-* ]]
    2013-06-10 16:34:24 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum =~ quantum ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/q-agt ]]
    2013-06-10 16:34:25 +++ [[ q-agt == n-api ]]
    2013-06-10 16:34:25 +++ [[ q-agt == c-* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == s-* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == n-* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == g-* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == key* ]]
    2013-06-10 16:34:25 +++ [[ q-agt == q-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum =~ quantum ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/q-dhcp ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == n-api ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == c-* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == s-* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == n-* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == g-* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == key* ]]
    2013-06-10 16:34:25 +++ [[ q-dhcp == q-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum =~ quantum ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/q-l3 ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == n-api ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == c-* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == s-* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == n-* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == g-* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == key* ]]
    2013-06-10 16:34:25 +++ [[ q-l3 == q-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum =~ quantum ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/n-novnc ]]
    2013-06-10 16:34:25 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder quantum n-novnc’
    2013-06-10 16:34:25 +++ [[ n-novnc == n-api ]]
    2013-06-10 16:34:25 +++ [[ n-novnc == c-* ]]
    2013-06-10 16:34:25 +++ [[ n-novnc == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ n-novnc == s-* ]]
    2013-06-10 16:34:25 +++ [[ n-novnc == n-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc =~ nova ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/n-xvnc ]]
    2013-06-10 16:34:25 +++ [[ n-xvnc == n-api ]]
    2013-06-10 16:34:25 +++ [[ n-xvnc == c-* ]]
    2013-06-10 16:34:25 +++ [[ n-xvnc == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ n-xvnc == s-* ]]
    2013-06-10 16:34:25 +++ [[ n-xvnc == n-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc =~ nova ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/q-lbaas ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == n-api ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == c-* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == s-* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == n-* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == g-* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == key* ]]
    2013-06-10 16:34:25 +++ [[ q-lbaas == q-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc =~ quantum ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/g-api ]]
    2013-06-10 16:34:25 +++ [[ g-api == n-api ]]
    2013-06-10 16:34:25 +++ [[ g-api == c-* ]]
    2013-06-10 16:34:25 +++ [[ g-api == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ g-api == s-* ]]
    2013-06-10 16:34:25 +++ [[ g-api == n-* ]]
    2013-06-10 16:34:25 +++ [[ g-api == g-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc =~ glance ]]
    2013-06-10 16:34:25 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance’
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/g-reg ]]
    2013-06-10 16:34:25 +++ [[ g-reg == n-api ]]
    2013-06-10 16:34:25 +++ [[ g-reg == c-* ]]
    2013-06-10 16:34:25 +++ [[ g-reg == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ g-reg == s-* ]]
    2013-06-10 16:34:25 +++ [[ g-reg == n-* ]]
    2013-06-10 16:34:25 +++ [[ g-reg == g-* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance =~ glance ]]
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/key ]]
    2013-06-10 16:34:25 +++ [[ key == n-api ]]
    2013-06-10 16:34:25 +++ [[ key == c-* ]]
    2013-06-10 16:34:25 +++ [[ key == ceilometer-* ]]
    2013-06-10 16:34:25 +++ [[ key == s-* ]]
    2013-06-10 16:34:25 +++ [[ key == n-* ]]
    2013-06-10 16:34:25 +++ [[ key == g-* ]]
    2013-06-10 16:34:25 +++ [[ key == key* ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance =~ keystone ]]
    2013-06-10 16:34:25 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance keystone’
    2013-06-10 16:34:25 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:25 +++ [[ -e /home/ubuntu/devstack/files/apts/n-api ]]
    2013-06-10 16:34:25 +++ file_to_parse=’ general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance keystone n-api’
    2013-06-10 16:34:25 +++ [[ n-api == n-api ]]
    2013-06-10 16:34:25 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance keystone n-api =~ nova ]]
    2013-06-10 16:34:26 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance keystone n-api =~ glance ]]
    2013-06-10 16:34:26 +++ for service in general ‘${services//,/ }’
    2013-06-10 16:34:26 +++ [[ -e /home/ubuntu/devstack/files/apts/n-crt ]]
    2013-06-10 16:34:26 +++ [[ n-crt == n-api ]]
    2013-06-10 16:34:26 +++ [[ n-crt == c-* ]]
    2013-06-10 16:34:26 +++ [[ n-crt == ceilometer-* ]]
    2013-06-10 16:34:26 +++ [[ n-crt == s-* ]]
    2013-06-10 16:34:26 +++ [[ n-crt == n-* ]]
    2013-06-10 16:34:26 +++ [[ ! general quantum nova n-cpu horizon sysstat cinder quantum n-novnc glance keystone n-api =~ nova ]]
    2013-06-10 16:34:26 +++ for file in ‘${file_to_parse}’
    2013-06-10 16:34:26 +++ local fname=/home/ubuntu/devstack/files/apts/general
    2013-06-10 16:34:26 +++ local OIFS line package distros distro
    2013-06-10 16:34:26 +++ [[ -e /home/ubuntu/devstack/files/apts/general ]]
    2013-06-10 16:34:26 +++ OIFS=’
    2013-06-10 16:34:26 ‘
    2013-06-10 16:34:26 +++ IFS=’
    2013-06-10 16:34:26 ‘
    2013-06-10 16:34:26 +++ for line in ‘$(<${fname})'
    2013-06-10 16:34:26 +++ [[ bridge-utils =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ bridge-utils =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo bridge-utils
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ pep8 =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ pep8 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo pep8
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ pylint =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ pylint =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo pylint
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ python-pip =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ python-pip =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo python-pip
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ screen =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ screen =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo screen
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ unzip =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ unzip =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo unzip
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ wget =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ wget =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo wget
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ psmisc =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ psmisc =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo psmisc
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ git =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ git =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo git
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ lsof # useful when debugging =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ lsof # useful when debugging =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo 'lsof '
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ openssh-server =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ openssh-server =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo openssh-server
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ openssl =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ openssl =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo openssl
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ vim-nox =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ vim-nox =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo vim-nox
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ locate # useful when debugging =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ locate # useful when debugging =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo 'locate '
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ python-virtualenv =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ python-virtualenv =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo python-virtualenv
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ python-unittest2 =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ python-unittest2 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo python-unittest2
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ iputils-ping =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ iputils-ping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo iputils-ping
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ wget =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ wget =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo wget
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ curl =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ curl =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo curl
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ tcpdump =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ tcpdump =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo tcpdump
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ euca2ools # only for testing client =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ euca2ools # only for testing client =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo 'euca2ools '
    2013-06-10 16:34:26 +++ for line in '$(<${fname})'
    2013-06-10 16:34:26 +++ [[ tar =~ NOPRIME ]]
    2013-06-10 16:34:26 +++ [[ tar =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:26 +++ echo tar
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-cmd2 # dist:precise =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-cmd2 # dist:precise =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ package='python-cmd2 '
    2013-06-10 16:34:27 +++ distros=precise
    2013-06-10 16:34:27 +++ [[ precise =~ precise ]]
    2013-06-10 16:34:27 +++ echo 'python-cmd2 '
    2013-06-10 16:34:27 +++ continue
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-netaddr =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-netaddr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-netaddr
    2013-06-10 16:34:27 +++ IFS='
    2013-06-10 16:34:27 '
    2013-06-10 16:34:27 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:27 +++ local fname=/home/ubuntu/devstack/files/apts/quantum
    2013-06-10 16:34:27 +++ local OIFS line package distros distro
    2013-06-10 16:34:27 +++ [[ -e /home/ubuntu/devstack/files/apts/quantum ]]
    2013-06-10 16:34:27 +++ OIFS='
    2013-06-10 16:34:27 '
    2013-06-10 16:34:27 +++ IFS='
    2013-06-10 16:34:27 '
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ ebtables =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ ebtables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo ebtables
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ iptables =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ iptables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo iptables
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ iputils-ping =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ iputils-ping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo iputils-ping
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ iputils-arping =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ iputils-arping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo iputils-arping
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ mysql-server #NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ continue
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ sudo =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ sudo =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo sudo
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-boto =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-boto =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-boto
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-iso8601 =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-iso8601 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-iso8601
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-paste =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-paste =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-paste
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-routes =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-routes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-routes
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-suds =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-suds =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-suds
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-netaddr =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-netaddr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-netaddr
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-pastedeploy =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-pastedeploy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-pastedeploy
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-greenlet =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-greenlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-greenlet
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-kombu =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-kombu =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-kombu
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-eventlet =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-eventlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-eventlet
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-sqlalchemy =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-sqlalchemy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-sqlalchemy
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-mysqldb =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-mysqldb =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-mysqldb
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-pyudev =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-pyudev =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:27 +++ echo python-pyudev
    2013-06-10 16:34:27 +++ for line in '$(<${fname})'
    2013-06-10 16:34:27 +++ [[ python-qpid # dist:precise =~ NOPRIME ]]
    2013-06-10 16:34:27 +++ [[ python-qpid # dist:precise =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ package='python-qpid '
    2013-06-10 16:34:28 +++ distros=precise
    2013-06-10 16:34:28 +++ [[ precise =~ precise ]]
    2013-06-10 16:34:28 +++ echo 'python-qpid '
    2013-06-10 16:34:28 +++ continue
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ dnsmasq-base =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ dnsmasq-base =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo dnsmasq-base
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ dnsmasq-utils # for dhcp_release only available in dist:oneiric,precise,quantal =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ dnsmasq-utils # for dhcp_release only available in dist:oneiric,precise,quantal =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ package='dnsmasq-utils '
    2013-06-10 16:34:28 +++ distros=oneiric,precise,quantal
    2013-06-10 16:34:28 +++ [[ oneiric,precise,quantal =~ precise ]]
    2013-06-10 16:34:28 +++ echo 'dnsmasq-utils '
    2013-06-10 16:34:28 +++ continue
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ rabbitmq-server # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ continue
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ qpid # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ continue
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ sqlite3 =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ sqlite3 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo sqlite3
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ vlan =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ vlan =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo vlan
    2013-06-10 16:34:28 +++ IFS='
    2013-06-10 16:34:28 '
    2013-06-10 16:34:28 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:28 +++ local fname=/home/ubuntu/devstack/files/apts/nova
    2013-06-10 16:34:28 +++ local OIFS line package distros distro
    2013-06-10 16:34:28 +++ [[ -e /home/ubuntu/devstack/files/apts/nova ]]
    2013-06-10 16:34:28 +++ OIFS='
    2013-06-10 16:34:28 '
    2013-06-10 16:34:28 +++ IFS='
    2013-06-10 16:34:28 '
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ dnsmasq-base =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ dnsmasq-base =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo dnsmasq-base
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ dnsmasq-utils # for dhcp_release =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ dnsmasq-utils # for dhcp_release =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo 'dnsmasq-utils '
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ kpartx =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ kpartx =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo kpartx
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ parted =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ parted =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo parted
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ iputils-arping =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ iputils-arping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo iputils-arping
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ mysql-server # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ continue
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ python-mysqldb =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ python-mysqldb =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo python-mysqldb
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ python-xattr # needed for glance which is needed for nova --- this shouldn't be here =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ python-xattr # needed for glance which is needed for nova --- this shouldn't be here =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo 'python-xattr '
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ python-lxml # needed for glance which is needed for nova --- this shouldn't be here =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ python-lxml # needed for glance which is needed for nova --- this shouldn't be here =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo 'python-lxml '
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ gawk =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ gawk =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo gawk
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ iptables =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ iptables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo iptables
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ ebtables =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ ebtables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo ebtables
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ sqlite3 =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ sqlite3 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo sqlite3
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ sudo =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ sudo =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo sudo
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:28 +++ [[ kvm =~ NOPRIME ]]
    2013-06-10 16:34:28 +++ [[ kvm =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:28 +++ echo kvm
    2013-06-10 16:34:28 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ qemu # dist:wheezy,jessie =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ qemu # dist:wheezy,jessie =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ package='qemu '
    2013-06-10 16:34:29 +++ distros=wheezy,jessie
    2013-06-10 16:34:29 +++ [[ wheezy,jessie =~ precise ]]
    2013-06-10 16:34:29 +++ continue
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ libvirt-bin # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ continue
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ libjs-jquery-tablesorter # Needed for coverage html reports =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ libjs-jquery-tablesorter # Needed for coverage html reports =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ echo 'libjs-jquery-tablesorter '
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ vlan =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ vlan =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ echo vlan
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ curl =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ curl =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ echo curl
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ genisoimage # required for config_drive =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ genisoimage # required for config_drive =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ echo 'genisoimage '
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ rabbitmq-server # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ continue
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ qpidd # dist:precise NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ continue
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:29 +++ [[ socat # used by ajaxterm =~ NOPRIME ]]
    2013-06-10 16:34:29 +++ [[ socat # used by ajaxterm =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:29 +++ echo 'socat '
    2013-06-10 16:34:29 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-mox =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-mox =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-mox
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-paste =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-paste =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-paste
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-migrate =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-migrate =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-migrate
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-gflags =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-gflags =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-gflags
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-greenlet =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-greenlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-greenlet
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-libvirt =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-libvirt =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-libvirt
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-libxml2 =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-libxml2 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-libxml2
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-routes =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-routes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-routes
    2013-06-10 16:34:30 +++ for line in '$(<${fname})'
    2013-06-10 16:34:30 +++ [[ python-netaddr =~ NOPRIME ]]
    2013-06-10 16:34:30 +++ [[ python-netaddr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:30 +++ echo python-netaddr
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-numpy # used by websockify for spice console =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-numpy # used by websockify for spice console =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo 'python-numpy '
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-pastedeploy =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-pastedeploy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-pastedeploy
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-eventlet =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-eventlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-eventlet
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-cheetah =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-cheetah =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-cheetah
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-carrot =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-carrot =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-carrot
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-tempita =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-tempita =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-tempita
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-sqlalchemy =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-sqlalchemy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-sqlalchemy
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-suds =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-suds =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-suds
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-lockfile =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-lockfile =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-lockfile
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-m2crypto =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-m2crypto =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-m2crypto
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-boto =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-boto =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-boto
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-kombu =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-kombu =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-kombu
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-feedparser =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-feedparser =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-feedparser
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-iso8601 =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-iso8601 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo python-iso8601
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ python-qpid # dist:precise =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ python-qpid # dist:precise =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ package='python-qpid '
    2013-06-10 16:34:31 +++ distros=precise
    2013-06-10 16:34:31 +++ [[ precise =~ precise ]]
    2013-06-10 16:34:31 +++ echo 'python-qpid '
    2013-06-10 16:34:31 +++ continue
    2013-06-10 16:34:31 +++ IFS='
    2013-06-10 16:34:31 '
    2013-06-10 16:34:31 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:31 +++ local fname=/home/ubuntu/devstack/files/apts/n-cpu
    2013-06-10 16:34:31 +++ local OIFS line package distros distro
    2013-06-10 16:34:31 +++ [[ -e /home/ubuntu/devstack/files/apts/n-cpu ]]
    2013-06-10 16:34:31 +++ OIFS='
    2013-06-10 16:34:31 '
    2013-06-10 16:34:31 +++ IFS='
    2013-06-10 16:34:31 '
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ # Stuff for diablo volumes =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ # Stuff for diablo volumes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ nbd-client =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ nbd-client =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo nbd-client
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ lvm2 =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ lvm2 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo lvm2
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ open-iscsi =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ open-iscsi =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo open-iscsi
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ open-iscsi-utils # Deprecated since quantal dist:lucid,oneiric,precise =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ open-iscsi-utils # Deprecated since quantal dist:lucid,oneiric,precise =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ package='open-iscsi-utils '
    2013-06-10 16:34:31 +++ distros=lucid,oneiric,precise
    2013-06-10 16:34:31 +++ [[ lucid,oneiric,precise =~ precise ]]
    2013-06-10 16:34:31 +++ echo 'open-iscsi-utils '
    2013-06-10 16:34:31 +++ continue
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:31 +++ [[ genisoimage =~ NOPRIME ]]
    2013-06-10 16:34:31 +++ [[ genisoimage =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:31 +++ echo genisoimage
    2013-06-10 16:34:31 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ sysfsutils =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ sysfsutils =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo sysfsutils
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ sg3-utils =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ sg3-utils =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo sg3-utils
    2013-06-10 16:34:32 +++ IFS='
    2013-06-10 16:34:32 '
    2013-06-10 16:34:32 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:32 +++ local fname=/home/ubuntu/devstack/files/apts/horizon
    2013-06-10 16:34:32 +++ local OIFS line package distros distro
    2013-06-10 16:34:32 +++ [[ -e /home/ubuntu/devstack/files/apts/horizon ]]
    2013-06-10 16:34:32 +++ OIFS='
    2013-06-10 16:34:32 '
    2013-06-10 16:34:32 +++ IFS='
    2013-06-10 16:34:32 '
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ apache2 # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ continue
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ libapache2-mod-wsgi # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ continue
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-beautifulsoup =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-beautifulsoup =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-beautifulsoup
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-dateutil =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-dateutil =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-dateutil
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-paste =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-paste =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-paste
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-pastedeploy =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-pastedeploy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-pastedeploy
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-anyjson =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-anyjson =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-anyjson
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-routes =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-routes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-routes
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-xattr =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-xattr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-xattr
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-sqlalchemy =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-sqlalchemy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-sqlalchemy
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-webob =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-webob =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-webob
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-kombu =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-kombu =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-kombu
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ pylint =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ pylint =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo pylint
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ pep8 =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ pep8 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo pep8
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-eventlet =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-eventlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-eventlet
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-nose =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-nose =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-nose
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-sphinx =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-sphinx =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-sphinx
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-mox =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-mox =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-mox
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-kombu =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-kombu =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-kombu
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-coverage =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-coverage =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo python-coverage
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-cherrypy3 # why? =~ NOPRIME ]]
    2013-06-10 16:34:32 +++ [[ python-cherrypy3 # why? =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:32 +++ echo 'python-cherrypy3 '
    2013-06-10 16:34:32 +++ for line in '$(<${fname})'
    2013-06-10 16:34:32 +++ [[ python-migrate =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ python-migrate =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo python-migrate
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ nodejs =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ nodejs =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo nodejs
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ nodejs-legacy # dist:quantal =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ nodejs-legacy # dist:quantal =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ package='nodejs-legacy '
    2013-06-10 16:34:33 +++ distros=quantal
    2013-06-10 16:34:33 +++ [[ quantal =~ precise ]]
    2013-06-10 16:34:33 +++ continue
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ python-netaddr =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ python-netaddr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo python-netaddr
    2013-06-10 16:34:33 +++ IFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:33 +++ local fname=/home/ubuntu/devstack/files/apts/sysstat
    2013-06-10 16:34:33 +++ local OIFS line package distros distro
    2013-06-10 16:34:33 +++ [[ -e /home/ubuntu/devstack/files/apts/sysstat ]]
    2013-06-10 16:34:33 +++ OIFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ IFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ sysstat =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ sysstat =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo sysstat
    2013-06-10 16:34:33 +++ IFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:33 +++ local fname=/home/ubuntu/devstack/files/apts/cinder
    2013-06-10 16:34:33 +++ local OIFS line package distros distro
    2013-06-10 16:34:33 +++ [[ -e /home/ubuntu/devstack/files/apts/cinder ]]
    2013-06-10 16:34:33 +++ OIFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ IFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ tgt =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ tgt =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo tgt
    2013-06-10 16:34:33 +++ for line in '$(<${fname})'
    2013-06-10 16:34:33 +++ [[ lvm2 =~ NOPRIME ]]
    2013-06-10 16:34:33 +++ [[ lvm2 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:33 +++ echo lvm2
    2013-06-10 16:34:33 +++ IFS='
    2013-06-10 16:34:33 '
    2013-06-10 16:34:34 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:34 +++ local fname=/home/ubuntu/devstack/files/apts/quantum
    2013-06-10 16:34:34 +++ local OIFS line package distros distro
    2013-06-10 16:34:34 +++ [[ -e /home/ubuntu/devstack/files/apts/quantum ]]
    2013-06-10 16:34:34 +++ OIFS='
    2013-06-10 16:34:34 '
    2013-06-10 16:34:34 +++ IFS='
    2013-06-10 16:34:34 '
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ ebtables =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ ebtables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo ebtables
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ iptables =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ iptables =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo iptables
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ iputils-ping =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ iputils-ping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo iputils-ping
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ iputils-arping =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ iputils-arping =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo iputils-arping
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ mysql-server #NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ continue
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ sudo =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ sudo =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo sudo
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-boto =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-boto =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-boto
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-iso8601 =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-iso8601 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-iso8601
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-paste =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-paste =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-paste
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-routes =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-routes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-routes
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-suds =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-suds =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-suds
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-netaddr =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-netaddr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-netaddr
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-pastedeploy =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-pastedeploy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-pastedeploy
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-greenlet =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-greenlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-greenlet
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-kombu =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-kombu =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-kombu
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-eventlet =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-eventlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-eventlet
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-sqlalchemy =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-sqlalchemy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-sqlalchemy
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-mysqldb =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-mysqldb =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-mysqldb
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-pyudev =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-pyudev =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo python-pyudev
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ python-qpid # dist:precise =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ python-qpid # dist:precise =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ package='python-qpid '
    2013-06-10 16:34:34 +++ distros=precise
    2013-06-10 16:34:34 +++ [[ precise =~ precise ]]
    2013-06-10 16:34:34 +++ echo 'python-qpid '
    2013-06-10 16:34:34 +++ continue
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ dnsmasq-base =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ dnsmasq-base =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ echo dnsmasq-base
    2013-06-10 16:34:34 +++ for line in '$(<${fname})'
    2013-06-10 16:34:34 +++ [[ dnsmasq-utils # for dhcp_release only available in dist:oneiric,precise,quantal =~ NOPRIME ]]
    2013-06-10 16:34:34 +++ [[ dnsmasq-utils # for dhcp_release only available in dist:oneiric,precise,quantal =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:34 +++ package='dnsmasq-utils '
    2013-06-10 16:34:34 +++ distros=oneiric,precise,quantal
    2013-06-10 16:34:35 +++ [[ oneiric,precise,quantal =~ precise ]]
    2013-06-10 16:34:35 +++ echo 'dnsmasq-utils '
    2013-06-10 16:34:35 +++ continue
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ rabbitmq-server # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ continue
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ qpid # NOPRIME =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ continue
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ sqlite3 =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ sqlite3 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo sqlite3
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ vlan =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ vlan =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo vlan
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:35 +++ local fname=/home/ubuntu/devstack/files/apts/n-novnc
    2013-06-10 16:34:35 +++ local OIFS line package distros distro
    2013-06-10 16:34:35 +++ [[ -e /home/ubuntu/devstack/files/apts/n-novnc ]]
    2013-06-10 16:34:35 +++ OIFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-numpy =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-numpy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-numpy
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:35 +++ local fname=/home/ubuntu/devstack/files/apts/glance
    2013-06-10 16:34:35 +++ local OIFS line package distros distro
    2013-06-10 16:34:35 +++ [[ -e /home/ubuntu/devstack/files/apts/glance ]]
    2013-06-10 16:34:35 +++ OIFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ gcc =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ gcc =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo gcc
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ libxml2-dev =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ libxml2-dev =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo libxml2-dev
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-dev =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-dev =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-dev
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-eventlet =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-eventlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-eventlet
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-routes =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-routes =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-routes
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-greenlet =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-greenlet =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-greenlet
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-argparse # dist:oneiric =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-argparse # dist:oneiric =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ package='python-argparse '
    2013-06-10 16:34:35 +++ distros=oneiric
    2013-06-10 16:34:35 +++ [[ oneiric =~ precise ]]
    2013-06-10 16:34:35 +++ continue
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-sqlalchemy =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-sqlalchemy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-sqlalchemy
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-wsgiref =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-wsgiref =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-wsgiref
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-pastedeploy =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-pastedeploy =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-pastedeploy
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-xattr =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-xattr =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-xattr
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-iso8601 =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-iso8601 =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-iso8601
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for file in '${file_to_parse}'
    2013-06-10 16:34:35 +++ local fname=/home/ubuntu/devstack/files/apts/keystone
    2013-06-10 16:34:35 +++ local OIFS line package distros distro
    2013-06-10 16:34:35 +++ [[ -e /home/ubuntu/devstack/files/apts/keystone ]]
    2013-06-10 16:34:35 +++ OIFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ IFS='
    2013-06-10 16:34:35 '
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-setuptools =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-setuptools =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35 +++ echo python-setuptools
    2013-06-10 16:34:35 +++ for line in '$(<${fname})'
    2013-06-10 16:34:35 +++ [[ python-dev =~ NOPRIME ]]
    2013-06-10 16:34:35 +++ [[ python-dev =~ (.*)#.*dist:([^ ]*) ]]
    2013-06-10 16:34:35

  4. James RenJames Ren06-28-2013


    Hi Brent, thanks for the great article. Just a little question on your floating IP range, should it be 172.24.4.224/27?

    Cheers,
    James

  5. linuxmonklinuxmonk07-19-2013


    Brent, awesome blog post. I tried setting up stable/grizzly via devstack. It fails to start keystone. There seems to be a bug in keystone. I got around this by making a dirty fix in my devstack/lib/keystone script. Then the stack executed beyond the first failure (https://bugs.launchpad.net/keystone/+bug/1201861). But then when the keystone client tries to create role etc. is it normal to see 503/Network error and the script still continuing ?

    • linuxmonklinuxmonk07-23-2013


      Requests from keystone client were directed to my proxy server while it shouldn’t have gone that route. Had to set no_proxy environment variable and then everything works !!

    • hupiperhupiper09-16-2013


      I’m still getting the timeout after explicitly setting the ports. If anyone can shed some light on why that might still be happening, I would appreciate it!

  6. niksniks08-06-2013


    can we add another one server/hypervisor in existing openstack dashbord????if yes plz suggest method for it

  7. LinLin09-12-2013


    The quickest way to get up and running on one node with OpenStack is to use NanoStack on Amazon EC2. It’s a PAID AMI but it’s pretty cheap. There is no installation and configuration. Just start an instance of NanoStack and you are in business. It’s a great OpenStack sandbox.
    (https://aws.amazon.com/marketplace/pp/B00F2NNR3C))

  8. Brent SalisburyBrent Salisbury09-12-2013


    Thanks Lin!

  9. Brent SalisburyBrent Salisbury09-12-2013


    Hey all, btw, if you would post your working “localrc” files for different architectures and #nodes that would be cool for people. I would love to see them too if you had a moment.

  10. Morgan YangMorgan Yang10-01-2013


    Hi Brent:

    I have been following your blogs and posts for openvswitch, openflow, and KVM and I want to thank you for all your good work. I’m running “stack.sh” script based installed right now on an ubuntu 12.04 server. I get a permission error with “2013-10-01 10:36:23 /home/myang/devstack/tools/install_prereqs.sh: line 74: /home/myang/devstack/.prereqs: Permission denied”. Exporting the environmental variables does not seem to resolve it. Do you have any recommendations to resolve this?

    • Morgan YangMorgan Yang10-01-2013


      Got it, i used “sudo git clone”, thats why

  11. GokulGokul10-13-2013


    Hi Scott .. great blog. A request for more clarifications in your posts. It is not very apparent on where you are running these commands. Eg., The “Nova Network Configuration” … are you running these commands on the controller node or the compute node or both? Do I need to do a git clone for installing openstack on both controller node AND compute node? Or do I just install it on controller node and then scp the devstack directory to the compute node (and then run stack.sh there as well) ? I have been trying to go through several of your blogs and I always seem to run into these missing pieces of information which confuse me (which probably are very apparent to you and many of the more experienced people here). So just a gentle request here for explicitly listing the steps required.


  12. Everyone loves what you guys are up too. This sort of clever work
    and coverage! Keep up the very good works guys I’ve incorporated you guys to blogroll.

Leave a Reply