aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 8dd510511622a95de6a47c942eab044125e9ca6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
remote-logon-config-agent
#########################

Usage
=====

This is a commandline tool and Python library for retrieving a user's
remote desktop configuration from UCCS like servers as provided by  the
Arctica Session Brokerage Service or the X2Go Session Broker. It is
intended for programmatic use.

It accepts a password via stdin and an email address as its sole argument.
These must be valid credentials on the uccs server's SSO server, typically
login.canonical.com.

Example usage::

  echo test|./remote-logon-config-agent mark

Exit codes:

+------+------------------------------------+
| code | Meaning                            |
+======+====================================+
| 0    | Success                            |
+------+------------------------------------+
| 1    | Usage error                        |
+------+------------------------------------+
| 2    | Authentication error               |
+------+------------------------------------+
| 3    | Connection error                   |
+------+------------------------------------+
| 4    | SSL Certificate verification error |
+------+------------------------------------+
| 100  | All other errors.                  |
+------+------------------------------------+

Errors are emitted as text on stderr and as JSON on stdout.

Development
===========

Coding style is PEP8.  Python 3.4 is the target version.

Running tests
-------------
Tests can be run using setup.py's test subcommand::

  $ python3 setup.py test

Or by using the "check" makefile target::

  $ make check

Lint
----
The "lint" makefile target should be used::

  $ make lint

Landing code
------------

Merges are manual on this branch, because using Tarmac would interfere with
packaging work.

1. Merge into a local copy of lp:~maza-lib.
2. Resolve conflicts if needed.
3. Run "make check".
4. Run "make lint".
5. If lint or tests are not clean, merge lp:~maza-lib into feature branch, fix
   and return to step 1.
6. Commit.
7. Push local copy to lp:~maza-lib.


Testing and debugging options
-----------------------------
Server can be overridden with the SERVER_ROOT environment variable, which must
specify the root URL of a server supporting the uccs API.

The API version can be specified with the API_VERSION environment variable.  It
is typically an integer.  The string "default" will select the current default
API version, but unsetting API_VERSION will also do that.

SSL server certificate verification can be disabled with the --skip-ssl-verify
option.  This can be useful for testing against servers with self-signed
certificates.

Examples::

  # test against staging instance via http
  echo test|SERVER_ROOT=http://91.189.93.90 ./remote-logon-config-agent mark

  # test against Canonistack instance via https
  echo test|SERVER_ROOT=https://91.189.93.90 ./remote-logon-config-agent mark\
  --skip-ssl-verify