Sunday, 2016-08-07

*** thetrav has joined #openstack-trove00:45
thetravok, so I got a guestagent sort of up and going00:46
thetravbut the Mysql agent _get_actual_status appears to be raise NotImplementedError00:46
thetravam I supposed to implement my own guest agents?00:47
thetravoh ok00:59
thetravI'm looking at a base class00:59
thetravwhere then is the concrete?00:59
thetravmysql_common01:00
*** Administrator_ has joined #openstack-trove01:15
*** zhugaoxiao has quit IRC01:18
*** zhugaoxiao has joined #openstack-trove01:19
*** Administrator_ has quit IRC01:19
*** pmackinn has quit IRC01:25
thetravok so it seems the guest agent is looking for a status on mysql but nothing ever calls the update function01:50
thetravso my trove instance is booting up, but it's still not transitioning from the BUILD state into the next state (except ERROR when it times out)02:04
thetravis there anywhere I can read up on what is supposed to trigger these state transitions?02:04
thetravthere's definitely a nova instance, and it's booted up and has MQ connectivity02:04
*** itisha has quit IRC02:10
thetravok, maybe getting closer, I've got a feeling the trove-conductor install is busted02:23
thetravdocs indicate it's supposed to be doing some heartbeat stuff02:24
thetravits log is silent02:24
thetravdoes the initial oslo config dump, but then nothing02:25
thetravis task manager supposed to send it some message? or guests?02:25
*** imandhan has joined #openstack-trove03:06
*** imandhan has quit IRC03:11
*** zhugx has joined #openstack-trove04:58
*** pcaruana has quit IRC05:26
*** dkehn has quit IRC06:19
*** dkehn_ has quit IRC06:19
*** dkehn has joined #openstack-trove06:26
*** dkehn_ has joined #openstack-trove06:32
thetravso /etc/trove/conf.d/guest_info.conf is supposed to have guest_id in it06:40
thetravI assume that's either the VM ID or the Trove ID?06:40
thetraveither way my copy has nothing in it06:40
thetravgregragenet: in case you read logs, https://github.com/openstack/trove/blob/master/trove/taskmanager/models.py:35306:43
thetravthat is where the guest_id is passed from trove-taskmanager to the guest vm, into the guest_info.conf file which I assume the agent loads06:44
thetravhowever in my case that file is never injected into the VM06:44
thetravalso if any devs here can explain to me what is going on line 361?  Seems a little odd06:47
thetravok, so the guest_info.conf file is passed to novaclient as the "files" param, which is a list of files to overwrite on instance boot07:00
thetravso...07:00
thetravthat implies that the task manager creates a guest_info file somewhere while creating the new instance?07:00
thetravahh no07:02
thetravit's a path => content mapping07:02
thetravand I assume nova implements it with the cloud_config stuff07:03
thetravwhich is probably blown away by my custom cloud config stuff07:03
thetravhmm07:03
*** pcaruana has joined #openstack-trove07:20
thetravok. no, not cloud config08:03
thetravpersonality list08:03
thetravnot working08:03
thetravbeing passed to nova but not applied on the instance08:04
amriththetrav, yt?08:08
amrithyou should see the change that gregragenet proposed in https://review.openstack.org/#/c/351958/, it is likely the simplest explanation of the problem you are having.08:13
thetravta08:17
thetravok, so it looks to me like config_drive is just another option for getting guest_id in there08:20
thetravI'm all up for using it if it works08:20
thetravhowever it's a little odd that the personality list doesn't work08:20
thetravok, so config-drive gets /etc/trove/conf.d loaded08:29
thetraverm08:29
thetravinjected08:29
thetravnot loaded08:29
thetravwhich is the problem08:29
thetravdo I need to edit /etc/init/trove-guestagent.conf ? or is there some sort of dynamic loading supposed to be going on08:29
*** khushbu has joined #openstack-trove08:34
amrithwhat is /etc/init/trove-guestagent.conf?08:35
amrithI don't know of /etc/init/08:35
thetravservice08:36
amrithsorry, what?08:36
thetravubuntu packaging08:36
thetravit's the upstart script08:36
amrithyou don't have to update it as best as I know of.08:36
amrithas far as I know, ubuntu or not, you should get a directory /etc/trove/conf.d08:36
amrithwith two files in it08:36
amriththose are the two files that get injected08:37
thetravyep, that has happened08:37
amrithand you should launch your guest agent not with the files option but the dirs option08:37
thetravdirs option?08:37
amrithtrove-guestagent --config-dir=/etc/trove/conf.d08:38
amrithrather than trove-guestagent --config-file=/etc/trove/conf.d/guest_info.conf08:38
amrithrather than trove-guestagent --config-file=/etc/trove/conf.d/guest_info08:38
thetravok08:38
thetravI'll give that a shot08:38
amrithand to your earlier question, if the guest knows to connect to rabbit, it will have a message waiting for it.08:38
amrithand it'll process it and do it's thing08:39
thetravok so taskmanager / conductor send an initial message to the mq08:39
thetravright so maybe config-dir works, however it's missing details like, where to put the logs08:39
amriththat should be in the conf file that was sent over08:40
amriththe task manager sends a message to the guestagent08:40
thetravnot according to the openstack docs08:40
thetravhttp://docs.openstack.org/mitaka/install-guide-ubuntu/trove-install.html08:41
amrithok08:41
thetravI'll add it though08:41
amrithwell, I'm going based on this: https://www.amazon.com/OpenStack-Trove-Amrith-Kumar/dp/148421222308:41
thetravthanks08:42
amrithwhat does http://docs.openstack.org/mitaka/install-guide-ubuntu/trove-install.html not say?08:42
amriththat the task manager sends a message to the guest?08:42
thetravthe docs have a very limited set of details to put in trove-guestagent.conf08:43
amriththe log dir and stuff should be setup in the controller based file, /etc/trove/trove-guestagent.conf08:44
thetravin fact08:44
thetravby default08:44
thetravthat file does not exist08:44
amrithspeak with the canonical packagers about that ... here's what I put in mine08:44
thetrav...08:45
amrithhttps://gist.github.com/amrith/dd918bb1e72c261a2ab5d1d41fb40c3a08:45
thetravthere's a lack of documentation is my point08:45
thetravit's not great to have an open source project relying on a paid book to be deployed08:46
thetravthanks for the link and the help though08:46
amrithI'm not relying on a paid book; I just wrote it.08:46
thetravI really appreciate it08:46
thetravyou're the author?08:46
thetravoh yeah08:46
amrithI don't think it tells you how to configure these files either08:47
amrithwhat it does tell you is that the task manager sends a message to the guestagent08:47
amrithwhich you seemed to say was not the case.08:47
amrithanyway, enter a bug about the specific things that aren't clear on the documentation in http://docs.openstack.org/mitaka/install-guide-ubuntu/trove-install.html08:47
amriththere's a little bug icon at the bottom right and we'll update the document08:48
amrithbut as developers, we are too close to the project to know what an end user finds to be missing08:48
amrithand we need the help and the input.08:48
amrithand that comes in the form of either bugs, or even better, fixes.08:48
amrithand in your case, the bug is that the settings in /etc/trove/trove-guestagent.conf aren't sufficiently clear08:49
amrithand not knowing what the canonical packaging looks like, I have no way of knowing.08:49
amrithwhat I do know is that in the source tree, there is a file that is 166 lines long, with sample configurations for trove-guestagent08:50
thetravwhat is control_exchange?08:50
amrithtrove/etc/trove/trove-guestagent.conf.sample08:50
thetravalso is the nova_proxy stuff used?08:50
thetravand the trove_auth_url08:52
amrithin which section of the config file is that; i suspect it is an oslo/rabbit thng08:52
thetravI thought the guest-agent only spoke to mq?08:52
thetravhttps://gist.github.com/amrith/dd918bb1e72c261a2ab5d1d41fb40c3a08:52
thetravDEFAULT08:52
amrithcontrol_exchange is used to initialize rpc08:53
amrithshould check if it is still required08:53
amrithmay be obsolete08:53
amrithno, still required08:53
amrithused by oslo.messaging08:53
thetravok08:54
thetravso the trove_auth_url and nova_proxy stuff?08:54
thetravthe main reason I ask is because I don't have those guests with access to the managment net08:54
thetravthey can't hit trove auth url08:54
amrithsorry, what?08:55
amrithyour guest can't hit what network?08:55
thetravtrove guest instances cannot hit any of the APIs08:55
thetravthey can only access the mq08:55
amriththis will be a problem08:55
amriththe guest does in fact need to hit some API end points08:55
thetravbummer08:55
amrithsuch as when it wants to take a backup08:55
amrithand so on08:55
thetravand it needs admin access for these functions?08:57
amrith1s08:59
amrithi need to clean up that config file08:59
amrithand make it more generally meaningful09:01
amrithnot unless you are using single_tenant_remote configurations09:02
thetravI don't know what that means09:02
amrithsorry, got distracted09:26
amriththat's a specific kind of configuration09:26
amrithand I doubt that you are using it09:26
*** khushbu has quit IRC09:46
*** khushbu_ has joined #openstack-trove09:49
*** khushbu_ has quit IRC10:03
*** khushbu__ has joined #openstack-trove10:04
amriththetrav, where are you located (timezone)10:17
*** khushbu__ has quit IRC10:36
*** thetrav has quit IRC10:50
*** 6A4ABHQ1G has joined #openstack-trove11:35
*** 6A4ABHQ1G has quit IRC12:10
*** imandhan has joined #openstack-trove12:19
*** imandhan has quit IRC12:35
*** zhugaoxiao has quit IRC12:37
*** zhugaoxiao has joined #openstack-trove12:38
*** imandhan has joined #openstack-trove12:47
*** imandhan has quit IRC12:52
*** khushbu_ has joined #openstack-trove12:58
*** khushbu_ has quit IRC13:15
*** itisha has joined #openstack-trove13:32
*** imandhan has joined #openstack-trove14:08
*** imandhan has quit IRC14:10
*** zhugx has quit IRC14:34
*** imandhan has joined #openstack-trove15:03
*** imandhan has quit IRC15:06
*** zhugaoxiao has quit IRC15:21
*** zhugaoxiao has joined #openstack-trove15:22
*** imandhan has joined #openstack-trove15:31
*** imandhan has quit IRC16:38
*** imandhan has joined #openstack-trove17:25
*** arist has quit IRC17:47
openstackgerritShaik Apsar proposed openstack/trove: Fix for 'Client' object has no attribute 'tenants'  https://review.openstack.org/34002217:48
*** arist has joined #openstack-trove17:48
*** itlinux has joined #openstack-trove18:01
*** itlinux has quit IRC18:02
*** imandhan has quit IRC18:47
*** fifieldt has quit IRC19:07
*** fifieldt has joined #openstack-trove19:18
*** itlinux has joined #openstack-trove19:34
*** itlinux has quit IRC19:59
*** fifieldt has quit IRC20:25
*** thetrav has joined #openstack-trove20:27
thetravamrith Melbourne Australia AEST (GMT+10)20:27
amriththetrav, thanks. have been trying to catch you for some days now20:29
amrithand wasn't quite sure what time zone you were in20:29
amrithand by the time I woke up you were gone!20:29
thetravI see20:29
thetravwhat time zone are you?20:29
amrithgood to connect today, andhopefully get your issue(s) resolved. UTC-4 now (Boston)20:29
thetravI have 6 month old twins, so my hours are pretty irregular lately20:30
amrithcongratulations!20:30
thetravthanks20:30
thetravalthough for the moment my reward is a head full of snot and a house full of screams :P20:30
thetravcute little munchkins though20:31
amrithso let me look over the scrollback; did we get your system up and running this morning?20:31
thetravno I've only just started looking at it20:31
amrith:)20:31
thetravI'm going to re-create my guest image with something that uses that config-dirs20:31
thetravfor some reason the service was not working, but when I ran the command manually it picked up the message and started doing stuff20:31
amrithok20:31
thetravit had already timed out on task maanger though20:31
amrithdoes your image attempt to install software on first boot?20:32
amriththat takes time sometimes20:32
amrithand causes the timeout20:32
amrithin practice you have to align the timeout to the time it takes for your guest to process that prepare message successfully20:32
amrithi.e. get to the point where it receives the message and then process it.20:32
amrithwhich requires an installed and functioning database.20:32
amritha lot of things have to happen for that20:32
amrithget the db stopped20:33
amrithmount the cinder volume20:33
amrithmigrate the empty db20:33
amrithrelaunch the db20:33
amrithget it to 'online'20:33
amrithreply on the conductor channel20:33
amrithand have the TM process the reply20:33
amrithall within whatever your timeout happens to be20:33
thetravso I've created a snapshot with both trove-guestagent and mysql pre-installed20:34
thetravthat's my guest image20:34
amrithhmm20:34
amrithso firstboot is out20:35
thetravnow do I want to have --config-file as well as --config-dirs ?20:35
amrithok20:35
amrithno, just config-dirs20:35
thetravok20:35
thetravand it's plural right?20:35
amrith  --config-dir DIR      Path to a config directory to pull *.conf files from.20:35
amrith                        This file set is sorted, so as to provide a20:35
amrith                        predictable parse order if individual options are20:35
amrith                        over-ridden. The set is parsed after the file(s)20:35
amrith                        specified via previous --config-file, arguments hence20:35
amrith                        over-ridden options in the directory take precedence.20:35
amrithfrom: trove-guestagent --help20:35
*** fifieldt has joined #openstack-trove20:35
thetravoh, so that could be ok then?20:36
thetravlike, I can set some defaults in /etc/trove/trove.conf and overwrite them with injected values?20:36
thetravI'll go with just config-dir through20:36
amrithyes, that is absolutely the idea. except that you set them in /etc/trove/trove-guestagent.conf20:37
amrithlet me find you a link, one second20:37
amrithhttps://github.com/openstack/trove/blob/master/trove/taskmanager/models.py#L358-L36120:38
amrithhttps://github.com/openstack/trove/blob/master/trove/common/cfg.py#L356-L35920:38
thetravweird log file20:42
thetrav^@^@^@^@^ repeated20:42
amrith?20:42
amrithmaybe you have formatting characters in the log file20:42
thetravlooking at trove-guestagent.log on the guest I just started20:42
*** vipuls has quit IRC20:42
amrithto colorify it20:42
amrithwhat's in your '/etc/trove/trove-guestagent.conf' on the controller?20:43
thetravhttp://pastebin.com/q9x1nF3520:44
*** vipuls has joined #openstack-trove20:44
amriththat's odd20:45
amrithyou shouldn't see weird things like that then :)20:45
thetravalso: http://pastebin.com/4wC2FnH220:45
amriththat looks right20:46
thetravahh20:47
thetravso it's run as the trove user20:47
thetravthe files are owned by root20:48
thetravand have what... 660 permissions?20:48
thetrav+rw user and group20:48
thetravnothing for other20:48
thetravthen: oslo_config.cfg.ConfigFileParseError: Failed to parse /etc/trove/conf.d/trove-guestagent.conf: at /etc/trove/conf.d/trove-guestagent.conf:2, Section must be started before assignment: None20:50
thetravso I guess it needs a [Default] block20:50
amrith[DEFAULT]20:50
amrithtake a look at the sample20:50
thetravright, caps20:50
amrithlet me find you a link20:50
thetravyeah, I remember the sample20:50
amrithhttps://github.com/openstack/trove/blob/master/etc/trove/trove-guestagent.conf.sample20:51
thetravta20:51
thetravok, so the permissions thing is a pain20:54
amriththe default elements perform the installation and stuff with that in mind20:54
thetravubuntu's packaging of trove-guestagent runs as an upstart service as the trove user20:54
amrithok20:54
thetravfor the config files to be root read only is problematic20:55
thetravadditionally I think python was trying to open the files with rw?20:55
thetravunless I fat fingered the permissions20:55
amrithi think oslo.config does try to read the files rw20:56
thetravseems like an odd choice20:57
thetravmaybe that's a default that can be changed?20:57
amrithhaven't seen that before, let me look20:58
amrithcan't see one21:04
thetravok, sort of progress, churning through various permissions errors in setting up a guest image21:15
thetravWOO!21:20
thetravACTIVE!21:20
thetravno idea if it actually works... but that's the first I've seen conductor logging so it feels like a major step21:20
thetravaright, this seems to work to some degree21:27
thetravnow to automate and document21:27
thetravthanks for all your help amrith21:27
thetravI sent a bug report to the openstack docs21:28
thetravI might also do a bit of a write up on how to create a trove guest-image for people who don't know trove21:28
amrithwhy not just update the one in the repo already?21:29
amriththere is a write-up and greg just added some useful stuff that he found today21:29
amrithsee his change https://review.openstack.org/#/c/351958/21:30
amrithone of the things it does is updates the doc21:30
amrithwhich you probably read as well21:30
amrithif you could add your findings to that, it would help the next person who comes along.21:30
thetravthe docs seem heavily focussed on devstack21:39
thetravI could write a completely new guide in there if you like21:40
thetravhowever it'd be "how to build a mysql guest image using the default ubuntu cloudimage"21:41
*** gouthamr has joined #openstack-trove21:42
thetravdo you think it'd be valuable to have a "walkthrough for openstack noobs" style process?21:42
amrithabsolutely21:44
amrithgo for it21:45
amrithand please do contribute a change set for it21:45
amrithwould be much appreciated21:45
amrithI've got to run now, will be back in a couple of hours21:45
*** chlong has joined #openstack-trove23:49

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!