Skip to content

Commit dd04aa4

Browse files
committed
ncm-opennebula: add one 7.2 support
Include extra configuration options required in one 7.2. These changes are backwards compatible. Resolves: #1868
1 parent 955c97a commit dd04aa4

4 files changed

Lines changed: 64 additions & 5 deletions

File tree

ncm-opennebula/src/main/pan/components/opennebula/monitord.pan

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ type opennebula_probes_period = {
4545
@{When monitor probes have been stopped more than sync_vm_state
4646
seconds, send a complete VM report}
4747
"sync_state_vm" : long(1..) = 180
48+
@{Time in seconds to send VM command execution result}
49+
"exec_vm" : long(1..) = 5
4850
} = dict();
4951

5052
@documentation{

ncm-opennebula/src/main/pan/components/opennebula/schema.pan

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ type opennebula_hook_log_conf = {
123123

124124
type opennebula_auth_mad = {
125125
"executable" : string = 'one_auth_mad'
126-
"authn" : string = 'ssh,x509,ldap,server_cipher,server_x509'
126+
"authn" : string = 'ssh,x509,ldap,server_cipher,server_x509,saml'
127127
} = dict();
128128

129129
type opennebula_tm_mad_conf = {
@@ -132,12 +132,15 @@ type opennebula_tm_mad_conf = {
132132
"clone_target" : choice('SYSTEM', 'NONE', 'SELF') = "SYSTEM"
133133
"shared" : boolean = true
134134
"ds_migrate" ? boolean
135-
"driver" ? choice('raw', 'qcow2')
135+
"ds_live_migrate" ? boolean
136+
"ds_migrate_snap" ? boolean
137+
"driver" ? choice('raw', 'qcow2', 'virtiofs')
136138
"allow_orphans" ? string
137139
"tm_mad_system" ? string
138140
"ln_target_ssh" ? string
139141
"clone_target_ssh" ? string
140142
"disk_type_ssh" ? string
143+
"disk_type" ? choice('filesystem', 'block')
141144
"ln_target_shared" ? string
142145
"clone_target_shared" ? string
143146
"disk_type_shared" ? string
@@ -158,9 +161,14 @@ type opennebula_auth_mad_conf = {
158161
will be disabled, with the exception of chgrp to one of
159162
the groups in the list of secondary groups}
160163
"driver_managed_groups" : boolean = false
164+
@{When set to "true" user needs to manage group
165+
admin membership manually, when "false" group admin
166+
membership is managed by the auth driver}
167+
"driver_managed_group_admin" : boolean = false
161168
@{Limit the maximum token validity, in seconds. Use -1 for
162169
unlimited maximum, 0 to disable login tokens}
163170
"max_token_time" : long(-1..) = -1
171+
"password_required" ? boolean
164172
} = dict();
165173

166174
@documentation{
@@ -187,6 +195,7 @@ type opennebula_ds_mad_conf = {
187195
@{specifies whether the datastore can only manage persistent images}
188196
"persistent_only" : boolean = false
189197
"marketplace_actions" ? string
198+
"datastore_capacity_check" ? boolean
190199
} = dict();
191200

192201
@documentation{
@@ -468,6 +477,8 @@ type opennebula_oned = {
468477
"default_device_prefix" ? opennebula_device_prefix = 'hd'
469478
"onegate_endpoint" ? string
470479
"manager_timer" ? long
480+
"grpc_port" : type_port = 2634
481+
"grpc_listen_address" : type_ipv4 = '0.0.0.0'
471482
"monitoring_interval" : long = 60
472483
"monitoring_threads" : long = 50
473484
@{Time in seconds between each DATASTORE monitoring cycle}
@@ -637,6 +648,25 @@ type opennebula_oned = {
637648
"disk_type_shared", "FILE",
638649
),
639650
dict("name", "vcenter", "clone_target", "NONE"),
651+
dict(
652+
"name", "purefa",
653+
"clone_target", "SELF",
654+
"driver", "raw",
655+
"disk_type", "block",
656+
"allow_orphans", "yes",
657+
"ds_migrate", false,
658+
"ds_live_migrate", false,
659+
"ds_migrate_snap", false,
660+
),
661+
dict(
662+
"name", "virtiofs",
663+
"clone_target", "NONE",
664+
"driver", "virtiofs",
665+
"disk_type", "filesystem",
666+
"ds_migrate", false,
667+
"ds_live_migrate", false,
668+
"ds_migrate_snap", false,
669+
),
640670
)
641671
"ds_mad_conf" : opennebula_ds_mad_conf[] = list(
642672
dict(),
@@ -669,6 +699,16 @@ type opennebula_oned = {
669699
"persistent_only", false,
670700
"marketplace_actions", "export",
671701
),
702+
dict(
703+
"name", "purefa",
704+
"required_attrs", list('PUREFA_HOST', 'PUREFA_API_TOKEN', 'PUREFA_TARGET'),
705+
"persistent_only", false,
706+
),
707+
dict(
708+
"name", "virtiofs",
709+
"persistent_only", false,
710+
"datastore_capacity_check", false,
711+
),
672712
)
673713
"market_mad_conf" : opennebula_market_mad_conf[] = list(
674714
dict(
@@ -725,6 +765,7 @@ type opennebula_oned = {
725765
dict(
726766
"name", "ldap",
727767
"password_change", true,
768+
"password_required", false,
728769
"driver_managed_groups", true,
729770
"max_token_time", 86400,
730771
),
@@ -736,6 +777,14 @@ type opennebula_oned = {
736777
"name", "server_x509",
737778
"password_change", false,
738779
),
780+
dict(
781+
"name", "saml",
782+
"password_change", true,
783+
"password_required", false,
784+
"driver_managed_groups", true,
785+
"driver_managed_group_admin", true,
786+
"max_token_time", 86400,
787+
),
739788
)
740789
"vn_mad_conf" : opennebula_vn_mad_conf[] = list(
741790
dict("name", "dummy"),
@@ -875,7 +924,11 @@ type opennebula_oned = {
875924
)
876925
"vm_encrypted_attr" : string[] = list("CONTEXT/PASSWORD")
877926
"vnet_encrypted_attr" : string[] = list("AR/PACKET_TOKEN")
878-
"datastore_encrypted_attr" : string[] = list("PROVISION/PACKET_TOKEN")
927+
"datastore_encrypted_attr" : string[] = list(
928+
"PROVISION/PACKET_TOKEN",
929+
"NETAPP_PASS",
930+
"PUREFA_API_TOKEN",
931+
)
879932
"cluster_encrypted_attr" : string[] = list("PROVISION/PACKET_TOKEN")
880933
"inherit_datastore_attr" : string[] = list(
881934
"CEPH_HOST",
@@ -904,6 +957,8 @@ type opennebula_oned = {
904957
"DISK_TYPE",
905958
"VCENTER_ADAPTER_TYPE",
906959
"VCENTER_DISK_TYPE",
960+
"MOUNT_POINT",
961+
"MOUNT_TAG",
907962
)
908963
"inherit_vnet_attr" : string[] = list(
909964
"VLAN_TAGGED_ID",

ncm-opennebula/src/main/resources/oned_level1.tt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
[%- digits = ['port', 'debug_level', 'zone_id', 'cpu_cost', 'memory_cost', 'disk_cost', 'start',
22
'broadcast_timeout_ms', 'election_timeout_ms', 'limit_purge', 'log_purge_timeout',
3-
'log_retention', 'xmlrpc_timeout_ms', 'threads', 'connections',
3+
'log_retention', 'xmlrpc_timeout_ms', 'threads', 'connections', 'exec_vm',
44
'beacon_host', 'monitor_host', 'monitor_vm', 'state_vm', 'sync_state_vm', 'system_host'] -%]
55
[%- booleans = ['shared', 'persistent_only', 'keep_snapshots', 'ds_migrate', 'public', 'password_change',
6-
'driver_managed_groups', 'compare_binary'] -%]
6+
'password_required', 'datastore_capacity_check', 'ds_live_migrate', 'ds_migrate_snap',
7+
'driver_managed_groups', 'driver_managed_group_admin', 'compare_binary'] -%]
78
[%- comma_list_attrs = ['imported_vms_actions', 'required_attrs', 'app_actions', 'host_affined', 'host_anti_affined'] -%]
89
[
910
[% FILTER indent -%]

ncm-opennebula/src/main/resources/tests/regexps/monitord/simple

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ multiline
2222
^\s*threads\s?=\s*\d+\s*$
2323
^PROBES_PERIOD\s?=\s?\[$
2424
^\s*beacon_host\s?=\s*\d+,\s*$
25+
^\s*exec_vm\s?=\s*\d+,\s*$
2526
^\s*monitor_host\s?=\s*\d+,\s*$
2627
^\s*monitor_vm\s?=\s*\d+,\s*$
2728
^\s*state_vm\s?=\s*\d+,\s*$

0 commit comments

Comments
 (0)