lp:~kissiel/plainbox

Get this repository:
git clone https://git.launchpad.net/~kissiel/plainbox
Only Maciej Kisielewski can upload to this repository. If you are Maciej Kisielewski please log in for upload directions.

Branches

Name Last Modified Last Commit
fix-clash-in-sep-namespaces 2018-01-23 14:03:38 UTC 2018-01-23
fix clashes of units of the same content from diff. namespaces

Author: Maciej Kisielewski
Author Date: 2018-01-23 14:03:38 UTC

fix clashes of units of the same content from diff. namespaces

Signed-off-by: kissiel <kissiel@gmail.com>

fix-1262898-warns-when-XDG_CACHE_HOME-is-RO 2018-01-12 16:56:12 UTC 2018-01-12
silence EPERM on log_dir when using provider_manager

Author: Maciej Kisielewski
Author Date: 2018-01-12 16:46:00 UTC

silence EPERM on log_dir when using provider_manager

When plainbox is unable to create log_dir it displays a warning. That logdir
is created in XDG_CACHE_HOME which when using debian build systems is not
writable. This is not only the case when running plainbox commands, but also
when setting up providers.

This patch adds a flag to the logging config that supresses that warning,
and uses it in provider_manager calls.

Fixes: LP:1262898

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

fix-1262898-warns-when-XFG_HOME-RO 2018-01-12 16:46:00 UTC 2018-01-12
silence EPERM on log_dir when using provider_manager

Author: Maciej Kisielewski
Author Date: 2018-01-12 16:46:00 UTC

silence EPERM on log_dir when using provider_manager

When plainbox is unable to create log_dir it displays a warning. That logdir
is created in XDG_CACHE_HOME which in debian systems is not writable.
This is not only the case when running plainbox commands, but also when
setting up providers.

This patch adds a flag to the logging config that supresses that warning,
and uses it in provider_manager calls.

Fixes: LP:1262898

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

fix-1741109-hide-automated 2018-01-09 14:38:43 UTC 2018-01-09
config: add 'hide-automated' as a valid option to ui.output

Author: Maciej Kisielewski
Author Date: 2018-01-09 14:38:43 UTC

config: add 'hide-automated' as a valid option to ui.output

Fixes: LP:1741109

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

master 2018-01-08 21:40:27 UTC 2018-01-08
Merge #335821 from ~kissiel/plainbox:add-none-stock-report

Author: PMR
Author Date: 2018-01-08 21:40:27 UTC

Merge #335821 from ~kissiel/plainbox:add-none-stock-report

add-none-stock-report 2018-01-08 21:35:00 UTC 2018-01-08
launcher: use OneOrTheOtherValidator for stock_reports variable

Author: Maciej Kisielewski
Author Date: 2018-01-08 12:50:59 UTC

launcher: use OneOrTheOtherValidator for stock_reports variable

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

remote-assistant 2017-12-15 11:48:51 UTC 2017-12-15
use tr_purpose() for purpose instead of tr_purpose

Author: Maciej Kisielewski
Author Date: 2017-11-23 21:18:00 UTC

use tr_purpose() for purpose instead of tr_purpose

vendorize-rpyc 2017-12-14 11:19:45 UTC 2017-12-14
change import to reflect vendorization

Author: Maciej Kisielewski
Author Date: 2017-12-14 11:19:45 UTC

change import to reflect vendorization

I used this:
find . -name '*.py' -exec sed -i s/^from\ rpyc/from\ plainbox.vendor.rpyc/ {} +

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

sideloaded-providers 2017-11-28 04:37:36 UTC 2017-11-28
migrate embedded_providers from converged

Author: Maciej Kisielewski
Author Date: 2017-11-28 01:01:47 UTC

migrate embedded_providers from converged

It's needed to side-load providers

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

sudo-broker 2017-11-20 16:16:54 UTC 2017-11-20
secure: add sudo_broker module

Author: Maciej Kisielewski
Author Date: 2017-11-14 14:49:59 UTC

secure: add sudo_broker module

The module provides a secure way of sharing password between the future
checkbox-remote-service and checkbox-remote-control.

Compared to just encrypting pass on one side using pubkey and decrypting
on the other this module provides a way of storing the master key that's used
to decrypt the password.

The passphrase used to encrypt the master key is derived (sha512) from the real
password provided by the remote side. This way, it can be stored on an insecure
medium (like session's metadata). This way, when the plainbox session is
suspended (e.g. due to a reboot job) the session can be automagically resumed,
and sudo password doesn't have to be provided again, if the remote controler has
been still running.

Because the passphrase is derived from the password, both sides can be
easily resurrected. I.e.:
service (the part with the master key) is resumed from the plainbox
SessionStorage, it needs a passphrase, which is provided by the SudoProvider,
then, SudoBroker shares public key with the provider so the SudoProvider can
send over the password securely.

See IntegrationTests in test_sudo_broker.py for typical usage scenarios.

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

bad-configs-proper-fail 2017-11-03 17:24:45 UTC 2017-11-03
fail properly on bad configs

Author: Maciej Kisielewski
Author Date: 2017-11-03 17:24:45 UTC

fail properly on bad configs

fixes LP:1185427

Previously if there was a problem in the config loaded, checkbox captured
it and later on crashed with a totally enigmatic stacktrace.

This patch makes checkbox fail properly when such occasion happens.

previously
Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

list-all-jobs-in-junit 2017-10-12 12:45:13 UTC 2017-10-12
make junit exporter include all jobs (all plugin types)

Author: Maciej Kisielewski
Author Date: 2017-10-12 12:45:13 UTC

make junit exporter include all jobs (all plugin types)

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

session-assistant-2 2017-09-26 10:28:45 UTC 2017-09-26
stage 2

Author: Maciej Kisielewski
Author Date: 2017-09-26 10:28:45 UTC

stage 2

sa-selection-midway 2017-08-23 12:35:50 UTC 2017-08-23
SA: allow sa.hand_pick_jobs in the main loop

Author: Maciej Kisielewski
Author Date: 2017-08-23 12:35:50 UTC

SA: allow sa.hand_pick_jobs in the main loop

This allows apps to re-apply selection patterns after some jobs were run,
thus generating new selection (list of strings matching ids).

Concrete mechanics:
    start session;
    call hand_pick_jobs('.*') (selecting all _existing_ jobs)
    run resource job that generates a new job that matches above pattern
    (*NEW*) call hand_pick_jobs() again to apply the filter to the new state
    run freshly instantiated jobs
    profit!

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

testplanless-resume 2017-08-23 10:52:03 UTC 2017-08-23
allow running jobs after resuming testplanless session

Author: Maciej Kisielewski
Author Date: 2017-08-23 10:52:03 UTC

allow running jobs after resuming testplanless session

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

broaden-sa 2017-08-22 16:40:51 UTC 2017-08-22
fix pep8 issues

Author: Maciej Kisielewski
Author Date: 2017-08-21 10:23:21 UTC

fix pep8 issues

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

restartable-fixes 2017-08-21 11:59:21 UTC 2017-08-21
fix crash when noreturn is used without autorestart

Author: Maciej Kisielewski
Author Date: 2017-08-21 11:53:25 UTC

fix crash when noreturn is used without autorestart

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

fix-snapcraft-snap 2017-08-03 13:16:28 UTC 2017-08-03
fix validation crash when run by snapcraft snap

Author: Maciej Kisielewski
Author Date: 2017-08-03 10:39:02 UTC

fix validation crash when run by snapcraft snap

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

sudo-snappy-desktop 2017-07-13 08:56:30 UTC 2017-07-13
use `-S` in sudo controller

Author: Maciej Kisielewski
Author Date: 2017-07-11 09:20:48 UTC

use `-S` in sudo controller

Fixing root jobs in not-passless-sudo snappy environments.

Fixes: LP:1581352

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

drop-year-from-namespaces 2017-07-06 13:34:26 UTC 2017-07-06
bring back stupid whitespace at EOL

Author: Maciej Kisielewski
Author Date: 2017-07-06 13:34:26 UTC

bring back stupid whitespace at EOL

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

drop-year-from-iqn 2017-07-03 11:10:57 UTC 2017-07-03
update docs to encourage dateless IQNs

Author: Maciej Kisielewski
Author Date: 2017-07-03 11:10:57 UTC

update docs to encourage dateless IQNs

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

cache-resources 2017-06-26 11:33:50 UTC 2017-06-26
add cache clearing APIs

Author: Maciej Kisielewski
Author Date: 2017-06-26 11:27:16 UTC

add cache clearing APIs

Also move loading of the cache from the __init__() so it's not loaded when we're
constructing ResourceJobCache only to clear it.

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

bootstrapping-progress-reporting 2017-06-14 11:20:50 UTC 2017-06-14
split bootstrapping so apps can inform about progress

Author: Maciej Kisielewski
Author Date: 2017-06-14 11:20:50 UTC

split bootstrapping so apps can inform about progress

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

fix-crash-on-run 2017-04-05 11:25:13 UTC 2017-04-05
decrease attempts on job failure

Author: Maciej Kisielewski
Author Date: 2017-04-03 07:33:44 UTC

decrease attempts on job failure

So the UIs don't have to mess with job_state.

I went with EAFP approach here in regards to 'detection' of the auto-retry
feature. It looks much cleaner than:

* moving auto-retry related variables to primeval PlainboxConfig
* LBYL in two ways:
  - checking for variable existance in the 'private' fields of the
    config/launcher
  - pulling variable_list from the Meta of the config/launcher obj.
* introducing 'its-an-auto-retry-run' flag to the `run_job` fun of SA that
  could be used by front-ends to make sure auto_attempts 'inhibitor' is
  ignored. Or, a flag that would make SA decrease `attempts` only when
  appropriate. But this would make auto-retry support logic spread on yet
  another channel.

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

fix-delete-session 2017-02-16 22:13:06 UTC 2017-02-16
make 'delete session' warn about errors and carry on

Author: Maciej Kisielewski
Author Date: 2017-02-16 14:40:46 UTC

make 'delete session' warn about errors and carry on

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

after-suspend-renames 2017-02-13 10:03:28 UTC 2017-02-13
remove after-suspend-auto, after-suspend is now auto, add after-suspend-manual

Author: Maciej Kisielewski
Author Date: 2017-02-13 10:03:28 UTC

remove after-suspend-auto, after-suspend is now auto, add after-suspend-manual

Automated suspend job should be the one to base after-suspend jobs on, so this
patch makes after-suspend flag base on it, and removes after-suspend-auto.
The functionality of the previous after-suspend job is now available through
after-suspend-manual flag.

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

only-auto-after-suspend 2017-02-08 18:31:28 UTC 2017-02-08
remove the also-after-suspend-auto flag

Author: Maciej Kisielewski
Author Date: 2017-02-08 18:31:28 UTC

remove the also-after-suspend-auto flag

It seems that the only suspend job that we'll run in the foreseeable future is
the automated one, so I think it'll be easier to just have one.

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

exporters-fix 2017-01-26 10:41:09 UTC 2017-01-26
commands: remove choice checking for --output-format in cmd_ phase

Author: Maciej Kisielewski
Author Date: 2017-01-26 10:39:22 UTC

commands: remove choice checking for --output-format in cmd_ phase

The problem was introduced with my "commands:cmd_session: don't
get_exporter_names() when not needed" 84e3b2c96566df7322a2dd661c260b60604b55bc.

For each subcommand that we have in plainbox we have split them to (at least)
two files. cmd_* and inv_*. The former having the declaration of arg and its
options and the latter having the implementation. This ensures that every
module that invocation needs is only loaded when we invoke the command.

With my 84e3b2 patch I removed checking of all available exporters in the cmd_
phase. This led to a plainbox starting up 4x faster. I left '?' as the only
possible value of --output-format, and when invoked with that arg, it would
actually pull all exporters from providers and list them, as it would run
through the inv_ phase.

fixes lp:1659508

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

add-verbosity 2016-12-21 14:22:27 UTC 2016-12-21
add 'verboisty' field to launchers

Author: Maciej Kisielewski
Author Date: 2016-12-21 14:22:27 UTC

add 'verboisty' field to launchers

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

optimizations 2016-10-16 13:47:23 UTC 2016-10-16
commands:cmd_session: don't get_exporter_names() when not needed

Author: Maciej Kisielewski
Author Date: 2016-10-16 13:47:23 UTC

commands:cmd_session: don't get_exporter_names() when not needed

So that SessionManager class is not instantiated, and no 'spooling-up' is
required.

This makes invocation of 'plainbox --version' soooo much faster (~4x faster)

Signed-off-by: Maciej Kisielewski <maciej.kisielewski@canonical.com>

130 of 30 results
This repository contains Public information 
Everyone can see this information.