in the following code form nova API (./nova/api/openstack/common.py) , you can see VM only have these status ACTIVE BUILD SHUTOFF VERIFY_RESIZE PAUSED SUSPEND RESCUE ERROR DELETED SOFT_DELETED SHELVED_OFFLOADED
Titan language IDE design 2013/11/30
Titan language IDE design 2013/11/30, just discussed with professor Li. Will start building it from next week.
Titan software design 2013/11/29
This screen will show the status of VM running inside the Openstack.
Eclipse always hang in Mac
I am using eclipse kelper in mac osx mavericks, it always hang. I finally got a work around solution from http://www.lazylab.org/197/eclipse/eclipse-hanging-on-startup-repair-corrupt-workspace/ Removing .snap File Open \.metadata\.plugins\org.eclipse.core.resources directory Remove .snap file in the directory Restart Eclipse Remove .indexes Folder Remove the \.metadata\.plugins\org.eclipse.core.resources\.root\.indexes directory Restart Eclipse Move .project mv workspace/.metadata/.plugins/org.eclipse.core.resources/.projects workspace/.metadata/.plugins/org.eclipse.core.resources/old.projects My script
Implementing High Performance Parsers in Java
Implementing High Performance Parsers in Java
Designing dashboard screen
Designing dashboard screen, need to meet these goals: 1) able to show status of VM 2) i think people usually have less than 32 VMs runnning, so the design will be optimized to show 32 VMs 3) i will reference redhat cloudforms interface
Latest Titan Screen (charts)
my openstack key file
web socket example to stream screen to html 5 player
Here is a working example using web socket to stream screen to html 5 player. The server is in java, I use websockify.py to route the websocket to java socket. html 5 player
SwingUtilities.updateComponentTreeUI(this); will reset all custom UI
SwingUtilities.updateComponentTreeUI(this); will reset your own UI, if you call setUI() in constructor. Example: PeterCustomeTabbedPane —– extend ——> MaryCustomTabbedPane —- extend -> JTabbedPane (swing component) Suppose PeterCustomeTabbedPane and MaryCustomTabbedPane have their own TabbedPaneUI, once you called SwingUtilities.updateComponentTreeUI(this); , PeterCustomeTabbedPane’s UI class will be reset to MaryCustomTabbedPane’s UI class. Workaround: !!! dont call setUI in PeterCustomeTabbedPane, override the setUI() method and set whatever […]
i may know why the gdb command “x” only request one byte each time
I am playing the gdbstub in qemu, i found a bug there http://peter.kingofcoders.com/?p=859 , if i invoke the function cpu_physical_memory_rw(0xffff0, mem_buf, 50, 0) , qemu crashes. Then, i tested the gdb command “x /20bx 0xffff0” and use tcpflow to capture the gdb packet, i found out gdb send 20 command and each time request one byte only. […]
qemu 1.6.0 rc2 has bug
I found a bug in qemu, version 1.6.0 rc2. When i invoke: where addr=0xffff0 and noOfBytes=50, qemu will has segmentation fault. I called the cpu_physical_memory_rw right after the qemu is started (haven’t run yet) with gdb. The vm was in real mode, i am not sure it is crossing memory boundary problem. But i just […]
Enable core dump in mac
enable core dump in mac, you need these commands The core dump files are in /cores by default
QMP Supported Commands
QMP Supported Commands: This document describes all commands currently supported by QMP. Most of the time their usage is exactly the same as in the user Monitor, this means that any other document which also describe commands (the manpage, QEMU’s manual, etc) can and should be consulted. QMP has two types of commands: regular […]
JLibGDB need 333 mins to execute 10 millions single step commands to gdb
JLibGDB need 335 mins to send 10 millions single step commands to gdb and execute. Not bad.
my vlc command to stream video to pc/iOS/android
Stream to a mp4 Stream to a FLV Stream to a HLS
Qemu + GDB, the single step speed is not fast
In bochs, i can invokes around 40 single step commands in my 2012 mac air. People think qemu is much faster than bochs, it is truth but not for single step. I wrote a java program and keep sending single-step command to qemu through socket (GDB protocol, the average speed is 32 commands per seconds. […]
JLibGDB
I was trying to create a new debug server in qemu, but it is failed, there are so many pieces of code are twitted with GDB, so a new debug server is unable to make it work. Now I changed my direction, because on gdb communication protocol, i extend it to fit for peter-bochs (will […]
Design concept
This is my first draft of design concept of the VM page in Titan, please give me comment PSD download here
A little enhancement
If the openstack is down when you start titan server, it will show you the status.
Titan design draft 2013/07/27
Going to develop this network montior/setup screen.
Why the Cloud Wars Have Yet to be Won
The cloud computing industry is still young relative to the history of computing, but increasingly, speculators are in a rush to declare a “winner.” Of course, based on certain metrics it’s possible to identify leaders. But we certainly don’t think the game is over, and we were pleased to see that Charlie Babcock of InformationWeek agrees with […]
GDB two-breakpoints inter-communication between gdb and gdbstub of qemu
$tcpflow -c -i lo0 port 1234 tcpflow[5508]: 127.000.000.001.01234-127.000.000.001.58366: new flow 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+#b5 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $PacketSize=1000#f1 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $Hg0#df 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $OK#9a 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $?#3f 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $T05thread:01;#07 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $Hc-1#09 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $OK#9a 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qC#b4 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $QC1#c5 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qAttached#8f 127.000.000.001.01234-127.000.000.001.58366: […]
gdb – qemu : two breakpoints flowchart
This is the flowchart for qemu-gdb after i insert two breakpoints at 0x7c00 and 0x7c01, you can see everytime gdb hit a breakpoints, it will remove all breakpoints. And if the current address is the address that hit the breakpoint, when you want to “cont”, gdb will send a “s” command first.
gdb crash, for another debug server
if you are create your own debug server, gdb will crash, take a look: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffebfff700 (LWP 32202)] 0x000055555577632b in gdb_set_stop_cpu (env=env@entry=0x5555564f6d20) at /root/workspace/qemu-1.5.0/gdbstub.c:2510 2510 gdbserver_state->c_cpu = env; Missing separate debuginfos, use: debuginfo-install SDL-1.2.15-3.fc18.x86_64 cyrus-sasl-lib-2.1.23-37.fc18.x86_64 glib2-2.34.2-2.fc18.x86_64 glibc-2.16-28.fc18.x86_64 libX11-1.5.0-3.fc18.x86_64 libXau-1.0.6-4.fc18.x86_64 libXcursor-1.1.13-2.fc18.x86_64 libXext-1.3.1-2.fc18.x86_64 libXfixes-5.0-3.fc18.x86_64 libXrandr-1.4.0-1.fc18.x86_64 libXrender-0.9.7-2.fc18.x86_64 libpng-1.5.13-1.fc18.x86_64 libxcb-1.9-1.fc18.x86_64 nss-softokn-freebl-3.14.3-1.fc18.x86_64 […]
a bug in tightvnc java library
I found a bug for the tightvnc java library, if my setup like this tightvnc (java) -> java proxy server -> java proxy server -> vnc server IT doesn’t work, after I trace the code, this could caused by this line: this.is = new DataInputStream(new BufferedInputStream(is)); In Reader.java constructor, it is called twice. You can see that if you […]
GKD Dev Plan 2013/05/25
test : PB -> C -> catch breakpoint -> C C -> catch breakpoint -> N x Si -> C restart Qemu refactor all the equals(“bochs”) code to LibGKD better to use enum for bochs/qemu enhance profiling feature for vnc recording Here is the list of gdb command: (gdb) help all Command class: aliases […]
Able to display the qemu screen in GKD
I use Tightvnc java library to display the qemu screen in GKD. The tightvnc java library is able to display in a JFrame/JApplet, but not in a JPanel, so I modified it to make it work in a JPanel, all the code is in , take a look the function initVNCPanel()
example launch the vnc by tightvnc java library
After a few hours hack into the tightvnc code, i can display the vnc onto a JPanel, i will replace the buggy novnc with my own vnc proxy server, so user don’t need to setup the novnc for openstack but able to remote to every instance using openstack. PeterIPasswordRetriever.java:
tightvnc java viewer, cancel connection dialog popup
when running tightvnc java viewer, add parameter “-password=mypassword myhost:9401” change line 181 in Viewer.java, from to
The script i use to restart the devstack
This is the script i use to restart the devstack, i am using it with ubuntu 12.10 64 bits and devstack restart_devstack.sh
Samsung galaxy s4, charging the battery, using samsung USB cable is much faster
Samsung galaxy s4, charging the battery, using samsung USB cable is much faster than third-party usb cable, here is my test 1) samsung power adapter + samsung usb cable, charge from 10% to 30% takes 20 minutes 2) samsung power adapter + third-party 3M-long usb cable, charge from 10% to 30% takes 1 hour and 15 […]
converted LibGKD to maven project
converted LibGKD to maven project, because peter-swing is now a maven project, better to convert it too
openstack token expiry date
my colleague Thomas discovered that if we send two commands to openstack using the curl to get the same token, the expiry will keep changing to later time. This will cause the token never expire.
peter-dwarf can support 32 bits elf only
There is a western friend told me he can’t use peter-dwarf to parse his 64 bits elf file, after i trace my code, i finally found my peter-dwarf library only support 32 bits elf. I need some time to enhance it and make it 64 bits.
something need to care when you use devstack
I have a ubuntu 12.10 64 bits, i can easily install devstack, but there are some points still need to care about the devstack 1. Devstack installation script is to git clone the latest version from the openstack source repository, if the repository’s code contain bug, your openstack will fail. If you use devstack in […]
steps to reinstall devstack
steps to reinstall devstack 1) Remove all the openstack;s databases from mysql, glance, keystone, nova, etc… 2) Delete the install directory of devstack, default is /opt/stack 3) Remove your old devstack git clone directory, because we want to check out the latest code 4) You *don’t* need to delete /usr/local/lib/python2.7/distpackages/openstack* , but if you did […]
let’s beat vSphere using openstack
Let’s beat vSphere using openstack, first step is to learn everything from it o VMware vSphere 5 Evaluation Guide – Volume1 VMware-vSphere-Evaluation-Guide-1 o VMware vSphere 5 Evaluation Guide – Volume 2 – Advance Storage Features VMware-vSphere-Evaluation-Guide-2-Advanced-Storage o VMware vSphere 5 Evaluation Guide – Volume 3 – Advance Networking Features VMware-vSphere-Evaluation-Guide-3-Advanced-Networking o VMware vSphere 5 Evaluation […]
A very professional ppt that talk about system performance tuning
A very professional ppt that talk about system performance tuning download : scalelinuxperformance-130224171331-phpapp01
development openstack dashboard
I and my colleague are currently develop some modules on openstack dashboard. Here is the list for you to know : when you modify a page in dashboard, which files you need to deal with, this will save you some time: download : openstack_dashboard