用pdb调试OpenStack
来源:互联网 发布:怎么利用淘宝赚钱 编辑:程序博客网 时间:2024/05/29 08:03
ADMIN_PASSWORD=passwordMYSQL_PASSWORD=stackdbRABBIT_PASSWORD=stackqueueSERVICE_PASSWORD=$ADMIN_PASSWORD#enable_service rallySERVICE_TOKEN=password## vnc#enable_service n-spice#enable_service n-novnc#enable_service n-xvnc#GIT_BASE=https://code.csdn.net# Reclone each time#RECLONE=yesRECLONE=no## For KeystoneKEYSTONE_TOKEN_FORMAT=PKI## For Swift#SWIFT_REPLICAS=1#SWIFT_HASH=011688b44136573e209e# Enable LoggingLOGFILE=/opt/stack/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=TrueSCREEN_LOGDIR=/opt/stack/logs# Pre-requisiteENABLED_SERVICES=rabbit,mysql,key## If you want ZeroMQ instead of RabbitMQ (don't forget to un-declare 'rabbit' from the pre-requesite)#ENABLED_SERVICES+=,-rabbit,-qpid,zeromq## If you want Qpid instead of RabbitMQ (don't forget to un-declare 'rabbit' from the pre-requesite)#ENABLED_SERVICES+=,-rabbit,-zeromq,qpid# Horizon (Dashboard UI) - (always use the trunk)ENABLED_SERVICES+=,horizonHORIZON_REPO=https://github.com/openstack/horizonHORIZON_BRANCH=master# Nova - Compute ServiceENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch######vncENABLED_SERVICES+=,n-novnc,n-xvnc#jjIMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"#IMAGE_URLS+=",http://172.28.0.1/image/cirros-0.3.0-x86_64-disk.img"# Nova Network - If you don't want to use Neutron and need a simple network setup (old good stuff!)#ENABLED_SERVICES+=,n-net## Nova Cells#ENABLED_SERVICES+=,n-cell# Glance - Image ServiceENABLED_SERVICES+=,g-api,g-reg# Swift - Object Storage#ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account# Neutron - Networking Service# If Neutron is not declared the old good nova-network will be usedENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron## Neutron - Load BalancingENABLED_SERVICES+=,q-lbaas## Neutron - VPN as a ServiceENABLED_SERVICES+=,q-vpn## Neutron - Firewall as a ServiceENABLED_SERVICES+=,q-fwaas# VLAN configuration#Q_PLUGIN=ml2#ENABLE_TENANT_VLANS=True# GRE tunnel configurationQ_PLUGIN=ml2ENABLE_TENANT_TUNNELS=True# VXLAN tunnel configuration#Q_PLUGIN=ml2#Q_ML2_TENANT_NETWORK_TYPE=vxlan # Cinder - Block Device ServiceVOLUME_GROUP="cinder-volumes"ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak# Heat - Orchestration ServiceENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng#IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2"# Ceilometer - Metering Service (metering + alarming)#ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api#ENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eval# Apache fronted for WSGI#APACHE_ENABLED_SERVICES+=keystone,swiftAPACHE_ENABLED_SERVICES+=keystone以上为localrc文件,用于devstack安装时的配置文件,用git clone一份devstack的源码,将localrc文件copy过去,然后./stack,就可以了。
1. 创建文件creds:
exportSERVICE_TOKEN=xxx(3中输入的密码)
exportOS_TENANT_NAME=admin
exportOS_USERNAME=admin
export OS_PASSWORD=xxx
exportOS_AUTH_URL=http://localhost:5000/v2.0/
exportSERVICE_ENDPOINT=http://localhost:35357/v2.0
source creds就可以使用openstack了
2. 若想更改已安装的组件,再./stack.sh即可
Pdb调试Havana过程
1. 修改代码
在需要调试的地方加入:
import pdb; pdb.set_trace()(以在nova/compute/api.py:get_all()中加入pdb为例)
2. 重启服务
3. 开始调试:
显示有两个screen
screen –x stack
进入如下界面:
最下一行表示,每一个进程都有一个screen。带*号的表示当前的screen,可以同时按下ctrl+a+8和ctrl+a+2分别前进和后退,来切换不同的screen.
4. 在0$中输入nova list;切换到4$ n-api:
5. 开始使用pdb进行调试
6. 物理机重启后,可使用rejoin-stack.sh启动openstack服务
7. ctrl+a+shift+", 可以选择screen , 主要就不需要通过ctrl + a or ctrl + p 来回切换了:)。
参考资料
1.使用pdb调试openstack (How to debug openstackusing pdb )
http://blog.csdn.net/hackerain/article/details/8373597
2. linux screen 命令详解
http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html
- 用pdb调试OpenStack
- 用pdb调试OpenStack
- 用pdb调试OpenStack Havana
- 使用pdb调试openstack (How to debug openstack using pdb )
- OpenStack之调试——Pdb调试
- 零基础学习openstack --pdb调试与方法
- 用pdb进行python调试
- PDB 调试
- 调试&PDB
- PDB调试
- pdb调试
- pdb调试
- 用PDB库调试Python程序
- 用PDB库调试Python程序
- 用PDB库调试Python程序
- 用PDB库调试Python程序
- 用PDB库调试Python程序
- 用 pdb 库调试Python程序
- PHP中的单例模式
- mvn 编译错误java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter. <init>(Z)V
- 在Visual Studio中给MFC类添加父类的虚函数的方法,比如给CWinApp的子类添加ExitInstance()方法
- 0001算法笔记——NP完全理论
- 封装的定时器类
- 用pdb调试OpenStack
- 0002算法笔记——【递归】排列问题,整数划分问题,Hanoi问题
- BADI增强实施方法介绍&&修改VL02N屏幕字段增强
- 0003算法笔记——【分治法】分治法与二分搜索,棋盘覆盖问题
- 关于pthread_cond_wait使用while循环判断的理解
- SQL Server死锁总结
- 0004算法笔记——【分治法】合并排序
- ubuntu 进入单用户模式
- 浏览器兼容性差异