Hi Pete, I recently modified the GUI to use the new `configYAML` field. To do so I took the JSON that we normally sent in the `config` argument and passed it as the `configYAML` argument. You can see the PR[0] for the change made and a little code comment as to why.
If you'd like an easy way to inspect the RPC calls you can also do so by checking out the JS API in the GUI and/or inspecting the WS in the GUI and performing the various actions to see the live interactions with Juju. [0] https://github.com/juju/juju-gui/pull/2527/files Hope this helps! - Jeff On Tue, Feb 28, 2017 at 4:42 PM, Pete Vander Giessen < pete.vandergies...@canonical.com> wrote: > Hi All, > > I'm currently working on getting python-libjuju to successfully deploy the > landscape-dense-maas bundle. It fails, as outlined in > https://bugs.launchpad.net/juju/+bug/1651260. > > (python-libjuju is a Python client that talks to Juju's websocket API; I'm > currently using it inside the matrix testing framework.) > > The comments in that bug suggest that the root of the problem is that I'm > trying to deploy a charm (haproxy) that has an empty string as a default > value, but python-libjuju is using the legacy "config" param when it calls > ApplicationDeploy in the api, rather than the new "config-yaml" param. This > sounds simple to fix -- all I have to do is change an arg from "config" to > "config-yaml", and everything should work! > > One hitch: the "config" param expects a json object, which is what we get > back when we make our initial call to the planner, but config-yaml expects > a string with yaml in it (this is per the logic in deployApplication in > juju/apiserver/application/application.go). > > That also sounds simple. As we do elsewhere in python-libjuju when we want > to pass a yaml blob to the API, I use Python's handy yaml library, do > yaml.dump(config), where "config" is the json config object I got from the > planner, and everything should work! > > This is where I'm stuck. If I pass in such a string, the websocket API > simple hangs, and stops talking to me. I don't even see any error messages > in the logs on my controller :-/ > > Does anyone have any insight as to what I might be doing incorrectly? In > Python3, yaml.dump will produce a utf-8 string by default. All of that will > get serialized to json before being submitted over the websocket, though, > so I don't *think* that it's an encoding issue. (Passing the bundle in as a > yaml blob to the planner in the first place works.) The config object I get > back from the planner isn't wrapped in an "options" key, but adding that > key before dumping the config to a yaml string doesn't fix the problem -- I > still see the hang. > > Apologies for the length of the post. And thanks in advance for anything > you can do to get me unstuck! > > ~ PeteVG > > -- > Juju-dev mailing list > Juju-dev@lists.ubuntu.com > Modify settings or unsubscribe at: https://lists.ubuntu.com/ > mailman/listinfo/juju-dev > >
-- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev