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
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.
1 2 3 4 |
% git clone https://github.com/openstack-dev/devstack.git % cd devstack |
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.
1 2 3 |
% ./stack.sh |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
## Controller Host ## HOST_IP=192.168.1.10 MULTI_HOST=1 ## Network nova-network ## FLAT_INTERFACE=eth0 FIXED_RANGE=172.24.17.0/24 FIXED_NETWORK_SIZE=254 FLOATING_RANGE=192.168.1.128/25 ## Leaving Default Services Enabled ## DISABLED_SERVICES=quantum ## Logs ## LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=False SCREEN_LOGDIR=/opt/stack/logs |
OpenStack Controller Node nova.conf
nova.conf is located in /etc/nova/nova.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
[DEFAULT] verbose=True auth_strategy=keystone allow_resize_to_same_host=True api_paste_config=/etc/nova/api-paste.ini rootwrap_config=/etc/nova/rootwrap.conf compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler dhcpbridge_flagfile=/etc/nova/nova.conf force_dhcp_release=True fixed_range=172.24.17.0/24 default_floating_pool=nova s3_host=192.168.1.10 s3_port=3333 osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions my_ip=192.168.1.11 sql_connection=mysql://root:password@192.168.1.10/nova?charset=utf8 libvirt_type=kvm libvirt_cpu_mode=none instance_name_template=instance-%08x enabled_apis=ec2,osapi_compute,metadata state_path=/opt/stack/data/nova lock_path=/opt/stack/data/nova instances_path=/opt/stack/data/nova/instances multi_host=True send_arp_for_ha=True logging_context_format_string=%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user_name)s %(project_name)s] %(instance)s%(message)s network_manager=nova.network.manager.FlatDHCPManager public_interface=br100 vlan_interface=eth0 flat_network_bridge=br100 flat_interface=eth0 novncproxy_base_url=http://192.168.1.10:6080/vnc_auto.html xvpvncproxy_base_url=http://192.168.1.10:6081/console vncserver_listen=127.0.0.1 vncserver_proxyclient_address=127.0.0.1 ec2_dmz_host=192.168.1.10 rabbit_host=192.168.1.10 rabbit_password=password glance_api_servers=192.168.1.10:9292 compute_driver=libvirt.LibvirtDriver firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
## Compute Host ## #SERVICE_HOST_NAME=controller SERVICE_HOST=192.168.1.10 HOST_IP=192.168.1.11 MULTI_HOST=1 ## Network nova-network ## FLAT_INTERFACE=eth0 FIXED_RANGE=172.24.17.0/24 FIXED_NETWORK_SIZE=254 FLOATING_RANGE=192.168.1.128/25 ## Compute Node Services ## ENABLED_SERVICES=n-cpu,n-net,n-api,n-vol ## API URIs ## Q_HOST=$SERVICE_HOST MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST GLANCE_HOSTPORT=$SERVICE_HOST:9292 KEYSTONE_AUTH_HOST=$SERVICE_HOST KEYSTONE_SERVICE_HOST=$SERVICE_HOST ## Auth ## ADMIN_PASSWORD=password MYSQL_PASSWORD=password RABBIT_PASSWORD=password SERVICE_PASSWORD=password SERVICE_TOKEN=password ## Logs ## LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=False SCREEN_LOGDIR=/opt/stack/logs |
OpenStack Compute Node nova.conf
nova.conf is located in /etc/nova/nova.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
[DEFAULT] verbose=True auth_strategy=keystone allow_resize_to_same_host=True api_paste_config=/etc/nova/api-paste.ini rootwrap_config=/etc/nova/rootwrap.conf compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler dhcpbridge_flagfile=/etc/nova/nova.conf force_dhcp_release=True fixed_range=172.24.17.0/24 default_floating_pool=nova s3_host=192.168.1.10 s3_port=3333 osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions my_ip=192.168.1.11 sql_connection=mysql://root:password@192.168.1.10/nova?charset=utf8 libvirt_type=kvm libvirt_cpu_mode=none instance_name_template=instance-%08x enabled_apis=ec2,osapi_compute,metadata state_path=/opt/stack/data/nova lock_path=/opt/stack/data/nova instances_path=/opt/stack/data/nova/instances multi_host=True send_arp_for_ha=True logging_context_format_string=%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user_name)s %(project_name)s] %(instance)s%(message)s network_manager=nova.network.manager.FlatDHCPManager public_interface=br100 vlan_interface=eth0 flat_network_bridge=br100 flat_interface=eth0 novncproxy_base_url=http://192.168.1.10:6080/vnc_auto.html xvpvncproxy_base_url=http://192.168.1.10:6081/console vncserver_listen=127.0.0.1 vncserver_proxyclient_address=127.0.0.1 ec2_dmz_host=192.168.1.10 rabbit_host=192.168.1.10 rabbit_password=password glance_api_servers=192.168.1.10:9292 compute_driver=libvirt.LibvirtDriver firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver |
SSH Keys and Booting a Guest VM
1 2 3 4 |
nova keypair-add ssh_key > ssh_key.pem > ~/ssh_key.pem chmod 0600 ~/ssh_key.pem |
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:
1 2 3 4 5 6 7 |
#Download Ubuntu 12.04 (The default login for this image is "ubuntu") % wget https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img #or: #Download CirrOS 0.3 (The default login is "cirros") % wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img |
Import the downloaded image into Glance
1 2 3 4 5 6 7 |
% glance add name=Ubuntu-12.04 is_public=true container_format=ovf \ disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img % glance add name=CirrOS-0.3.0 is_public=true container_format=ovf \ disk_format=qcow2 < cirros-0.3.0-x86_64-disk.img #Verify image imports with % glance index |
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.
1 2 3 4 5 6 7 8 |
export SERVICE_TOKEN=openstack export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=openstack export OS_AUTH_URL=http://localhost:5000/v2.0/ export SERVICE_ENDPOINT=http://localhost:35357/v2.0 |
Figure 2. Viewing processes running in DevStack with ‘nova-manage service list’ ‘: -)’ means the process is functioning. ‘XXX’ means the process has died.
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:
1 2 3 4 5 6 |
#Create the private address space where guest VMs will reside. % nova-manage network create private 172.24.17.0/24 1 254 #Create the floating address pool and associate it to an object named Nova for something meaningful to tenants. % nova-manage floating create 192.168.1.128/25 --pool=nova |
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.
1 2 3 4 5 6 7 8 9 10 |
% ip addr show br100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:0c:29:65:fd:82 brd ff:ff:ff:ff:ff:ff inet 172.24.17.3/24 brd 172.24.17.255 scope global br100 inet 192.168.1.11/24 brd 192.168.1.255 scope global br100 inet 192.168.1.129/32 scope global br100 inet6 fe80::d4ee:3cff:fef2:556d/64 scope link valid_lft forever preferred_lft forever |
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.
1 2 3 4 5 6 |
% brctl show bridge name bridge id STP enabled interfaces br100 8000.000c2965fd82 no eth0 vnet0 |
Figure 5. Linux bridge output from ‘brctl’
10 Quick OpenStack Operational Notes
- At anytime you can check to make sure the services show smiley faces 🙂 and not XXX with ‘nova-manage service list’.
- To manually boot an image, running ‘glance index’ and copy the ID of the image that was loaded in the script.
- nova boot –flavor 1 –image <insert image ID here> –key_name ssh_key demohost
- Run ‘nova list’ to check the progress and look for any errors.
- After a couple of minutes the instance will be booted, make sure you can ping it.
- SSH to the ubuntu instance by running “ssh -i ~/ssh-key.pem ubuntu@<ip in nova list>” The key was created by the script.
- Check out the web page with http://localhost or http://<public address used>
- Under the “Admin” project in Dashboard (the webpage) go to security and access and allocate a floating address to your project.
- Once allocated to the project, allocate the address to your VM you started.
- Running ./unstack will unload DevStack. Running ./stack.sh will rebuild the stack.
Additional DevStack Resources
- OpenStack Folsom Quantum Devstack Installation: For a how-to and screencast using DevStack and Quantum.
- OpenStack Development Using DevStack: For a nice presentation on DevStack from Kyle Mestery @mestery.
- DevStack Code: Reviewing the code is a really great way to get to understanding the script. DevStack Website
- OpenStack Documentation: This has remarkably improved.
Thanks for stopping by.
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
Openstacker, I have set it up on both Ubuntu 12.04 and Ubuntu 13.04 without issue.
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
if I want to test linuxbridge, how to modify the localrc?
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
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
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 ?
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 !!
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!
can we add another one server/hypervisor in existing openstack dashbord????if yes plz suggest method for it
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))
Thanks Lin!
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.
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?
Got it, i used “sudo git clone”, thats why
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.
What i do not realize is if truth be told how you’re not really a lot more neatly-appreciated than you may be
now. You are so intelligent. You understand therefore significantly in relation to this topic, made me in my view imagine it from so
many varied angles. Its like men and women don’t seem to be
fascinated unless it is one thing to do with Woman gaga!
Your own stuffs outstanding. Always care for it
up!
Hello! Someone in my Facebook group shared this site with us so
I came to look it over. I’m definitely enjoying
the information. I’m book-marking and will be tweeting this to
my followers! Fantastic blog and wonderful design.
When you entertain, keep everything in your own style.
It has good inhibitory effect on the variant streptococcus which can result in dental
caries. Mothers just gave birth to the baby, very weak, need to her husband’s care and care, hope the new dads are more patience to his wife and children, carefully
take care of them, and don’t give this very happy time leave any regret.
You will take Mo Nai for a beautiful picture, if there is
no one to tell you. All of these questions around
one focus, that is the safety problem. Most people not only have no
life subsidies, also have to pay higher costs, have to ask parents for support, or they work solve learning and
life difficulties through a part-time job.
This kind of site can truly offer the right services, right Dofus kamas in right
way to the people who is in need. The latest data of the American
market research center Kantar Media, also
shows P&G is at the eighth year supreme advertiser. Its
yellow prism packing makes it impressive in people’s minds.
As we all know, “Pirates of the Caribbean”, with its simple and
honest and well-behaved they reveal the unique shape, the
color of the horse across the great, elegant fashion and luxury features such as
the system does not delete files Niece loved by so many players, being the case,
wow is MM favorite send these “Pirates of the Caribbean” course designed
to pull air choice for you because of who. The stove is still hot to
cook food, and people could take out the food
after one minute. ‘I have never cared about the ritual supplies store
downstairs of the house before, but now I have been the regular customer in order to buy balloons.
So, developing a good life habit, living far away from factors which will result cancer, eating more anti-cancer foods and doing
more exercise are good ways to prevent yourself from cancer.
The harsh reality of business is that everything is not popular in
its list of prescriptions, especially when they can block
the samples under examination. Do not underestimate this rose,
but you it’s “Pirates of the Caribbean” love the success of <. "Pirates of the Caribbean" Bo Thomas ancient church priest every day waiting for one to one on a nice ring, where he married and, of course, you are no exception Oh. Exercise makes the heart and lung function been strengthened. Vitamin C can synthesize carnitine to promote fat metabolism and accelerate fat decomposition and combustion. A variety of paints and adhesives brushed on the surface of furniture contain large numbers of volatile organic compounds which will pollute indoor air and harm the respiratory system and nervous system. Microwave oven should be placed in ventilated place, where there are no magnetic materials so as not to interfere with the magnetic field of oven and decrease the work efficiency. The green mountains, the white walls and red roofs of farmhouses, the colorful flowers and full of green wood make up amazing scenery. The study found that running shoes increased knee and hip torque when compared to running with no shoes at all. These additives contain compound benzene and even some poor quality toilet paper contains formaldehyde, E. Especially on childbirth eve, fatty food, too sweet, too salty, spicy cold, stimulate alcohol and easy to cause contractions food, had better not to touch. Recommended food: nuts such as peanuts, walnuts, sesame seeds; lean meat, dairy, eggs, malt.
The development for God of War Collection was outsourced
from SCE Santa Monica Studio to Bluepoint Games. If the cooked time is too long, the food will become hard
and lose its flavor, color and taste. People may feel tired and
the things they do may not be satisfying. All of these questions
around one focus, that is the safety problem.
The craftsmen use these materials at great prices and do not be surprised if shortages occur.
There is no extra decoration in the appearance which makes this phone simple and gentle.
The stove is still hot to cook food, and people could take out the food after one minute.
This makes the game more than just fighting and training.
Not the most instinctive, but not as bad as some others out there.
The AI enemies are often boring to fight because they are so.
Yes, of course your account will be banned for buying Dofus
kamas online, if you buy gold from that cheap price site which far away from what is normal, if you and your friend never know about the site,
if your order don’t have any guarantee about the refund, or you don’t get
a promised delivery time and don’t know who will do this delivery, 90% sure you will
loss your money and get a banned email on your mail box.
The artwork is fantastic, and the characters are largely
customizable. Or of course, you can choose a profession that does not have anything
that attacks you. It you have vacation before Christmas Day,
it is a good choice to visit the German Christmas market and I am sure you will be
deeply attracted by there. Therefore, skin cleansing only need to meet two basic conditions: thorough clean and skin moisture.
The foot of human body is also vulnerable to cold invasion.
If you have interests in our products, please visit our website and you will find
what you want. Choose your favorite sports in your free time and have a happy hour to
keep healthy. If you get splashed on by another monkey’s balloon,
you will be incased in a bubble. The person’s work associates and colleagues
are other possible sources of info that you can use. To do a few times in a day groups will let you
have the more tightening, more charming legs. Many people know this truth, but they do not have the
courage to refuse others. Because of the dry office
environment, wearing the contact lens for a long time will cause skins around eyes dry.
There are many different dungeons, but most are available for
paying players only. Take care of the baby’s burden falls on
the new dad, how can do a competent new dad.
An interesting discussion is definitely worth comment.
There’s no doubt that that you need to write more on this issue, it may not be a taboo subject but typically people don’t discuss such topics.
To the next! All the best!!
Do you have a spam issue on this site; I also am a blogger, and I was wondering your situation;
many of us have created some nice practices and we are looking to exchange strategies with others,
why not shoot me an e-mail if interested.
I have compiled a series of guides on how to Dofus kamas as
soon as possible. Do you want to experience the journey you have never tried in the
real world. One of the best features of Dofus is
the job system.
When the baby has been just born, their ability to
resist the body is very bad, very delicate. You can play up to five Characters at one time and all the characters on one server will share a bank account, which is actually horribly convenient.
However, we should know that long-term drinking milk
with empty stomach is a certain injury to our health. Your best reaction is,
to immediately stop the job at hand and immediately begin her new job, and the account, expression on the face will show you worry double times than the boss.
You can order a cup of yogurt after meal, for the lactic acid bacteria in yogurt can better suppress the growth
of corrupted strains and protect the intestinal and
gastric health effectively. Some plant components in red skins could inhibit the growth of protein in tumor cells effectively, and reduce the reaction ability of tumor cells to estrogen.
Alright, now that you have made your character, its time to play.
But you don’t hurry back, because that would lead to your
boss think that you didn’t do your best to do it, you must have a good shopping once street,
on the street drink a cup of coffee, see pretty boys and girls
in the street then come back. The ginger water could make the body warm, increase energy, active blood,
accelerate blood circulation, and help people especially the elderly
and young children to fight against the cold
climate. In fact, person’s life is all the time in the “waiting”.
The stove is still hot to cook food, and people could take
out the food after one minute. ‘I have never cared about the ritual supplies store downstairs of the house before, but
now I have been the regular customer in order to buy balloons.
Insomniac Games seem to be opened to the idea of a Ratchet
& Clank Collection on the Playstation 3 as long as SCEA supports the idea and finds another developer to handle
the port. So, it may seem like just a game, but there are things to learn as well.
Do not underestimate this rose, but you it’s “Pirates of the Caribbean” love the success of <. This simple action can let you exercise abdominal muscle, slowly practice six muscles. They will let you become thin while you are working, and it's not so hard. Because how many real people do you see named, I_am_awesome12837. The development for God of War Collection was outsourced from SCE Santa Monica Studio to Bluepoint Games. A blog is a web-based publishing platform, which is shortened form of the word "weblog. All the success is adventurous results all dare to think, dare to do. During the Christmas market open, the Roman Berger Square will transform into a festival market with handicrafts and Christmas food. a) Missions Suppose you start looking Incarnam, you must completely familiar with the characters with an exclamation point on the head, giving the search are their main source of Kamas. In fact, different kinds of cosmetic products eventually have different proportion of the raw material costs, such as washing powder may account for 60% to 70%, and toothpaste, shampoo account for 30% ~ 40%. New dad taking care of their babies mainly need to pay attention to four:.
Ƭhis is a topic that іs close to my heart…
Many thanks! Exactly where are your coոtact details though?
Do you have any video of that? I’d care to find out more details.