/srv/irclogs.ubuntu.com/2017/09/08/#juju.txt

xarsesso the remaining issue, is that I don't understand how to determine if the charm knew better than to bounce both nodes at the same time or not00:33
xarsesso the remaining issue, is that I don't understand how to determine if the charm knew better than to bounce both nodes at the same time or not00:51
=== disposable3 is now known as disposable2
magicaltroutafternoon15:02
magicaltroutcan someone explain the k8s loadbalancer to me? :)15:02
magicaltroutcause i look at the microbots example and that uses the xip.io dns service but doesn't seem to use the loadbalancer, but I'm failing to see how services are routed through it15:03
magicaltroutwhen i say "explain" i just mean point me to some docs that reflect what is implemented here :)15:04
magicaltroutoooh thats only apiserver distribution on ingress15:12
magicaltrouti should read better15:12
tvansteenburghmagicaltrout: i'm listening but i'm not sure what you're asking :P15:14
magicaltrouthahah15:14
magicaltrouti'm trying to rather badly it seems, figure out external routing for k8s services :)15:14
magicaltrouti thought the load balancer provided it but that seems to be api call balancing15:15
tvansteenburghmagicaltrout: have you read https://kubernetes.io/docs/concepts/services-networking/service/15:15
DwellrI'm using iptables to forward traffic to a worker node ip (because my worker nodes are on an ip range that conjure-up selected, that isn't routable in my network)15:15
tvansteenburghmagicaltrout: the LoadBalancer can do it if your cloud supports it15:16
magicaltroutinteresting15:16
stokachuDwellr: juju config flannel and set the cidr15:16
stokachuDwellr: we're adding support to conjure-up to allow you to configure subordinate charms15:16
Dwellrstokachu: I don't really have a cidr..15:17
magicaltroutmy confusion lies for example, with the microbots setup, you get a dns endpoint that points to the ip of a worker15:17
stokachuDwellr: maybe Cynerva has some additional best practices around that15:17
Dwellrstokachu: Im running conjure up inside virtualbox, the virtualbox vm has a bridged adapter onto my house lan, and I'm using iptables to forward from the bridged adapter to the worker node..15:17
tvansteenburghstokachu: that's really only relevant to the cluster network15:18
Dwellrstokachu: that lets me hit say, microbot, from other pcs on my house lan (provided I pass the fake host header so ingress routes the request etc) .. but I'm very much still learning =) if there's a better/cleaner way.. I'm all ears15:18
stokachuah ok15:18
tvansteenburghmagicaltrout: right, so you it only works if you can route to the node ip15:18
stokachuDwellr: i think iptables is the way to go15:19
magicaltroutyeah tvansteenburgh but also, if you stuck a real DNS entry against the node ip, if you tore it down and the service ended up on a different worker15:19
magicaltroutyou'd have a stale DNS entry for your users, right?15:20
tvansteenburghthat's why you don't want to point dns directly at a node ip15:20
tvansteenburghyou point at a Service ip15:20
tvansteenburghwhich *can* be provided by a LoadBalancer, but it can also be configured manually15:20
magicaltrouthaha, minds melting, i've lived in mesos land for too long15:21
tvansteenburghService type can take an externalIP15:21
tvansteenburghmagicaltrout: read that doc page from beginning to end - i bet you'll understand fine after that15:21
magicaltrouthehe yeah i'm running through it thanks tvansteenburgh15:21
Dwellris there anyway for me to see what juju run-action kubernetes-worker/0 microbot replicas=x does? It's great that it's automated etc, but I want to peek at what it did =)15:29
magicaltrouthttps://github.com/kubernetes/kubernetes/blob/master/cluster/juju/layers/kubernetes-worker/templates/microbot-example.yaml15:30
Dwellrthanks =) more than handy =)15:34
Dwellrand.. what's the simplest way to get my worker nodes to pull from a custom docker repo? I figure I can run docker back on my vm host, and have the workers pull from that repo, (and mebbe enable docker tls so then I can push to the vm from outside too)15:37
* Dwellr trying to get toward 'kube in a box' ;p where I can spin up the vm, and develop and deploy apps to it from outside the vm15:38
skaywhy is the charm snap throwing this exception about one of my local python packages https://paste.ubuntu.com/25486709/15:56
tvansteenburghDwellr: there's a registry action on the worker nodes16:22
Dwellrwhats a registry action, and how does that relate to my current understanding of a docker repository that I push my images to ?16:23
tvansteenburghDwellr: an action is a Juju thing - think of it as a script that you can run on a unit16:25
tvansteenburghlike, microbot is an action16:26
Dwellrokie, so what does a registry action do ?16:26
tvansteenburghDwellr: https://jujucharms.com/u/containers/kubernetes-worker/5216:27
tvansteenburghsearch page for registry16:27
magicaltroutthanks tvansteenburgh that page was indeed very useful ;)16:29
Dwellroooh.. thanks =)16:29
cory_fuskay: That is an issue with the classic snap and the reason we worked on moving to strictly confining the snap.  In fact, we *just* released the strictly confined snap a little while ago, so if you `snap refresh charm` and try again, it should be fixed16:30
tvansteenburghDwellr: if you'd rather use Helm, there's a chart for a private registry here: https://github.com/madeden/charts/tree/master/docker-registry16:30
DwellrI'm still learning.. using conjure up as a way to spin up a slightly more complex kube deployment than minikube will, so I can play with what it means to deploy and run apps on kube etc16:31
tvansteenburghDwellr: cool, no prob :)16:31
Dwellrso I think the juju action for the registry will work16:32
DwellrI'm slowly building up a vagrantfile that builds my kube in a box =)16:32
skaycory_fu: sweet! worked16:32
skaycory_fu: (actually, I unstalled it and installed it from scratch. at first it didn't find any update)16:33
Dwellrso far it installs conjure-up, uses it to install kube to localhost (interestingly using 'conjure-up kubernetes-core localhost' produces no output in vagrant until the command completes, which takes like 10mins or so)..16:33
stokachuDwellr: is this from vagrant ssh into the machine and running conjure-up?16:34
Dwellrand then it copies the kube config, rewrites it to update the server address to the external bridged ip for the vbox vm, adds insecure-skip-tls-verify, and copies the config to the vagrant shared dir.16:34
cory_fuskay: Odd about the refresh.  Maybe it auto-refreshed before you tried it.  Either way, glad it's working!16:34
stokachuDwellr: you may be able to get around the no output from conjure-up using `ssh -t` option16:35
Dwellrstokachu: I mean when I have config.vm.provision : shell, privileged: false, :inline => <<-EOT16:35
Dwellrconjure-up kubernetes-core localhost16:35
DwellrEOT16:35
tvansteenburghDwellr: that sounds like a neat setup - you should write a blog post about it16:36
stokachuDwellr: stil could be ssh option16:36
Dwellrthat, when I run `vagrant up` and it runs the provisioning steps.. there's no output from the command until it completes16:36
stokachuDwellr: it's inline but i think vagrant has to ssh first16:36
DwellrHmm.. wonder if passing -t is possible in the provision flags16:36
stokachuDwellr: try config.ssh.pty= true16:37
stokachuin config.vm.provider16:37
stokachuhttp://blog.medyagh.com/2014/07/fix-vagrant-error-sudo-sorry-you-must.html16:37
Dwellrthe vagrant file then goes on to setup ip forwarding for all nodeports (and 80 & 443) to the first worker ip, and 6443 to the master node ip from the bridged interface16:37
Dwellrstokachu: I'll try that in a mo =)16:37
stokachucool16:38
tvansteenburghplease publish this awesomesauce16:39
tvansteenburghDwellr ^16:39
Dwellrhmm the docs for config.ssh.pty say that "When pty is enabled, it is important to note that command output will not be streamed to the UI. Instead, the output will be delievered in full to the UI once the command has completed."16:39
stokachuDwellr: ah that's opposite what i was going for16:39
Dwellrand thats kinda what I'm already seeing with the conjure-up command ;p16:39
stokachuyea hmm16:39
Dwellrtvansteenburgh: it will be published =) .. I'm doing this as a side project to create a dev env in a box for gameontext.org16:40
stokachuDwellr: though it's odd b/c ive used this option in jenkins ci runs16:40
stokachuto see the output as it happens16:40
stokachui ran into the same issue until adding that16:40
DwellrI can always try =)16:41
stokachusure :)16:41
Dwellrwas also figuring I could pipe it thru tee or sommat16:43
stokachuah yea that may be another way16:44
xarses_Is this right? The only way to export a model to import as a bundle is via the gui? https://jujucharms.com/docs/2.2/charms-bundles16:50
tvansteenburghxarses_: i think that's right yeah16:51
xarses_=(16:51
xarses_I don't have gui's attached to most of my controllers16:51
tvansteenburghxarses_: just run `juju gui` and you'll have one :)16:51
tvansteenburghyou can do that to get the initial bundle and then just edit by hand from there16:52
tvansteenburghi think that's what most ppl do16:52
xarses_ya, we don't use the gui around here16:52
tvansteenburghneither do i16:52
xarses_wow, all the icons are missing16:55
tvansteenburghfrom the gui?16:55
xarses_ya, it's showing the missing image icon16:55
tvansteenburghi blame hurricane Irma16:56
tvansteenburghxarses_: which charms?16:57
xarses_openstack*, percona, ceph, nagios16:57
tvansteenburghxarses_: can you see this https://api.jujucharms.com/charmstore/v5/ceph/icon.svg16:59
xarses_yes, but shouldn't it download these things and keep them with the charm?17:00
xarses_also, we don't use charms directly from the store17:01
* tvansteenburgh looks around for a gui dev17:01
xarses_uh, export button doesn't work17:01
* hatch waves to tvansteenburgh 17:03
tvansteenburghhatch: xarses_ is having some trouble with his gui17:04
tvansteenburghmissing icons, export button not working17:04
tvansteenburghrotfl17:04
tvansteenburghnice one hatch17:04
hatchlol17:04
hatchsorry wrong key17:04
tvansteenburghhatch: xarses_ is having some trouble with his gui17:04
hatchgot that17:04
hatchexport17:04
hatchand icons17:04
tvansteenburghyep17:04
hatchok xarses can you click the ? in the top right and head for the keyboard shortcuts to find out what version of the GUI you're using17:05
hatchalso, browser, and version of Juju17:05
hatchoops xarses_ ^17:07
cory_fubdx: What do you think of the soft-launched layer-index repo vs the old micro-site?17:14
bdxcory_fu: I've been waiting on this for a while now .... super excited17:15
bdxcory_fu: it will make it easier for me to run a private registry for use in my charm ci/cd17:15
cory_fubdx: Excellent.  I know the PR workflow adds a slight barrier to entry to getting new layers registered, but I think it's still reasonable.17:17
bdxtotally, reasonable for sure. It also gives a central place users can subscribe to and more easily track the addition of new layers17:19
bdxlike, I want to know when new interfaces/layers are added to the registry17:19
bdxthis make it easy, you just follow the repo17:19
magicaltroutjust like to say17:33
magicaltroutthe new status button in juju gui17:33
magicaltroutis epic17:33
xarses_hatch how does the keyboard shortcuts page show version?17:38
xarses_juju version is 2.2.2, browser is chrome 60.0.317:39
xarses_cli from `juju gui` implies its 2.4.217:42
xarses_> GUI 2.4.2 for model17:42
rick_hxarses_: can you run juju upgrade-gui ? That's quite old.18:07
rick_hxarses_: it should be 2.9.218:07
rick_hhmm, 2.4.2 is Feb release18:08
xarses_ya, thats about when the controller was originally deployed18:15
xarses_does it not upgrade with the controller?18:15
xarses_well, export works now18:16
xarses_icons are still broken18:16
Dwellrhmm.. tried doing   conjure-up kubernetes-core localhost > mylogfile.txt   and the log file stays at 0 bytes until conjure up is done too18:27
xarses_I'm guessing because they are all local charms18:29
rick_hxarses_: k, icons are pulled based on the charm urls so they might get blocked.18:29
rick_hxarses_: ok, if they're all local charms they're supposed to be pulled from the controller itself.18:29
rick_hxarses_: can you open the browser debug tool and see if you can get an error for the icon urls? I imagine they're getting a 404 or something18:29
rick_hxarses_: and file a bug on github.com/juju/juju-gui with the details ?18:29
rick_hxarses_: and no, the gui is out of sync with juju itself. There's usually a release every month or so. Since it's not effecting the actual workings of Juju but UX fixes/etc it's on the side.18:30
xarses_ahh, here is the bug, its trying to resolve the admin user and my model name for icons on api,jujucharms.com/charmstore/...18:32
rick_hxarses_: :(18:33
xarses_lemme sanitize18:33
xarses_yep, raises a similar 404 message18:34
xarses_https://api.jujucharms.com/charmstore/v5/~my-local-admin-user/my-local-model-name/meta/any?include=bundle-metadata&include=bundle-machine-count&include=charm-config&include=charm-metadata&include=charm-metrics&include=common-info&include=extra-info&include=id-revision&include=manifest&include=owner&include=published&include=resources&include=revision-info&include=stats&include=supported-series&include=tags18:34
rick_hxarses_: yea, that's a bug-a-boo to fix. Apologies on that.18:36
xarses_https://gist.github.com/xarses/4b1bea1bcdf8012737dee5f4f57ee7f3 the charms in the model for reference18:38
stokachuDwellr: boo :(18:58
xarses_Dwellr: I found that I had to capture stderr in my pipe to catch most of the information during bootstrap, pass --debug flags and pipe to tee to get a useful looking log (mind you this was just with juju bootstrap)19:09
xarses_rick_h: file a bug on LP?19:12
DwellrI'm having partial success doing    conjure-up &  then tail -f --pid=$! ¬19:13
DwellrI'm having partial success doing    conjure-up &  then tail -f --pid=$! ~/.cache/conjure-up/conjure-up.log19:14
stokachuDwellr: nice19:14
stokachuOh I wonder19:14
Dwellrgets me a log that updates as far as 'Executing script ... steps/00_deploy-done'19:14
Dwellrbut then it stops while juju status is showing the master/worker etc are still init'ing19:14
stokachuYea those logs are in the spell steps dir19:15
stokachuLike 00-deploy_done.err19:15
stokachucory_fu: any idea why the output from headless install only prints out when it's completed?19:16
stokachuThis is from running it via vagrant up and even in our Jenkins runs it would do that19:17
stokachuDwellr: did you try that try setting yet?19:17
stokachuTTY19:17
Dwellrnot yet.. apparently it's pretty strongly recommended against.. so leaving that as last resort19:17
stokachuIk19:17
stokachuOk19:17
cory_fustokachu: No idea.  I don't use vagrant often.19:18
stokachuDwellr: the only other thing I can think of is that we use terminal colors for the output19:18
Dwellrso does apt-get update/install and that outputs ok during vagrant19:19
stokachuAh ok19:19
xarses_rick_h: https://bugs.launchpad.net/juju-gui/+bug/171603719:21
mupBug #1716037: gui fails to render local:charm icons  <juju-gui:New> <https://launchpad.net/bugs/1716037>19:21
stokachuDwellr: could vagrant only be printing a certain fd?19:22
Dwellrwell.. it wouldn't explain why conjure-up kubernetes-core localhost > mylog.log doesn't write anything into mylog.log until the process finishes..19:26
Dwellrthat's nothing to do with vagrant19:26
xarses_Dwellr: does `2>&1` help ?19:30
cory_fustokachu: Maybe we could try adding flush=True to print() and cprint() in send_msg: https://github.com/conjure-up/conjure-up/blob/master/conjureup/utils.py#L248-L25719:33
stokachucory_fu: good idea19:33
cory_fustokachu: (flush=True docs: https://docs.python.org/3/library/functions.html#print)19:33
Dwellrcould I patch that in locally after installing conjure-up ?19:34
cory_fuAFAICT, cprint() passes through args to print(), so it should work on either19:34
Dwellr(happy to test if possible)19:34
stokachuDwellr: so you would need to checkout the source19:34
cory_fuYeah, I don't think you could patch the code in the snap19:34
stokachuDwellr: if you clone https://github.com/conjure-up/conjure-up19:34
stokachuDwellr: then run `make sysdeps; make dev`19:34
Dwellrheh.. was hoping being python the source would be on my system somewhere19:34
stokachuthen you can . conjure-dev/bin/activate19:34
stokachuand try it there19:34
cory_fuDwellr: It is, but bundled into the snap filesystem.  The confinement of snaps would make it challenging to modify19:35
Dwellryeah.. I know nothing re snaps =)19:36
cory_fuDwellr: Well, they essentially are a way to package, confine, and apply security to an application to make it safer and easier to manage.19:37
cory_fuI think you'd have to be root to unpack and modify the bundled file system image and even then I think the signing of the snap might prevent it19:39
Dwellrroot simple, signing not.19:39
Dwellrjust paste your private key here in the channel, and i'll resign it ;p19:39
stokachulol19:39
stokachudont forget cc# and security code19:40
cory_fuYou could manage it, but in the end it's just easier to use the source from GitHub and either run the dev venv as stokachu suggested, or build the snap from that and install with --dangerous19:40
DwellrI'll need your visa number, 4 digit pin, and 3 digit verification code19:40
stokachulol19:40
Dwellrrofl.. jinx19:40
cory_fu:)19:40
stokachuDwellr: yea the source is quicker, especially if you dont want to build a new snap19:40
Dwellrlemme clone my vagrant file, and have it stop before it does all the badness =)19:40
cory_fustokachu: I wonder if we could test using the output redirection that Dwellr mentioned.19:41
* Dwellr rather glad all this is running on his new dumpster-server ;p 19:41
Dwellrsold as 'would not power on', I bought it just for the case (3u chenbro with 8x hotswap sata) .. turns out it powers on just fine (after adding some ram) .. it's a twin xeon e5530 server, (now) with 24gb per cpu,19:42
cory_fuNice19:43
cory_fustokachu: I'm seeing the same thing with redirection to a file19:44
Dwellrtotal price (excluding ram/drives).. just under 50$19:44
cory_fuDwellr, stokachu: Yep, adding flush=True works19:45
Dwellrcool =) how long before that can make it into a proper build?19:46
cory_fustokachu: I noticed that redirecting the output to a file still generates colored output.  I think "elif syss.__stdin__.isatty():" should actually be testing stdout, no?19:46
cory_fuDwellr: I think we could get it in --edge today.  I'm about to put up a PR now19:52
Dwellris that a flag for snap install ?19:53
rick_hDwellr: yes, it looks at the edge channel of the snap to get pre-release stuff.19:54
Dwellrokie.. I can add that to the vagrant script quickly enough later then to test.19:54
xarses_ergh, rick_h two new problems can't logout from the store now that I linked my user, and since I linked my user there isn't a button to switch back to the models, you just have to stay on the user ui or go hack the url19:55
xarses_actually, 3 the linking the user didn't go to the proper redirect and authorize oauth page, it just selected an account19:56
rick_hxarses_: k, will check it out. I just got the latest release yesterday and haven't tried the account page thing.19:56
rick_hhuh?19:56
rick_hlinking the user?19:56
* rick_h is lost on what xarses_ is up to19:57
xarses_yes linking the juju user in the gui to the charmstore19:57
rick_hk, /me is bootstrapping to see i can see what you see19:57
stokachucory_fu: nice19:57
stokachuDwellr: so basically when it's ready you would run `sudo snap install conjure-up --classic --edge`19:58
stokachuor if already installed run `sudo snap refresh conjure-up --egde`19:58
xarses_it should have raised an oauth authorize page, it just accepted the context I was in, instead of the oauth page making me confirm the app19:58
rick_hxarses_: it's an openid vs oauth thing. It should open in a new window you can close once you auth (and think it says you can close it now)19:59
xarses_and its now logged in to the wrong user, and I don't see a unlink button20:00
cory_fustokachu: https://github.com/conjure-up/conjure-up/pull/114820:01
stokachucory_fu: thanks, ill merge and push to edge soon as it's done with ci20:02
cory_fustokachu: +120:02
rick_hxarses_: ok, so I just tried to replicate it and I logged into the charmstore and it shows at the top my two models on my controller (controller and default) and the list of charms and bundles from my charmstore account. I then clicked on the default model, and clicked manage to get back to the GUI20:04
rick_hxarses_: it shows my username as "admin" on my profile page. I'm not sure what "wrong name" so any screenshots/etc would be helpful in looking at what went off the rails for you.20:05
rick_hxarses_: bugs are tracked on GH at github.com/juju-juju-gui/issues20:05
xarses_ya working on those20:05
xarses_rick_h: for the oauth, I expected a dialog like https://drive.google.com/open?id=0B_Hn-o0wEGNfZHdLZmt4VTdYV1E20:07
xarses_I got https://drive.google.com/open?id=0B_Hn-o0wEGNfUVR6aVNGOGNVOUE as the first page20:08
rick_hxarses_: hmm, I think because the GUI doesn't request any of the account details it doesn't have that dialog20:09
rick_hxarses_: you only have to give approval if the application asks for the details so it can restore it locally for any reason20:09
xarses_I'd still expect the ask, its now linked to the wrong account because it just used the first cookie it found20:12
xarses_oauth is supposed to be explicit in this regard, the oauth host isn't supposed to allow the app if the user doesn't allow it20:12
xarses_with regards to the other issue https://drive.google.com/open?id=0B_Hn-o0wEGNfQ0Y0cmVwRUhEbDg20:14
rick_hxarses_: as for logging back out you're right there's not a box there. The work-around for the moment would be to wipe the cookies and local storage on the browser for the api.jujucharms.com domain from the browser :(20:14
rick_hxarses_: understand, it's not oauth atm but good feedback.20:14
xarses_rick_h: I haven't even authorized that account for jujucharms.com either20:15
rick_hxarses_: right so from there if you click on the model name you can click on "manage"20:15
rick_hxarses_: right, you're butting up against how ubuntu sso works20:15
xarses_and that its super broken for multiple accounts?20:15
rick_hxarses_: notice nothing through ubuntu sso has that setup. I think you can wipe https://login.ubuntu.com/+applications and remove the web login? I'm not sure20:16
stokachuDwellr: it's building now, you can see the status here https://code.launchpad.net/~conjure-up/+snap/conjure-up20:16
rick_hxarses_: so the user/etc is the local juju account. The charmstore login is kind of on the side and doesn't effect the juju "admin" account you logged into the GUI in any way20:17
stokachulooks like it'll be at least 40 minutes before it starts20:17
stokachuusually takes about 5 minutes to build20:17
xarses_rick_h: ya, I get that but I can't log it out now, as its on the wrong usso account20:17
rick_hxarses_: right, so that's why I said that it's a valid bug to not have a logout of charmstore button there, so you'd have to remove the localstorage/cookies from your browser atm apologies20:18
xarses_k20:22
xarses_oh, those expand? thats totally not obvious20:22
rick_hxarses_: +1, the team's working on an updated profile page that groups things into more logical buckets and reworks that UX20:23
xarses_the grouping is fine20:23
rick_hxarses_: I hate the expandy-two-click stuff and it's not middle click to open in new tab friendly heh20:23
xarses_just the layout didn't imply that they could expand20:23
xarses_+2 to the middle click20:23
xarses_I have to have a 3-5 button mouse20:24
xarses_Idk how people live with out them20:24
rick_hlol20:24
rick_hxarses_: I get your point though after tinkering with this stuff. It just uses your current sso account vs allowing you to pick when you login20:24
xarses_oh, you don't get to "pick" with the oauth ask from openstack.org either, it just gives you a chance to logout and log back in with the account you want it to use20:26
rick_hxarses_: right20:26
xarses_lp and oauth askers seem to be cool with my two accounts20:26
xarses_these usso ones just pick the first one20:26
xarses_which was fine for the force portal20:27
rick_hxarses_: I've got a bug filed on the lack of the logout button but yea, I think there's some limitation on working with the login.ubuntu.com stuff. Will see20:27
xarses_but is annoying me with the charm store20:27
rick_hgotcha, sorry I didn't grasp what you meant at first. Because I have 2-fa it always stops up for me to 2fa but if you didn't have that it'll just dump right in.20:28
magicaltroutya'll trying the Ceph PV stuff in the CDK readme21:05
magicaltroutand i get timeout expired waiting for volumes to attach/mount for pod "default"/"web". list of unattached/unmounted volume21:06
magicaltroutnot having used Ceph before, what am i missing or where should I prod?21:06
tvansteenburghmagicaltrout: what's the output of kubectl get pv21:14
tvansteenburghand kubectl get pvc21:15
tvansteenburghmagicaltrout: i gotta run, feel free to post on the ML or file an issue on the cdk repo21:20
magicaltroutno worries ex-tim21:26
kwmonroemagicaltrout: i don't have experience with ceph either, but if i were you, i'd swap that for something lighter, like hdfs.22:52
magicaltrout hmmm kwmonroe its like deja-vu22:59
magicaltroutyou're right though, i did23:00
magicaltrout /tmp23:00

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