Commit Graph

64 Commits

Author SHA1 Message Date
Dominik Csapak
4e76dbd7b3 ceph: refactor broadcast_ceph_services and get_cluster_service
and use the broadcast when a service is added/removed
we will use 'get_cluster_service' in the future when we generate a list
of services of a specific type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-04 14:56:24 +02:00
Thomas Lamprecht
a78fd21f7f followup code cleanup for: broadcast ceph service data to cluster
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-27 15:52:12 +02:00
Dominik Csapak
fea391967a broadcast ceph service data to cluster
so that we have a list of all existing ceph services in the cluster

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 15:52:12 +02:00
Thomas Lamprecht
180a86d39a pvecfg: adapt version and release semantic
Wit commit a74ba607d4 we switched over
to using the dpkg-dev provided helpers to set package version,
architecture and such in the buildsystem.

But unlike other repositories we used the version also for giving it
back over the API through the during build generated PVE::pvecfg
module, which wasn't fully updated to the new style.

This patch does that, and also cleans up semantics a bit, the
following two changed:

release is now the Debian release, instead of the "package release"
(i.e., the -X part of a full package version).
version is now simply the full (pve-manager) version, e.g., 6.0-1 or
the currently for testing used 6.0-0+1

This allows to do everything we used this information for even in a
slightly easier way (no  string concat needed anymore), and fits also
with the terminology we often used in our public channels (mailing
lists, forum, website)

Remove some cruft as we touch things.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-26 16:11:43 +02:00
Fabian Grünbichler
5ea29d1398 pvestatd: rotate auth keys if necessary
as a fallback to ensure rotation even if no logins happen on a given
cluster.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-03-18 12:23:53 +01:00
Stoiko Ivanov
a642f8a01b pveproxy, spiceproxy: new read_proxy_conf location
read_proxy_conf was moved to the new PVE::ApiServer::Utils so that it
can be reused by other apiservers (e.g., PMG one). Use that one, so
that we can remove it here later

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-26 07:32:22 +01:00
Stoiko Ivanov
9503511809 remove default values from pveproxy ssl config
they are in PVE::APIServer::AnyEvent

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-02-26 07:32:22 +01:00
Stoiko Ivanov
f0ea5afcd7 pveproxy: honor_cipher_order by default
change the default from client preference to server preference, but leave it
configurable.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-02-20 07:15:38 +01:00
Stoiko Ivanov
a33abad12d pveproxy: add configurable COMPRESSION
disabling http compression is considered good practice and certain TLS-testing
scripts/sites lower the security rating if it's enabled.

compression is still on by default for the potential speed/performance gain.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-02-20 07:15:38 +01:00
Stoiko Ivanov
1f7809624b pveproxy: add configurable HONOR_CIPHER_ORDER
fix #2069 (the report includes rationale and also information on test-cases).

Tested by:
* running testssl.sh [0]
* enabling this setting (our default cipherlist prefers AES256,
  chromium on stretch AES128)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-02-20 07:15:38 +01:00
Stoiko Ivanov
bbb0c700bd fix typo in comment (ssl-config)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-02-19 17:17:17 +01:00
Rhonda D'Vine
5878f07454 Update default CIPHERS to a more current list
The default CIPHERS allowed for a fair amount of not really considered
secure anymore connections.  This updated cipher list is taken from
mozilla: https://wiki.mozilla.org/Security/Server_Side_TLS

Signed-off-by: Rhonda D'Vine <rhonda@proxmox.com>
2018-10-17 07:56:32 +02:00
Dominik Csapak
f4aa76c549 fix #1393: use language from datacenter.cfg for gui
if we do not have a language cookie, try to read
the language from the datacenter.cfg and fall back to 'en'

also set it into the 'Proxmox' object, so that the gui can show it
in the LoginWindow

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-17 11:01:44 +02:00
Thomas Lamprecht
b2682f33ce pveproxy: add link to extjs for api-viewer
allows us to remove the external loading of extjs from the cloudflare
cdn in pve-docs easier with having the external hosted version in
mind.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-07-27 11:09:21 +02:00
Dominik Csapak
411967db91 use pve-i18n package
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
f90908cb16 add proxmox-widget-toolkit to pve gui
we will use components from proxmox-widget-toolkit rather than
directly from pve-manager

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-23 10:15:09 +01:00
Dominik Csapak
03f09f9ab0 add xtermjs to pveproxy dirs
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Dominik Csapak
54165ad3ce add ver get parameter for js/css files to improve cache behaviour
we do not set an Expire header for our js files, and certain browsers
do not even make the request then (on which we would answer
with a correct 304 not modified)

so to force the browser to load a new version of the gui when we change
something, we add the package version as a get parameter

when doing this, the browsers still cache the file, until the get
parameter changes, which is exactly what we want

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-07 08:55:02 +01:00
Dominik Csapak
1faeea016b do not use PVE::API2 in spiceproxy.pm
we do not need it there and withouth this we save ~30MB memory for
this daemon and its workers

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-07 08:51:15 +01:00
Dominik Csapak
7f3b89a012 change to debian font-awesome
instead of having font-awesome copied into the repository,
depend on the debian package 'fonts-font-awesome', which provides all we
need

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-12 10:26:29 +02:00
Fabian Grünbichler
0fcced161f use physical NIC regexp
because in >= Stretch, most systems don't have ethX devices any more.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-06-08 15:00:59 +02:00
Wolfgang Bumiller
127470f417 statd: rebalance: don't use CpuSet::max_cpuids
We're already limiting CPUs to lxc/cpuset.effective_cpus,
so let's use the highest cpuid from that set as a maximum to
initialize the container count array.
2017-04-20 12:18:55 +02:00
Dietmar Maurer
507869563a use 'U' to encode undefined values for RRD graphs
rrdtools 1.5 and newer seems to require this.
2017-03-17 11:27:18 +01:00
Dietmar Maurer
9af88cbb9a pveproxy: do not serve /usr/share/vncterm - no longer required
Note: We removed the java applet
2017-03-14 07:21:09 +01:00
Dominik Csapak
184825e190 use Template::Toolkit instead of [ExtJs|Touch|NoVnc]Index.pm
this makes it easier to change the html if needed and seperates
it from the perl code

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-09 10:34:30 +01:00
Dominik Csapak
245e567e62 specify basedirs instead of hardcoding them several times
using a hash with the directories makes it easier to reuse them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-09 10:33:19 +01:00
Thomas Lamprecht
09f19204be InfluxDB plugins: send nodename when updating CT/VM status
This allows filtering by node in InfluxDB queries, so the statistics
of all virtual guests on a specific nodes can be queried.

While for InfluxDB this is only a tag which does changes where the
data is stored, Graphite - our other status plugin - has no such
mechanics available. If we would add it to the object hierarchy,
e.g.: "qemu.$vmid.$nodename" a migration of a VM would result in two
different datasets.
So avoid breaking setups and omit it for Graphite for now.

Suggested-by: Daniel1108 <danielgallegosanchez@gmail.com>
CC: Daniel1108 <danielgallegosanchez@gmail.com>

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-02-28 11:28:10 +01:00
Dietmar Maurer
9556b395b0 depend on libjs-extjs 2017-01-25 18:29:17 +01:00
Dietmar Maurer
8a9bf7771e pvestatd.pm: corretly use new RPCEnvironment
Call $rpcenv->active_workers()
2017-01-18 17:28:59 +01:00
Dietmar Maurer
c5bd68e84f pveproxy: do not expose /pve2/js/ (no longer required) 2017-01-18 12:59:21 +01:00
Dietmar Maurer
b84415d325 remove base_handler_class - directly use PVE::API2 instead
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-16 11:54:34 +01:00
Dietmar Maurer
a9de2d443b pveproxy.pm: set title to 'Proxmox VE API'
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-16 11:54:34 +01:00
Dietmar Maurer
e469770953 pveproxy.pm: use PVE::APIServer::AnyEvent::add_dirs()
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-16 11:54:33 +01:00
Dietmar Maurer
b996e6c0ec use new libpve-http-server-perl package
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-16 11:54:33 +01:00
Fabian Grünbichler
f50cdc4e8c fix CSRF token generation
this broke with the recent refactoring
2017-01-13 10:58:44 +01:00
Dietmar Maurer
ddaefd5c65 PVE/Service/pveproxy.pm: avoid using PVE::REST
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-12 11:53:18 +01:00
Dietmar Maurer
33dc998183 remove obsolete inline documentation 2017-01-11 10:54:47 +01:00
Dietmar Maurer
cbce367ddb rebalance_lxc_containers: make it work with old style lxc setups 2016-12-21 12:20:40 +01:00
Dietmar Maurer
b3f1adb200 rebalance_lxc_containers: avoid repeated warnings if rebalance fails
Only warn once.
2016-12-21 11:39:46 +01:00
Dietmar Maurer
0b959507c1 rebalance_lxc_containers: fix hotplug
factor out code to modify cpusets into $modify_cpuset->()
2016-12-21 11:13:16 +01:00
Dietmar Maurer
193146f8b0 rebalance_lxc_containers: make it work with new lxc/<ID>/ns subgroup 2016-12-21 11:04:33 +01:00
Dietmar Maurer
ccfff9204e use new CpuSet::max_cpuid() helper 2016-10-28 17:51:59 +02:00
Dietmar Maurer
8b750abc3e rebalance_lxc_containers: nicer logs, improve hotplug
We also need to handle the case when someone removes the 'cores'
setting from a container.
2016-10-28 07:09:08 +02:00
Dietmar Maurer
2499255bb9 rebalance_lxc_containers: improve algorithm
This one avoids unnecessary cpuset changes (for example
when a guest is stopped).
2016-10-27 12:08:11 +02:00
Dietmar Maurer
09fee7559b rebalance_lxc_containers: use cores instead of cpulimit 2016-10-27 09:08:38 +02:00
Dietmar Maurer
e0dc09ad0f rebalance_lxc_containers: do not use vmstatus, call from updata_status
Simply use PVE::LXC::config_list() and test if there is a cgroup.
2016-10-26 15:47:08 +02:00
Dietmar Maurer
07f9595f80 rebalance_lxc_containers: use persistent container ordering 2016-10-26 12:55:58 +02:00
Dietmar Maurer
41db757b13 pvestatd: add simple container cpuset balancing 2016-10-26 12:00:13 +02:00
Dietmar Maurer
d5d08d2aca depend on pve-docs package
and serve documentation files with pveproxy:

https://<HOST>:8006/pve-docs/index.html
2016-05-25 09:41:46 +02:00
Emmanuel Kasper
69f17ac3d7 Serve debug versions of ExtJS libs when pveproxy is started in debug mode 2016-05-04 08:12:19 +02:00