Ask Your Question

Lili Zhang's profile - activity

2016-12-16 14:43:29 -0600 commented answer openstack trove instances

For the configuration of trove-guestagent and other components, please refer to this post.

2016-12-16 14:40:14 -0600 commented answer Trove Error creating security group for instance(Newton)

And also double check the values of tcp_ports and udp_ports in the trove taskmanager log file. For example, if you are using Vertica on your guest database image, ports values are like below. tcp_ports = 5433, 5434, 22, 5444, 5450, 4803 udp_ports = 5433, 4803, 4804, 6453

2016-12-16 14:35:44 -0600 commented answer Trove Error creating security group for instance(Newton)

The NULL value of from_port means there is a misconfiguraiton in trove-taskmanager.conf, because ports are read from it. See the first 3 Traceback messages.

To correct it, make sure that tcp_ports are not commented out in trove-taskmanager.conf, along with udp_ports if any.

2016-12-12 22:49:26 -0600 answered a question Trove Error creating security group for instance(Newton)

Based on the log, the error message is "From port must be an integer". So the error points to "From port". When taking a a close look at the Traceback message, we can find that "from port" is passed to Nova by the function add_rule in the following script.

https://github.com/openstack/trove/blob/stable/liberty/trove/extensions/security_group/models.py

How about adding an LOG.info or LOG.debug to output the value of "from_port" in the above script and manually examine what it is currently?

2016-06-02 04:01:31 -0600 answered a question openstack trove instances

I guess your problem is not about creating Trove instances but building a Trove guest database image. Once we have Trove guest database image ready for use, we can launch a Trove instance with that.

My experiences tell me that it may be faster to build a customized database guest image manually instead of using dib. A customized database guest image can be a snapshot of a Nova instance which has trove-guestagent and database software package installed and configured on it. With that idea in mind, we can build a customized database guest image and use it with following steps roughly. Note that there are more detailed issues to take care of in the process.

  1. Launch a Nova instance.
  2. Prepare environments of the above Nova instance for trove-guestagent, specifically, appropriate ubuntu repository for OpenStack version you have deployed.
  3. Install and configure trove-guestagent on the above Nova instance.
  4. Install database software package on the above Nova instance.
  5. Shutdown the above Nova instance.
  6. Take a snapshot of the above Nova instance. Note this snapshot is an image on OpenStack. This snapshot is the Trove database guest image.
  7. Create a Trove datastore for your database.
  8. Add the above snapshot as a version of Trove datastore created in Step 7.
  9. Launch a Trove instance with the datastore version created in Step 8.

Do you think the above workflow makes sense? Feel free to let me know if you have any confusion.

Hope this is helpful.

2016-06-02 03:44:29 -0600 answered a question DB instance is going in an ERROR state instead of ACTIVE state.

There can be many issues that cause DB instance to go to ERROR. For example, the bug you referred to was caused by 'guest agent error'. Then we should go to check trove-guestagent.log on the guest for details. If the error you encountered is also 'guest agent error', would you mind positing ERROR and TRACE info in trove-guestagent.log?

2016-06-02 03:30:33 -0600 answered a question Trove guest agent fails to get database status

As the last 'ERROR' says in the trove-guestagent.log you posted, command 'sudo /usr/bin/mysqladmin ping' failed. And there are two issues that have caused that error.

  1. stderr: sudo: unable to resolve host trove-test
  2. sudo: no tty present and no askpass program specified

To fix the above two issues, follow the links below.

Error message when I run sudo: unable to resolve host (none)

How to fix 'sudo: no tty present and no askpass program specified' error?

Hope this is helpful.

2016-01-04 03:39:00 -0600 commented answer How to install Trove ubuntu 14.04?

I would suggest you to try this way with Vertica image. Since I worked with Vertica, I just added its default package path details in Step 6. It has a free version. Let me know the step you couldn't follow

2016-01-04 03:34:58 -0600 commented answer How to install Trove ubuntu 14.04?

I guess you encountered the same problem with DIB as I did, before I came up with another way to build an image manually. I remember I read some discussion about that in OpenStack Trove IRC log, but forgot which date.

2016-01-03 09:19:58 -0600 commented answer How to install Trove ubuntu 14.04?

I don't think it will work. As explained in this post, "These images are intended for use with devstack based systems...". Where were you not able to follow my explanation in the post?

2015-12-25 19:39:36 -0600 commented answer How to install Trove ubuntu 14.04?

Step 3-6 in this post can help you resolve the issue you are facing. Yeah, I would like to put your experience in my blog and benefit more people.

2015-12-25 07:01:51 -0600 received badge  Famous Question (source)
2015-12-22 20:50:39 -0600 commented answer Unable to authentiate through keystone
  1. Check wether service_id of the endpoint really matches the id of the service it serves, and also the region.
  2. Delete current cinder services and endpoints, and recreate following step 7 and 8 here.
2015-12-22 09:57:57 -0600 answered a question How to build trove images ?

Hope this method can help you get a Trove image that works well. It works on my OpenStack environment.

2015-12-22 09:54:18 -0600 answered a question Trove instance went to ERROR because of "chmod: cannot access '/etc/guest_info': No such file or directory"

In case others also have this problem, just provide the solution I figured out one month ago. It is a problem related to Nova in my OpenStack environment. See here.

2015-12-22 09:43:25 -0600 received badge  Editor (source)
2015-12-22 09:42:15 -0600 answered a question How to install Trove ubuntu 14.04?

Hope this post will be a good reference for you. There may be some slight difference between kilo and liberty version, but the main logic should be the same.

2015-12-22 09:39:18 -0600 answered a question Trove instance stuck at BUILD

First of all, guest_id is the instance id in Trove, not the instance id in Nova, since it is Trove taskmanager that injects it. Through trove command line "trove list", you will find that the listed instance id matches guest_id in the guest_info.conf.

Your problem may be caused by the fact that trove-guestagent cannot get guest_id, although it is there. If you check trove-guestagent.log and search guest_id in it, you may find its value as None. If so, fix the problem by adding /etc/trove/conf.d/guest_info.conf as a configuration file for running trove-guestagent. The details can be found below.

On the database guest image, edit the /etc/init/trove-guestagent.conf file as follows.

--exec /usr/bin/trove-guestagent -- --config-file=/etc/trove/conf.d/guest_info.conf --config-file=/etc/trove/trove-guestagent.conf ${DAEMON_ARGS}

Hope this is helpful.

2015-12-22 09:19:24 -0600 answered a question Unable to authentiate through keystone

I guess you missed the parameter --os-auth-url when calling cinder API. As shown in this documentation, auth_url needs to be passed along with username, password, and tenant name, when calling cinder API, which is the same for calling other APIs in OpenStack. To see how to set --os-auth-url, check its command line reference.

Hope this is helpful.

2015-12-22 09:12:15 -0600 received badge  Necromancer (source)
2015-12-22 09:03:08 -0600 answered a question Proper Documentation on Openstack Trove for Kilo

Hope this post will address your question.

2015-12-18 06:12:37 -0600 received badge  Teacher (source)
2015-12-18 06:12:37 -0600 received badge  Necromancer (source)
2015-12-12 23:34:12 -0600 received badge  Notable Question (source)
2015-11-03 01:19:23 -0600 received badge  Enthusiast
2015-11-02 22:23:35 -0600 received badge  Popular Question (source)
2015-10-27 13:16:25 -0600 answered a question Trove fail to assigned host

How did you configure network_label_regex in /etc/trove/trove.conf? By default, it is as follows.

network_label_regex = ^NETWORK_NAME$

NETWORK_NAME should be replaced by your network label. It can be found by

$ nova net-list

or

$ neutron net-list

For more information, see the Troubleshooting part at the end of http://docs.openstack.org/developer/trove/dev/manual_install.html (this website).

Hope this helps. :D

2015-10-27 13:16:24 -0600 answered a question Has Openstack removed its support for Trove in Kilo?

OpenStack still supports Trove in Kilo. I was able to install Trove in OpenStack Kilo. Please check it in my blog.

(I tried to put installation details here. But the format was kind of messy somehow. So I put it in my blog.)

2015-10-27 13:16:24 -0600 asked a question Trove instance went to ERROR because of "chmod: cannot access '/etc/guest_info': No such file or directory"

When I tried to launch a Trove database instance with the image built by DIB, the Trove instance went to ERROR, while its associated Nova instance went to ACTIVE. So I logged in that VM and found the following information in log files.

In /var/log/upstart/trove-guest.log, the error is as follows.

chmod: cannot access '/etc/guest_info': No such file or directory

I also looked at /var/log/boot.log and found the following, which really confused me. It seems that Trove Guest started successfully and then failed.

   * Starting Trove Guest^[[74G[ OK ]
    Cloud-init v. 0.7.5 running 'modules:config' at Tue, 27 Oct 2015 08:47:33 +0000. Up 151.77 seconds.
   * Starting Trove Guest^[[74G[^[[31mfail^[[39;49m]*

And on the guest VM, the Trove source code and database server package (here I used Vertica) can be found under ~/trove and /opt/vertica, respectively.

The following is some details about how OpenStack and Trove are installed, and also how Trove guest database image is built.

OpenStack environment: initially installed following OpenStack Installation Guide for Ubuntu - JUNO, and then upgraded to KILO. After upgrade, a Nova instance was launched successfully. And by checking "nova-manage --version", the output is "2015.1.1". So I made judgment that the upgrade was successful. There are the following service running on OpenStack: Keystone, Nova, Glance, Cinder, Horizon.

Trove: after upgrading OpenStack from JUNO to KILO, installed Trove, following Chapter " Add Database Service" in http://docs.openstack.org/icehouse/install-guide/install/apt/openstack-install-guide-apt-icehouse.pdf (OpenStack Installation Guide for Ubuntu - ICEHOUSE) and with updated configurations found in KILO. After installation, I executed "trove list" and got right output (a table with columns: ID, Name, Datastore, Datastore Version, Status, Flavor ID, Size). And by checking "trove-manage --version", the output is "2015.1.0". So I made the judgement that trove was installed successfully.

(I accidentally installed Trove using root role. I don't have the ability to judge whether that would have influence on the issue I encountered. Appreciate any comment on this.)

Trove guest database image creation: used DIB tool; the details can be found below.

-----Install pre-requisition:

# sudo apt-get install qemu-utils kpartx

-----Install diskimage-builder:

# sudo pip install diskimage-builder

-----Install trove-integration and tripleo-image-elements:

$ git clone http://git.openstack.org/openstack/trove-integration

$ git clone https://git.openstack.org/openstack/tripleo-image-elements

-----And then copy trove-integration/scripts/files/keys/ to ~/.ssh and change file permission. So Trove guest instance can be accessed via ssh.

-----Configure following environmental variables with local values.

export HOST_USERNAME
export HOST_SCP_USERNAME
export GUEST_USERNAME    
export NETWORK_GATEWAY   
export REDSTACK_SCRIPTS    
export PATH_TROVE    
export ESCAPED_PATH_TROVE   
export SSH_DIR   
export GUEST_LOGDIR   
export ESCAPED_GUEST_LOGDIR   
export ELEMENTS_PATH=$REDSTACK_SCRIPTS/files/elements:$PATH_TRIPLEO_ELEMENTS/elements   
export DIB_CLOUD_INIT_DATASOURCES="ConfigDrive"
export DATASTORE_PKG_LOCATION=""

-----Create the image:

$ disk-image-create -a amd64 -o ~/images/ubuntu_vertica/ubuntu_vertica -x --qemu-img-options compat=0.10 ubuntu apt-sources vm heat-cfntools cloud-init-datasources ubuntu-guest ubuntu-vertica

-----And then register that image with GLANCE and update the datastore version.

Please feel free to let me know if you need any additional information. Thank you for your time ... (more)