[01:44] <axisys> is there a way to test install/upgrade a pkg in a way to revert should there an issue? I guess installing in a VM would work somewhat.. but would not be exact work load as production system... I guess ubuntu snappy or solaris 11 bootadm offer complere OS snapshot.. but is there something like that for ubuntu server people do?
[01:49] <rbasak> axisys: a fundamental issue with that is that an upgrade might change stored state (eg. a database) in a way that a downgrade wouldn't take it exactly back.
[01:50] <rbasak> Since you're generally expected to handle your own persistent state, it's not really possible for package management to make it work automatically. Not even Snappy, since your stored state would not roll back.
[01:50] <rbasak> So disk or btrfs snapshots are really the only way to do it. A VM can help with that but isn't necessary (eg. LVM).
[01:51] <rbasak> But I don't think anyone really does that for testing. Instead relying on backups.
[01:51] <rbasak> Or reverting manually.
[01:51] <rbasak> Or testing a parallel system with a duplicate dataset or something.
[01:57] <axisys> rbasak: wonder what PCI team expecting from us
[01:57] <rbasak> No idea.
[01:57] <axisys> rbasak: asking how you make sure to revert if application breaks something.. do we have a test environment.. no likey pci
[01:58] <rbasak> Presumably you want a rollback plan anyway, PCI or not.
[01:58] <axisys> well, what would be a rollback plan, besides fixing it.. we have multiple systems.. so usually dont care much..
[01:58] <rbasak> Database backup + transaction log?
[01:59] <axisys> so we usually apply upgrade on few and then apply to rest
[01:59] <rbasak> Separate database from everything else so you can roll one back without messing with the other.
[01:59] <rbasak> Automated tests on dedicated test system.
[01:59] <rbasak> (running from a DB clone)
[02:00] <rbasak> For the database, transaction logs so you can replay
[02:00] <axisys> rbasak: yes, database being backed up
[02:01] <axisys> and have replication setup too
[02:01] <axisys> but most of our systems (ubuntu) do not have any database presence
[02:02] <axisys> present*
[02:02] <rbasak> Then make their deployments scripted.
[02:02] <rbasak> Easy to roll back then. Do it at entire machine level.
[03:06] <axisys> rbasak: we use puppet, but doing it with puppet will be lot of work
[03:06] <axisys> rbasak: we do build VMs with foreman/puppet.. but these physical boxes are not built that way
[03:07] <axisys> rbasak: so build a deployment script from scratch would be fun, unless there is tool that can do that
[07:25] <elmargol> Hi is there a decent webinterface to manage kvm on ubuntu? Something similar to http://virt-manager.org/
[07:28] <henkjan> elmargol: https://www.webvirtmgr.net/ ?
[07:29] <elmargol> henkjan, are you using this?
[07:32] <henkjan> elmargol: no, just did the googling bit for you :)
[07:33] <elmargol> well it looks fishy
[09:13] <lordievader> Good morning.
[14:08] <jamespage> zul, coreycb: compute needs a blkid filter ...
[14:08] <jamespage> can't boot no instances....
[14:08]  * jamespage sighs
[14:09] <zul> jamespage:  we should go through all of them to make sure they are kosher
[14:09] <jamespage> zul, its in the baremetal filters
[14:09] <jamespage> but not compute
[14:09] <zul> jamespage:  lovely...ill propose something
[14:09] <jamespage> to late - https://bugs.launchpad.net/nova/+bug/1424054
[14:10] <jamespage> arges is already on it
[14:11] <zul> doh
[14:11] <coreycb> thanks arges
[14:13] <jamespage> coreycb, zul: picked and uploaded to vivid
[14:14] <jamespage> blocking my zeromq testing - hrump
[14:14] <coreycb> ok thanks jamespage
[14:14] <zul> jamespage:  coolio
[14:50] <ppetraki> strikov, sup
[16:10] <YamakasY> hi guys! I have a startstop script which calls another bash script. The issue is that the called bash is running on a different PID as there is written by my startstop script... how can I match them ?
[16:10] <bekks> YamakasY: You cannot have two processes with the same PID.
[16:11] <YamakasY> bekks: not the same PID, I need to update my created one by my start-stop with the running one
[16:11] <YamakasY> so my pidfile differs from the running one
[16:12] <YamakasY> the running proces is 2 higher
[16:12] <lordievader> YamakasY: Embed your script in the upstart script?
[16:13] <YamakasY> lordievader: so place my second .sh in my start-stop ?
[16:16] <lordievader> YamakasY: The code, yes.
[16:16] <YamakasY> lordievader: okay, I thought it was dirty again :D
[16:16] <lordievader> YamakasY: Trying to get the same PID is even more strange, let alone impossible.
[16:17] <YamakasY> lordievader: yes I thought so
[16:17] <YamakasY> lordievader: but where can I do a en export for JVM in my start-stop ?
[16:17] <lordievader> What do you mean?
[16:17] <lordievader> Why do you need them to have the same PID anyways?
[16:17] <YamakasY> I need to run some export JVM_OPTS="..."
[16:18] <YamakasY> no not the same pid, just one
[16:19] <lordievader> Two processes with one pid == same pid...
[16:19] <rberg_> cant you do a "echo $$" to print the pid of the script?
[16:19] <lordievader> JVM sounds like Java, I don't know Java.
[16:20] <YamakasY> rberg_: how do you mean ?
[16:20] <YamakasY> rberg_: and place it inthe pid file ?
[16:21] <YamakasY> or start the process with that pid?
[16:21] <YamakasY> I have only one pid but the running process has 2 digits higher than in my pidfile
[16:21] <rberg_> yeah maybe you can write the second scripts pid to a pidfile
[16:21] <lordievader> I have no idea what you are trying to achieve, but it sounds very nasty.
[16:22] <rberg_> but it sounds like you should convert the script into a upstart job
[16:22] <rberg_> and not do a fork and exit type thing
[16:22] <lordievader> That would be better, indeed.
[16:23] <YamakasY> no, I call from my upstart script an shell script that first exports my Java opts and than runs my default sh script.
[16:23] <YamakasY> so the upstart p ID is lower than the running proces
[16:23] <YamakasY> so I cannot kill it
[16:24] <rberg_> so you need the 'stop' command to work?
[16:24] <YamakasY> yes
[16:25] <YamakasY> but I actually would like to have the pid ID in my pid file matched to the running process
[16:25] <YamakasY> that would be nicer
[16:25] <rberg_> since you cant change the PID of a process you will need to overwrite the pid file I would think
[16:26] <YamakasY> rberg_: yap
[16:26] <rberg_> do you know where the pid file is?
[16:26] <YamakasY> but can I ?
[16:26] <YamakasY> yes
[16:26] <rberg_> yes
[16:26] <YamakasY>  /var/run
[16:26] <lordievader> Doesn't make it nicer.
[16:27] <rberg_> in the second script try adding "echo ?? >/var/run/pidfile"
[16:27] <rberg_> replace pidfile with the real name of the file
[16:27] <YamakasY> in my second bash I actually do a exec....
[16:27] <YamakasY> ok
[16:27] <YamakasY> and ?? would be the pid ID ?
[16:27] <rberg_> yes
[16:27] <YamakasY> but the bash will handle that ?
[16:27] <rberg_> yes
[16:27] <YamakasY> ok
[16:27] <YamakasY> testing
[16:28] <YamakasY> in front of after my exec ?
[16:28] <rberg_> wait are you trying to get the pid of the second shell script of the java it calls at the end?
[16:28] <rberg_> sorry .. or the java process
[16:30] <rberg_> if you need the pid of the java process it might be as easy as "pidof java >/var/run/pidfile" after the exec
[16:31] <YamakasY> ok
[16:31] <YamakasY> the reason why is because I need to set options otherwise in my start/stop script... I don't like that
[16:32] <rberg_> the usual Debian/Ubuntu way is to source a /etc/defaults/ file
[16:34] <YamakasY> rberg_: mhh nope, pid doesn't get updated
[16:35] <YamakasY> mhh always 2 higher
[16:38] <YamakasY> rberg_: kinda odd :S
[16:44] <YamakasY> I see, it happens because of the second sh
[16:49] <RoyK> rberg_: $! is the pid of last process
[16:52] <rberg_> yeah I didnt think we wanted the pid of the last process I though we wanted the pid of the script called by the init script.
[16:59] <RoyK> rberg_: yes, that's the same thing. inside the init script, check $!, something like echo $! > /var/run/mypidfile
[21:23] <masarsakr> Hi Charmers, I have a subordinate charm that connects to a principal charm (and ofcourse its master). I was wondering if there is any way to make it so that when the subordinate charm baeaks the regular relation, it can then call the broken hook of the master charm. I tried using hooks.execute(<relationbrokenname>) to no avail
[21:23] <masarsakr> Any help would be appreciated thanks
[21:33] <jamespage> smb, another one for you - this time with 3.16 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1425288