Move the image specification to the armada manifest
This commit updates to move the image specification from overrides generation to armada manifest and get the download image list from both overrides files and armada manifest. Story: 2005350 Task: 30312 Change-Id: Iea17a516c53cce4a0baaef684aa3c6cf6b3eff28 Signed-off-by: Angie Wang <angie.wang@windriver.com>
This commit is contained in:
parent
d1536ac9df
commit
05cc8f9d77
@ -126,6 +126,11 @@ data:
|
|||||||
- type: job
|
- type: job
|
||||||
labels:
|
labels:
|
||||||
app: rbd-provisioner
|
app: rbd-provisioner
|
||||||
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
# TODO: Remove after ceph upgrade
|
||||||
|
rbd_provisioner_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-dev-latest
|
||||||
source:
|
source:
|
||||||
type: tar
|
type: tar
|
||||||
location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz
|
location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz
|
||||||
@ -187,7 +192,7 @@ data:
|
|||||||
values:
|
values:
|
||||||
monitoring:
|
monitoring:
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: false
|
||||||
labels:
|
labels:
|
||||||
server:
|
server:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
@ -195,6 +200,9 @@ data:
|
|||||||
prometheus_mysql_exporter:
|
prometheus_mysql_exporter:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
prometheus_mysql_exporter_helm_tests: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
affinity:
|
affinity:
|
||||||
anti:
|
anti:
|
||||||
@ -233,6 +241,9 @@ data:
|
|||||||
server:
|
server:
|
||||||
node_selector_key: openstack-compute-node
|
node_selector_key: openstack-compute-node
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
garbd: docker.io/starlingx/stx-mariadb:master-centos-stable-latest
|
||||||
source:
|
source:
|
||||||
type: tar
|
type: tar
|
||||||
location: http://172.17.0.1/helm_charts/garbd-0.1.0.tgz
|
location: http://172.17.0.1/helm_charts/garbd-0.1.0.tgz
|
||||||
@ -271,7 +282,7 @@ data:
|
|||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
monitoring:
|
monitoring:
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: false
|
||||||
source:
|
source:
|
||||||
type: tar
|
type: tar
|
||||||
location: http://172.17.0.1/helm_charts/memcached-0.1.0.tgz
|
location: http://172.17.0.1/helm_charts/memcached-0.1.0.tgz
|
||||||
@ -310,7 +321,7 @@ data:
|
|||||||
values:
|
values:
|
||||||
monitoring:
|
monitoring:
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: false
|
||||||
labels:
|
labels:
|
||||||
server:
|
server:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
@ -318,6 +329,9 @@ data:
|
|||||||
prometheus_rabbitmq_exporter:
|
prometheus_rabbitmq_exporter:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
prometheus_rabbitmq_exporter_helm_tests: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
affinity:
|
affinity:
|
||||||
anti:
|
anti:
|
||||||
@ -376,7 +390,23 @@ data:
|
|||||||
job:
|
job:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
keystone_api: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_credential_rotate: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_credential_setup: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_db_sync: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_domain_manage: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_fernet_rotate: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
keystone_fernet_setup: docker.io/starlingx/stx-keystone:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
|
user:
|
||||||
|
keystone:
|
||||||
|
uid: 0
|
||||||
replicas:
|
replicas:
|
||||||
api: 2
|
api: 2
|
||||||
affinity:
|
affinity:
|
||||||
@ -426,6 +456,17 @@ data:
|
|||||||
job:
|
job:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
barbican_api: docker.io/starlingx/stx-barbican:master-centos-dev-latest
|
||||||
|
barbican_db_sync: docker.io/starlingx/stx-barbican:master-centos-dev-latest
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
scripted_test: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
replicas:
|
replicas:
|
||||||
api: 2
|
api: 2
|
||||||
@ -479,6 +520,18 @@ data:
|
|||||||
registry:
|
registry:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
glance_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-dev-latest
|
||||||
|
glance_api: docker.io/starlingx/stx-glance:master-centos-dev-latest
|
||||||
|
glance_db_sync: docker.io/starlingx/stx-glance:master-centos-dev-latest
|
||||||
|
glance_registry: docker.io/starlingx/stx-glance:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
replicas:
|
replicas:
|
||||||
api: 2
|
api: 2
|
||||||
@ -539,6 +592,22 @@ data:
|
|||||||
volume:
|
volume:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
cinder_api: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
cinder_backup: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
cinder_backup_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-dev-latest
|
||||||
|
cinder_db_sync: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
cinder_scheduler: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
cinder_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-dev-latest
|
||||||
|
cinder_volume: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
cinder_volume_usage_audit: docker.io/starlingx/stx-cinder:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
replicas:
|
replicas:
|
||||||
api: 2
|
api: 2
|
||||||
@ -580,6 +649,9 @@ data:
|
|||||||
libvirt:
|
libvirt:
|
||||||
node_selector_key: openstack-compute-node
|
node_selector_key: openstack-compute-node
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
libvirt: docker.io/starlingx/stx-libvirt:master-centos-stable-latest
|
||||||
source:
|
source:
|
||||||
type: tar
|
type: tar
|
||||||
location: http://172.17.0.1/helm_charts/libvirt-0.1.0.tgz
|
location: http://172.17.0.1/helm_charts/libvirt-0.1.0.tgz
|
||||||
@ -717,6 +789,29 @@ data:
|
|||||||
test:
|
test:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
nova_api: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_cell_setup: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_cell_setup_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
nova_compute: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_compute_ironic: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_compute_ssh: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_conductor: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_consoleauth: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_db_sync: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_novncproxy: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_placement: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_scheduler: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_spiceproxy: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_spiceproxy_assets: docker.io/starlingx/stx-nova:master-centos-dev-latest
|
||||||
|
nova_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
replicas:
|
replicas:
|
||||||
api_metadata: 1
|
api_metadata: 1
|
||||||
@ -859,6 +954,11 @@ data:
|
|||||||
labels:
|
labels:
|
||||||
release_group: osh-openstack-nova-api-proxy
|
release_group: osh-openstack-nova-api-proxy
|
||||||
component: test
|
component: test
|
||||||
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
nova_api_proxy: docker.io/starlingx/stx-nova-api-proxy:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
source:
|
source:
|
||||||
type: tar
|
type: tar
|
||||||
location: http://172.17.0.1/helm_charts/nova-api-proxy-0.1.0.tgz
|
location: http://172.17.0.1/helm_charts/nova-api-proxy-0.1.0.tgz
|
||||||
@ -944,6 +1044,23 @@ data:
|
|||||||
test:
|
test:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
neutron_db_sync: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
neutron_server: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_dhcp: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_metadata: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_l3: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_openvswitch_agent: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_linuxbridge_agent: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_sriov_agent: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
|
neutron_sriov_agent_init: docker.io/starlingx/stx-neutron:master-centos-dev-latest
|
||||||
network:
|
network:
|
||||||
interface:
|
interface:
|
||||||
tunnel: docker0
|
tunnel: docker0
|
||||||
@ -1081,6 +1198,21 @@ data:
|
|||||||
job:
|
job:
|
||||||
node_selector_key: openstack-control-plane
|
node_selector_key: openstack-control-plane
|
||||||
node_selector_value: enabled
|
node_selector_value: enabled
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_api: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_cfn: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_cloudwatch: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_db_sync: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_engine: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_engine_cleaner: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
heat_purge_deleted: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
conf:
|
conf:
|
||||||
policy:
|
policy:
|
||||||
stacks:global_index: rule:context_is_admin
|
stacks:global_index: rule:context_is_admin
|
||||||
@ -1131,6 +1263,20 @@ data:
|
|||||||
release_group: osh-openstack-aodh
|
release_group: osh-openstack-aodh
|
||||||
component: test
|
component: test
|
||||||
values:
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
aodh_api: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
aodh_alarms_cleaner: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
aodh_db_sync: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
aodh_evaluator: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
aodh_listener: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
aodh_notifier: docker.io/starlingx/stx-aodh:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
pod:
|
pod:
|
||||||
user:
|
user:
|
||||||
aodh:
|
aodh:
|
||||||
@ -1179,6 +1325,18 @@ data:
|
|||||||
release_group: osh-openstack-gnocchi
|
release_group: osh-openstack-gnocchi
|
||||||
component: test
|
component: test
|
||||||
values:
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
db_init: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
db_init_indexer: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
db_sync: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
gnocchi_api: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
gnocchi_metricd: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
gnocchi_resources_cleaner: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
gnocchi_statsd: docker.io/starlingx/stx-gnocchi:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
conf:
|
conf:
|
||||||
gnocchi:
|
gnocchi:
|
||||||
indexer:
|
indexer:
|
||||||
@ -1324,6 +1482,17 @@ data:
|
|||||||
anti:
|
anti:
|
||||||
type:
|
type:
|
||||||
default: requiredDuringSchedulingIgnoredDuringExecution
|
default: requiredDuringSchedulingIgnoredDuringExecution
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
panko_db_sync: docker.io/starlingx/stx-panko:master-centos-dev-latest
|
||||||
|
panko_api: docker.io/starlingx/stx-panko:master-centos-dev-latest
|
||||||
|
panko_events_cleaner: docker.io/starlingx/stx-panko:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
jobs:
|
jobs:
|
||||||
events_cleaner:
|
events_cleaner:
|
||||||
# hourly at the 10 minute mark
|
# hourly at the 10 minute mark
|
||||||
@ -1364,6 +1533,21 @@ data:
|
|||||||
release_group: osh-openstack-ceilometer
|
release_group: osh-openstack-ceilometer
|
||||||
component: test
|
component: test
|
||||||
values:
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
db_init_mongodb: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_db_sync: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_central: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_compute: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_ipmi: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_notification: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_collector: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
ceilometer_api: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
|
test: docker.io/starlingx/stx-ceilometer:master-centos-dev-latest
|
||||||
dependencies:
|
dependencies:
|
||||||
static:
|
static:
|
||||||
central:
|
central:
|
||||||
@ -1871,6 +2055,12 @@ data:
|
|||||||
labels:
|
labels:
|
||||||
release_group: osh-openstack-horizon
|
release_group: osh-openstack-horizon
|
||||||
values:
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-dev-latest
|
||||||
|
horizon: docker.io/starlingx/stx-horizon:master-centos-dev-latest
|
||||||
|
horizon_db_sync: docker.io/starlingx/stx-horizon:master-centos-dev-latest
|
||||||
network:
|
network:
|
||||||
node_port:
|
node_port:
|
||||||
enabled: 'true'
|
enabled: 'true'
|
||||||
|
@ -151,7 +151,7 @@ ephemeral_pools:
|
|||||||
#
|
#
|
||||||
images:
|
images:
|
||||||
tags:
|
tags:
|
||||||
rbd_provisioner: quay.io/external_storage/rbd-provisioner:latest
|
rbd_provisioner: quay.io/external_storage/rbd-provisioner:v2.1.1-k8s1.11
|
||||||
rbd_provisioner_storage_init: docker.io/port/ceph-config-helper:v1.10.3
|
rbd_provisioner_storage_init: docker.io/port/ceph-config-helper:v1.10.3
|
||||||
pull_policy: "IfNotPresent"
|
pull_policy: "IfNotPresent"
|
||||||
local_registry:
|
local_registry:
|
||||||
|
@ -37,5 +37,6 @@ python-magnumclient>=2.0.0 # Apache-2.0
|
|||||||
psutil
|
psutil
|
||||||
simplejson>=2.2.0 # MIT
|
simplejson>=2.2.0 # MIT
|
||||||
rpm
|
rpm
|
||||||
|
ruamel.yaml>=0.13.14 # MIT
|
||||||
docker # Apache-2.0
|
docker # Apache-2.0
|
||||||
kubernetes # Apache-2.0
|
kubernetes # Apache-2.0
|
||||||
|
@ -20,22 +20,22 @@ from sysinv.helm import helm
|
|||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
|
|
||||||
|
|
||||||
def create_app_overrides_action(path, app_name=None, repository=None, namespace=None):
|
def create_app_overrides_action(path, app_name=None, namespace=None):
|
||||||
dbapi = api.get_instance()
|
dbapi = api.get_instance()
|
||||||
operator = helm.HelmOperator(dbapi=dbapi, path=path, docker_repository=repository)
|
operator = helm.HelmOperator(dbapi=dbapi, path=path)
|
||||||
operator.generate_helm_application_overrides(app_name, namespace)
|
operator.generate_helm_application_overrides(app_name, namespace)
|
||||||
|
|
||||||
|
|
||||||
def create_armada_app_overrides_action(path, app_name=None, repository=None, namespace=None):
|
def create_armada_app_overrides_action(path, app_name=None, namespace=None):
|
||||||
dbapi = api.get_instance()
|
dbapi = api.get_instance()
|
||||||
operator = helm.HelmOperator(dbapi=dbapi, path=path, docker_repository=repository)
|
operator = helm.HelmOperator(dbapi=dbapi, path=path)
|
||||||
operator.generate_helm_application_overrides(app_name, namespace,
|
operator.generate_helm_application_overrides(app_name, namespace,
|
||||||
armada_format=True)
|
armada_format=True)
|
||||||
|
|
||||||
|
|
||||||
def create_chart_override_action(path, chart_name=None, repository=None, namespace=None):
|
def create_chart_override_action(path, chart_name=None, namespace=None):
|
||||||
dbapi = api.get_instance()
|
dbapi = api.get_instance()
|
||||||
operator = helm.HelmOperator(dbapi=dbapi, path=path, docker_repository=repository)
|
operator = helm.HelmOperator(dbapi=dbapi, path=path)
|
||||||
operator.generate_helm_chart_overrides(chart_name, namespace)
|
operator.generate_helm_chart_overrides(chart_name, namespace)
|
||||||
|
|
||||||
|
|
||||||
@ -44,21 +44,18 @@ def add_action_parsers(subparsers):
|
|||||||
parser.set_defaults(func=create_app_overrides_action)
|
parser.set_defaults(func=create_app_overrides_action)
|
||||||
parser.add_argument('path', nargs='?')
|
parser.add_argument('path', nargs='?')
|
||||||
parser.add_argument('app_name', nargs='?')
|
parser.add_argument('app_name', nargs='?')
|
||||||
parser.add_argument('repository', nargs='?')
|
|
||||||
parser.add_argument('namespace', nargs='?')
|
parser.add_argument('namespace', nargs='?')
|
||||||
|
|
||||||
parser = subparsers.add_parser('create-armada-app-overrides')
|
parser = subparsers.add_parser('create-armada-app-overrides')
|
||||||
parser.set_defaults(func=create_armada_app_overrides_action)
|
parser.set_defaults(func=create_armada_app_overrides_action)
|
||||||
parser.add_argument('path', nargs='?')
|
parser.add_argument('path', nargs='?')
|
||||||
parser.add_argument('app_name', nargs='?')
|
parser.add_argument('app_name', nargs='?')
|
||||||
parser.add_argument('repository', nargs='?')
|
|
||||||
parser.add_argument('namespace', nargs='?')
|
parser.add_argument('namespace', nargs='?')
|
||||||
|
|
||||||
parser = subparsers.add_parser('create-chart-overrides')
|
parser = subparsers.add_parser('create-chart-overrides')
|
||||||
parser.set_defaults(func=create_chart_override_action)
|
parser.set_defaults(func=create_chart_override_action)
|
||||||
parser.add_argument('path', nargs='?')
|
parser.add_argument('path', nargs='?')
|
||||||
parser.add_argument('chart_name', nargs='?')
|
parser.add_argument('chart_name', nargs='?')
|
||||||
parser.add_argument('repository', nargs='?')
|
|
||||||
parser.add_argument('namespace', nargs='?')
|
parser.add_argument('namespace', nargs='?')
|
||||||
|
|
||||||
|
|
||||||
@ -75,18 +72,15 @@ def main():
|
|||||||
|
|
||||||
CONF.action.func(CONF.action.path,
|
CONF.action.func(CONF.action.path,
|
||||||
CONF.action.app_name,
|
CONF.action.app_name,
|
||||||
CONF.action.repository,
|
|
||||||
CONF.action.namespace)
|
CONF.action.namespace)
|
||||||
elif CONF.action.name == 'create-armada-app-overrides':
|
elif CONF.action.name == 'create-armada-app-overrides':
|
||||||
CONF.action.func(CONF.action.path,
|
CONF.action.func(CONF.action.path,
|
||||||
CONF.action.app_name,
|
CONF.action.app_name,
|
||||||
CONF.action.repository,
|
|
||||||
CONF.action.namespace)
|
CONF.action.namespace)
|
||||||
elif CONF.action.name == 'create-chart-overrides':
|
elif CONF.action.name == 'create-chart-overrides':
|
||||||
try:
|
try:
|
||||||
CONF.action.func(CONF.action.path,
|
CONF.action.func(CONF.action.path,
|
||||||
CONF.action.chart_name,
|
CONF.action.chart_name,
|
||||||
CONF.action.repository,
|
|
||||||
CONF.action.namespace)
|
CONF.action.namespace)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
@ -16,11 +16,11 @@ import keyring
|
|||||||
import os
|
import os
|
||||||
import pwd
|
import pwd
|
||||||
import re
|
import re
|
||||||
|
import ruamel.yaml as yaml
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import yaml
|
|
||||||
|
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from eventlet import greenpool
|
from eventlet import greenpool
|
||||||
@ -62,6 +62,7 @@ TARFILE_TRANSFER_CHUNK_SIZE = 1024 * 512
|
|||||||
DOCKER_REGISTRY_USER = 'admin'
|
DOCKER_REGISTRY_USER = 'admin'
|
||||||
DOCKER_REGISTRY_SERVICE = 'CGCS'
|
DOCKER_REGISTRY_SERVICE = 'CGCS'
|
||||||
DOCKER_REGISTRY_SECRET = 'default-registry-key'
|
DOCKER_REGISTRY_SECRET = 'default-registry-key'
|
||||||
|
DOCKER_REGISTRY_PORT = '9001'
|
||||||
|
|
||||||
|
|
||||||
# Helper functions
|
# Helper functions
|
||||||
@ -311,17 +312,18 @@ class AppOperator(object):
|
|||||||
for r, f in cutils.get_files_matching(path, 'values.yaml'):
|
for r, f in cutils.get_files_matching(path, 'values.yaml'):
|
||||||
with open(os.path.join(r, f), 'r') as value_f:
|
with open(os.path.join(r, f), 'r') as value_f:
|
||||||
try:
|
try:
|
||||||
y = yaml.load(value_f)
|
y = yaml.safe_load(value_f)
|
||||||
ids = y["images"]["tags"].values()
|
ids = y["images"]["tags"].values()
|
||||||
except (TypeError, KeyError):
|
except (TypeError, KeyError):
|
||||||
pass
|
pass
|
||||||
image_tags.extend(ids)
|
image_tags.extend(ids)
|
||||||
return list(set(image_tags))
|
return list(set(image_tags))
|
||||||
|
|
||||||
def _get_image_tags_by_charts(self, app_images_file, charts):
|
def _get_image_tags_by_charts(self, app_images_file, app_manifest_file):
|
||||||
""" Mine the image tags for charts from the images file. Add the
|
""" Mine the image tags for charts from the images file. Add the
|
||||||
converted image tags to the overrides if the image tags from
|
image tags to the manifest file if the image tags from the charts
|
||||||
the charts do not exist. Intended for system app.
|
do not exist in both overrides file and manifest file. Convert
|
||||||
|
the image tags in the manifest file. Intended for system app.
|
||||||
|
|
||||||
The image tagging conversion(local docker registry address prepended):
|
The image tagging conversion(local docker registry address prepended):
|
||||||
${LOCAL_DOCKER_REGISTRY_IP}:${REGISTRY_PORT}/<image-name>
|
${LOCAL_DOCKER_REGISTRY_IP}:${REGISTRY_PORT}/<image-name>
|
||||||
@ -329,64 +331,102 @@ class AppOperator(object):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
local_registry_server = self._docker.get_local_docker_registry_server()
|
local_registry_server = self._docker.get_local_docker_registry_server()
|
||||||
|
manifest_image_tags_updated = False
|
||||||
image_tags = []
|
image_tags = []
|
||||||
|
|
||||||
|
if os.path.exists(app_images_file):
|
||||||
|
with open(app_images_file, 'r') as f:
|
||||||
|
images_file = yaml.safe_load(f)
|
||||||
|
|
||||||
|
if os.path.exists(app_manifest_file):
|
||||||
|
with open(app_manifest_file, 'r') as f:
|
||||||
|
charts = list(yaml.load_all(f, Loader=yaml.RoundTripLoader))
|
||||||
|
|
||||||
for chart in charts:
|
for chart in charts:
|
||||||
images_charts = {}
|
images_charts = {}
|
||||||
images_overrides = {}
|
images_overrides = {}
|
||||||
overrides = chart.namespace + '-' + chart.name + '.yaml'
|
images_manifest = {}
|
||||||
overrides_file = os.path.join(common.HELM_OVERRIDES_PATH,
|
|
||||||
overrides)
|
|
||||||
|
|
||||||
# Get the image tags by chart from the images file
|
overrides_image_tags_updated = False
|
||||||
if os.path.exists(app_images_file):
|
chart_image_tags_updated = False
|
||||||
with open(app_images_file, 'r') as f:
|
|
||||||
|
if "armada/Chart/" in chart['schema']:
|
||||||
|
chart_data = chart['data']
|
||||||
|
chart_name = chart_data['chart_name']
|
||||||
|
chart_namespace = chart_data['namespace']
|
||||||
|
|
||||||
|
# Get the image tags by chart from the images file
|
||||||
|
if chart_name in images_file:
|
||||||
|
images_charts = images_file[chart_name]
|
||||||
|
|
||||||
|
# Get the image tags from the overrides file
|
||||||
|
overrides = chart_namespace + '-' + chart_name + '.yaml'
|
||||||
|
app_overrides_file = os.path.join(common.HELM_OVERRIDES_PATH, overrides)
|
||||||
|
if os.path.exists(app_overrides_file):
|
||||||
try:
|
try:
|
||||||
doc = yaml.load(f)
|
with open(app_overrides_file, 'r') as f:
|
||||||
images_charts = doc[chart.name]
|
overrides_file = yaml.safe_load(f)
|
||||||
|
images_overrides = overrides_file['data']['values']['images']['tags']
|
||||||
except (TypeError, KeyError):
|
except (TypeError, KeyError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Get the image tags from the overrides file
|
# Get the image tags from the armada manifest file
|
||||||
if os.path.exists(overrides_file):
|
try:
|
||||||
with open(overrides_file, 'r') as f:
|
images_manifest = chart_data['values']['images']['tags']
|
||||||
try:
|
except (TypeError, KeyError):
|
||||||
y = yaml.load(f)
|
LOG.info("Armada manifest file has no img tags for "
|
||||||
images_overrides = y["data"]["values"]["images"]["tags"]
|
"chart %s" % chart_name)
|
||||||
except (TypeError, KeyError):
|
pass
|
||||||
LOG.info("Overrides file %s has no img tags" %
|
|
||||||
overrides_file)
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Add the converted image tags to the overrides if the images from
|
# For the image tags from the chart path which do not exist
|
||||||
# the chart path do not exist in the overrides
|
# in the overrides and manifest file, add to manifest file.
|
||||||
tags_updated = False
|
# Convert the image tags in the overrides and manifest file
|
||||||
for key, image_tag in images_charts.items():
|
# with local docker registry address.
|
||||||
if (key not in images_overrides and
|
# Append the required images to the image_tags list.
|
||||||
not image_tag.startswith(local_registry_server)):
|
for key in images_charts:
|
||||||
images_overrides.update(
|
if key not in images_overrides:
|
||||||
{key: '{}/{}'.format(local_registry_server, image_tag)})
|
if key not in images_manifest:
|
||||||
tags_updated = True
|
images_manifest.update({key: images_charts[key]})
|
||||||
|
if not re.match(r'^.+:.+/', images_manifest[key]):
|
||||||
|
images_manifest.update(
|
||||||
|
{key: '{}/{}'.format(local_registry_server, images_manifest[key])})
|
||||||
|
chart_image_tags_updated = True
|
||||||
|
image_tags.append(images_manifest[key])
|
||||||
|
else:
|
||||||
|
if not re.match(r'^.+:.+/', images_overrides[key]):
|
||||||
|
images_overrides.update(
|
||||||
|
{key: '{}/{}'.format(local_registry_server, images_overrides[key])})
|
||||||
|
overrides_image_tags_updated = True
|
||||||
|
image_tags.append(images_overrides[key])
|
||||||
|
|
||||||
if tags_updated:
|
if overrides_image_tags_updated:
|
||||||
with open(overrides_file, 'w') as f:
|
with open(app_overrides_file, 'w') as f:
|
||||||
try:
|
try:
|
||||||
if "images" not in y["data"]["values"]:
|
overrides_file["data"]["values"]["images"] = {"tags": images_overrides}
|
||||||
f.seek(0)
|
yaml.safe_dump(overrides_file, f, default_flow_style=False)
|
||||||
f.truncate()
|
LOG.info("Overrides file %s updated with new image tags" %
|
||||||
y["data"]["values"]["images"] = {"tags": images_overrides}
|
app_overrides_file)
|
||||||
else:
|
except (TypeError, KeyError):
|
||||||
y["data"]["values"]["images"]["tags"] = images_overrides
|
LOG.error("Overrides file %s fails to update" %
|
||||||
|
app_overrides_file)
|
||||||
|
|
||||||
yaml.safe_dump(y, f, explicit_start=True,
|
if chart_image_tags_updated:
|
||||||
default_flow_style=False)
|
if 'values' in chart_data:
|
||||||
LOG.info("Overrides file %s updated with new image tags" %
|
chart_data['values']['images'] = {'tags': images_manifest}
|
||||||
overrides_file)
|
else:
|
||||||
except (TypeError, KeyError):
|
chart_data["values"] = {"images": {"tags": images_manifest}}
|
||||||
LOG.error("Overrides file %s fails to update" %
|
manifest_image_tags_updated = True
|
||||||
overrides_file)
|
|
||||||
|
|
||||||
if images_overrides:
|
if manifest_image_tags_updated:
|
||||||
image_tags.extend(images_overrides.values())
|
with open(app_manifest_file, 'w') as f:
|
||||||
|
try:
|
||||||
|
yaml.dump_all(charts, f, Dumper=yaml.RoundTripDumper,
|
||||||
|
explicit_start=True, default_flow_style=False)
|
||||||
|
LOG.info("Manifest file %s updated with new image tags" %
|
||||||
|
app_manifest_file)
|
||||||
|
except Exception as e:
|
||||||
|
LOG.error("Manifest file %s fails to update with "
|
||||||
|
"new image tags: %s" % (app_manifest_file, e))
|
||||||
|
|
||||||
return list(set(image_tags))
|
return list(set(image_tags))
|
||||||
|
|
||||||
@ -418,7 +458,7 @@ class AppOperator(object):
|
|||||||
self._save_images_list_by_charts(app)
|
self._save_images_list_by_charts(app)
|
||||||
# Get the list of images from the updated images overrides
|
# Get the list of images from the updated images overrides
|
||||||
images_to_download = self._get_image_tags_by_charts(
|
images_to_download = self._get_image_tags_by_charts(
|
||||||
app.imgfile_abs, app.charts)
|
app.imgfile_abs, app.armada_mfile_abs)
|
||||||
else:
|
else:
|
||||||
# For custom apps, mine image tags from application path
|
# For custom apps, mine image tags from application path
|
||||||
images_to_download = self._get_image_tags_by_path(app.path)
|
images_to_download = self._get_image_tags_by_path(app.path)
|
||||||
@ -447,7 +487,7 @@ class AppOperator(object):
|
|||||||
if os.path.exists(chart_path):
|
if os.path.exists(chart_path):
|
||||||
with open(chart_path, 'r') as f:
|
with open(chart_path, 'r') as f:
|
||||||
try:
|
try:
|
||||||
y = yaml.load(f)
|
y = yaml.safe_load(f)
|
||||||
images = y["images"]["tags"]
|
images = y["images"]["tags"]
|
||||||
except (TypeError, KeyError):
|
except (TypeError, KeyError):
|
||||||
LOG.warn("Chart %s has no image tags" % chart_name)
|
LOG.warn("Chart %s has no image tags" % chart_name)
|
||||||
@ -460,7 +500,7 @@ class AppOperator(object):
|
|||||||
|
|
||||||
def _retrieve_images_list(self, app_images_file):
|
def _retrieve_images_list(self, app_images_file):
|
||||||
with open(app_images_file, 'rb') as f:
|
with open(app_images_file, 'rb') as f:
|
||||||
images_list = yaml.load(f)
|
images_list = yaml.safe_load(f)
|
||||||
return images_list
|
return images_list
|
||||||
|
|
||||||
def _download_images(self, app):
|
def _download_images(self, app):
|
||||||
@ -473,7 +513,8 @@ class AppOperator(object):
|
|||||||
# saved images list.
|
# saved images list.
|
||||||
saved_images_list = self._retrieve_images_list(app.imgfile_abs)
|
saved_images_list = self._retrieve_images_list(app.imgfile_abs)
|
||||||
saved_download_images_list = list(saved_images_list.get("download_images"))
|
saved_download_images_list = list(saved_images_list.get("download_images"))
|
||||||
images_to_download = self._get_image_tags_by_charts(app.imgfile_abs, app.charts)
|
images_to_download = self._get_image_tags_by_charts(
|
||||||
|
app.imgfile_abs, app.armada_mfile_abs)
|
||||||
if set(saved_download_images_list) != set(images_to_download):
|
if set(saved_download_images_list) != set(images_to_download):
|
||||||
saved_images_list.update({"download_images": images_to_download})
|
saved_images_list.update({"download_images": images_to_download})
|
||||||
with open(app.imgfile_abs, 'wb') as f:
|
with open(app.imgfile_abs, 'wb') as f:
|
||||||
@ -621,7 +662,7 @@ class AppOperator(object):
|
|||||||
if os.path.exists(lfile) and os.path.getsize(lfile) > 0:
|
if os.path.exists(lfile) and os.path.getsize(lfile) > 0:
|
||||||
with open(lfile, 'r') as f:
|
with open(lfile, 'r') as f:
|
||||||
try:
|
try:
|
||||||
y = yaml.load(f)
|
y = yaml.safe_load(f)
|
||||||
labels = y['labels']
|
labels = y['labels']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise exception.KubeAppUploadFailure(
|
raise exception.KubeAppUploadFailure(
|
||||||
@ -795,7 +836,7 @@ class AppOperator(object):
|
|||||||
def _get_list_of_charts(self, manifest_file):
|
def _get_list_of_charts(self, manifest_file):
|
||||||
charts = []
|
charts = []
|
||||||
with open(manifest_file, 'r') as f:
|
with open(manifest_file, 'r') as f:
|
||||||
docs = yaml.load_all(f)
|
docs = yaml.safe_load_all(f)
|
||||||
for doc in docs:
|
for doc in docs:
|
||||||
try:
|
try:
|
||||||
if "armada/Chart/" in doc['schema']:
|
if "armada/Chart/" in doc['schema']:
|
||||||
@ -1363,7 +1404,7 @@ class DockerHelper(object):
|
|||||||
cutils.format_address_name(constants.CONTROLLER_HOSTNAME,
|
cutils.format_address_name(constants.CONTROLLER_HOSTNAME,
|
||||||
constants.NETWORK_TYPE_MGMT)
|
constants.NETWORK_TYPE_MGMT)
|
||||||
).address
|
).address
|
||||||
registry_server = '{}:{}'.format(registry_ip, common.REGISTRY_PORT)
|
registry_server = '{}:{}'.format(registry_ip, DOCKER_REGISTRY_PORT)
|
||||||
return registry_server
|
return registry_server
|
||||||
|
|
||||||
def _get_img_tag_with_registry(self, pub_img_tag):
|
def _get_img_tag_with_registry(self, pub_img_tag):
|
||||||
|
@ -25,7 +25,6 @@ class AodhHelm(openstack.OpenstackBaseHelm):
|
|||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'conf': self._get_conf_overrides(),
|
'conf': self._get_conf_overrides(),
|
||||||
'endpoints': self._get_endpoints_overrides()
|
'endpoints': self._get_endpoints_overrides()
|
||||||
}
|
}
|
||||||
@ -50,26 +49,6 @@ class AodhHelm(openstack.OpenstackBaseHelm):
|
|||||||
}
|
}
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': self.docker_image,
|
|
||||||
'aodh_api': self.docker_image,
|
|
||||||
'aodh_alarms_cleaner': self.docker_image,
|
|
||||||
'aodh_db_sync': self.docker_image,
|
|
||||||
'aodh_evaluator': self.docker_image,
|
|
||||||
'aodh_listener': self.docker_image,
|
|
||||||
'aodh_notifier': self.docker_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_conf_overrides(self):
|
def _get_conf_overrides(self):
|
||||||
return {
|
return {
|
||||||
'aodh': {
|
'aodh': {
|
||||||
|
@ -26,7 +26,6 @@ class BarbicanHelm(openstack.OpenstackBaseHelm):
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'images': self._get_images_overrides()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,20 +60,3 @@ class BarbicanHelm(openstack.OpenstackBaseHelm):
|
|||||||
self.SERVICE_NAME, self.AUTH_USERS)
|
self.SERVICE_NAME, self.AUTH_USERS)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'barbican_api': self.docker_image,
|
|
||||||
'barbican_db_sync': self.docker_image,
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
'scripted_test': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -40,27 +40,6 @@ class BaseHelm(object):
|
|||||||
def context(self):
|
def context(self):
|
||||||
return self._operator.context
|
return self._operator.context
|
||||||
|
|
||||||
@property
|
|
||||||
def docker_repo_source(self):
|
|
||||||
return common.DOCKER_SRC_LOC
|
|
||||||
|
|
||||||
@property
|
|
||||||
def docker_repo_tag(self):
|
|
||||||
return common.DOCKER_SRCS[self.docker_repo_source][common.IMG_TAG_KEY]
|
|
||||||
|
|
||||||
@property
|
|
||||||
def docker_image(self):
|
|
||||||
if self.docker_repo_source == common.DOCKER_SRC_LOC:
|
|
||||||
return "{}:{}/{}/{}{}:{}".format(
|
|
||||||
self._get_management_address(), common.REGISTRY_PORT, common.REPO_LOC,
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
self.SERVICE_NAME, self.docker_repo_tag)
|
|
||||||
else:
|
|
||||||
return "{}/{}{}:{}".format(
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_BASE_KEY],
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
self.SERVICE_NAME, self.docker_repo_tag)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def quoted_str(value):
|
def quoted_str(value):
|
||||||
return quoted_str(value)
|
return quoted_str(value)
|
||||||
|
@ -25,7 +25,6 @@ class CeilometerHelm(openstack.OpenstackBaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'conf': self._get_conf_overrides(),
|
'conf': self._get_conf_overrides(),
|
||||||
'manifests': self._get_manifests_overrides(),
|
'manifests': self._get_manifests_overrides(),
|
||||||
@ -41,27 +40,6 @@ class CeilometerHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'db_init': self.docker_image,
|
|
||||||
'db_init_mongodb': self.docker_image,
|
|
||||||
'ceilometer_db_sync': self.docker_image,
|
|
||||||
'ceilometer_central': self.docker_image,
|
|
||||||
'ceilometer_compute': self.docker_image,
|
|
||||||
'ceilometer_ipmi': self.docker_image,
|
|
||||||
'ceilometer_notification': self.docker_image,
|
|
||||||
'ceilometer_collector': self.docker_image,
|
|
||||||
'ceilometer_api': self.docker_image,
|
|
||||||
'test': self.docker_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_pod_overrides(self):
|
def _get_pod_overrides(self):
|
||||||
return {
|
return {
|
||||||
'replicas': {
|
'replicas': {
|
||||||
|
@ -24,14 +24,6 @@ class CephPoolsAuditHelm(base.BaseHelm):
|
|||||||
|
|
||||||
SERVICE_NAME = 'ceph-pools'
|
SERVICE_NAME = 'ceph-pools'
|
||||||
|
|
||||||
@property
|
|
||||||
def docker_repo_source(self):
|
|
||||||
return common.DOCKER_SRC_STX
|
|
||||||
|
|
||||||
@property
|
|
||||||
def docker_repo_tag(self):
|
|
||||||
return common.DOCKER_SRCS[self.docker_repo_source][common.IMG_TAG_KEY]
|
|
||||||
|
|
||||||
def get_namespaces(self):
|
def get_namespaces(self):
|
||||||
return self.SUPPORTED_NAMESPACES
|
return self.SUPPORTED_NAMESPACES
|
||||||
|
|
||||||
|
@ -35,7 +35,6 @@ class CinderHelm(openstack.OpenstackBaseHelm):
|
|||||||
'backup': self._num_controllers()
|
'backup': self._num_controllers()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'conf': {
|
'conf': {
|
||||||
'cinder': self._get_conf_cinder_overrides(),
|
'cinder': self._get_conf_cinder_overrides(),
|
||||||
'ceph': self._get_conf_ceph_overrides(),
|
'ceph': self._get_conf_ceph_overrides(),
|
||||||
@ -181,36 +180,6 @@ class CinderHelm(openstack.OpenstackBaseHelm):
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
|
|
||||||
# TODO: Remove after ceph upgrade
|
|
||||||
# Format the name of the stx specific ceph config helper
|
|
||||||
ceph_config_helper_image = "{}:{}/{}/{}{}:{}".format(
|
|
||||||
self._get_management_address(), common.REGISTRY_PORT, common.REPO_LOC,
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
'ceph-config-helper', self.docker_repo_tag)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'cinder_api': self.docker_image,
|
|
||||||
'cinder_backup': self.docker_image,
|
|
||||||
'cinder_backup_storage_init': ceph_config_helper_image,
|
|
||||||
'cinder_db_sync': self.docker_image,
|
|
||||||
'cinder_scheduler': self.docker_image,
|
|
||||||
'cinder_storage_init': ceph_config_helper_image,
|
|
||||||
'cinder_volume': self.docker_image,
|
|
||||||
'cinder_volume_usage_audit': self.docker_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_primary_ceph_backend(self):
|
def _get_primary_ceph_backend(self):
|
||||||
try:
|
try:
|
||||||
backend = self.dbapi.storage_backend_get_by_name(
|
backend = self.dbapi.storage_backend_get_by_name(
|
||||||
|
@ -47,51 +47,3 @@ LABEL_REMOTE_STORAGE = 'remote-storage'
|
|||||||
# Label values
|
# Label values
|
||||||
LABEL_VALUE_ENABLED = 'enabled'
|
LABEL_VALUE_ENABLED = 'enabled'
|
||||||
LABEL_VALUE_DISABLED = 'disabled'
|
LABEL_VALUE_DISABLED = 'disabled'
|
||||||
|
|
||||||
# Image Tagging
|
|
||||||
DOCKER_SRC_OSH = 'openstackhelm'
|
|
||||||
DOCKER_SRC_STX = 'starlingx'
|
|
||||||
DOCKER_SRC_LOC = 'controller'
|
|
||||||
|
|
||||||
# TODO (rchurch): These values and settings are currently provided for early
|
|
||||||
# integration scenarios. As we formalize delivery mechanisms, these will need to
|
|
||||||
# be adjusted accordingly.
|
|
||||||
REGISTRY_PORT = '9001'
|
|
||||||
REGISTRY_OSH = 'docker.io'
|
|
||||||
REGISTRY_STX = '128.224.186.231:%s' % REGISTRY_PORT
|
|
||||||
REGISTRY_LOC = '192.168.204.2:%s' % REGISTRY_PORT
|
|
||||||
|
|
||||||
REPO_OSH = 'openstackhelm'
|
|
||||||
REPO_STX = 'abailey'
|
|
||||||
REPO_LOC = 'starlingx'
|
|
||||||
|
|
||||||
IMG_PREFIX_KEY = 'prefix'
|
|
||||||
IMG_BASE_KEY = 'base'
|
|
||||||
IMG_TAG_KEY = 'tag'
|
|
||||||
|
|
||||||
IMG_PREFIX_OSH = ''
|
|
||||||
IMG_PREFIX_STX = 'stx-'
|
|
||||||
IMG_PREFIX_LOC = 'stx-'
|
|
||||||
|
|
||||||
TAGS_PIKE = 'pike'
|
|
||||||
TAGS_LATEST = 'latest'
|
|
||||||
TAGS_STX_LATEST = 'master-centos-dev-latest'
|
|
||||||
|
|
||||||
DOCKER_SRCS = {
|
|
||||||
DOCKER_SRC_OSH: {
|
|
||||||
IMG_BASE_KEY: '{}/{}'.format(REGISTRY_OSH, REPO_OSH),
|
|
||||||
IMG_PREFIX_KEY: IMG_PREFIX_OSH,
|
|
||||||
IMG_TAG_KEY: TAGS_PIKE
|
|
||||||
|
|
||||||
},
|
|
||||||
DOCKER_SRC_STX: {
|
|
||||||
IMG_BASE_KEY: '{}/{}'.format(REGISTRY_STX, REPO_STX),
|
|
||||||
IMG_PREFIX_KEY: IMG_PREFIX_STX,
|
|
||||||
IMG_TAG_KEY: TAGS_STX_LATEST
|
|
||||||
},
|
|
||||||
DOCKER_SRC_LOC: {
|
|
||||||
IMG_BASE_KEY: '{}/{}'.format(REGISTRY_LOC, REPO_LOC),
|
|
||||||
IMG_PREFIX_KEY: IMG_PREFIX_LOC,
|
|
||||||
IMG_TAG_KEY: TAGS_STX_LATEST
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -66,7 +66,6 @@ class GarbdHelm(base.BaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,11 +76,3 @@ class GarbdHelm(base.BaseHelm):
|
|||||||
namespace=namespace)
|
namespace=namespace)
|
||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'garbd': self.docker_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -35,7 +35,6 @@ class GlanceHelm(openstack.OpenstackBaseHelm):
|
|||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'storage': self._get_storage_overrides(),
|
'storage': self._get_storage_overrides(),
|
||||||
'conf': self._get_conf_overrides(),
|
'conf': self._get_conf_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'bootstrap': self._get_bootstrap_overrides()
|
'bootstrap': self._get_bootstrap_overrides()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,30 +47,6 @@ class GlanceHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
ceph_config_helper_image = "{}:{}/{}/{}{}:{}".format(
|
|
||||||
self._get_management_address(), common.REGISTRY_PORT,
|
|
||||||
common.REPO_LOC,
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
'ceph-config-helper', self.docker_repo_tag)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'glance_storage_init': ceph_config_helper_image,
|
|
||||||
'glance_api': self.docker_image,
|
|
||||||
'glance_db_sync': self.docker_image,
|
|
||||||
'glance_registry': self.docker_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_pod_overrides(self):
|
def _get_pod_overrides(self):
|
||||||
replicas_count = 1
|
replicas_count = 1
|
||||||
ceph_backend = self._get_primary_ceph_backend()
|
ceph_backend = self._get_primary_ceph_backend()
|
||||||
|
@ -24,7 +24,6 @@ class GnocchiHelm(openstack.OpenstackBaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
}
|
}
|
||||||
@ -38,24 +37,6 @@ class GnocchiHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'db_init': self.docker_image,
|
|
||||||
'db_init_indexer': self.docker_image,
|
|
||||||
'db_sync': self.docker_image,
|
|
||||||
'gnocchi_api': self.docker_image,
|
|
||||||
'gnocchi_metricd': self.docker_image,
|
|
||||||
'gnocchi_resources_cleaner': self.docker_image,
|
|
||||||
'gnocchi_statsd': self.docker_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_pod_overrides(self):
|
def _get_pod_overrides(self):
|
||||||
return {
|
return {
|
||||||
'replicas': {
|
'replicas': {
|
||||||
|
@ -26,7 +26,6 @@ class HeatHelm(openstack.OpenstackBaseHelm):
|
|||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,25 +37,6 @@ class HeatHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': self.docker_image,
|
|
||||||
'db_drop': self.docker_image,
|
|
||||||
'db_init': self.docker_image,
|
|
||||||
'heat_api': self.docker_image,
|
|
||||||
'heat_cfn': self.docker_image,
|
|
||||||
'heat_cloudwatch': self.docker_image,
|
|
||||||
'heat_db_sync': self.docker_image,
|
|
||||||
'heat_engine': self.docker_image,
|
|
||||||
'heat_engine_cleaner': self.docker_image,
|
|
||||||
'heat_purge_deleted': self.docker_image,
|
|
||||||
'ks_endpoints': self.docker_image,
|
|
||||||
'ks_service': self.docker_image,
|
|
||||||
'ks_user': self.docker_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_pod_overrides(self):
|
def _get_pod_overrides(self):
|
||||||
return {
|
return {
|
||||||
'replicas': {
|
'replicas': {
|
||||||
|
@ -44,26 +44,12 @@ def helm_context(func):
|
|||||||
class HelmOperator(object):
|
class HelmOperator(object):
|
||||||
"""Class to encapsulate helm override operations for System Inventory"""
|
"""Class to encapsulate helm override operations for System Inventory"""
|
||||||
|
|
||||||
def __init__(self, dbapi=None, path=None, docker_repository=None):
|
def __init__(self, dbapi=None, path=None):
|
||||||
if path is None:
|
if path is None:
|
||||||
path = common.HELM_OVERRIDES_PATH
|
path = common.HELM_OVERRIDES_PATH
|
||||||
|
|
||||||
# Set the primary source of docker images
|
|
||||||
if docker_repository is None:
|
|
||||||
# During initial development, use upstream OSH images by default and
|
|
||||||
# switch to the STX repo when the images are validated and ready for
|
|
||||||
# use.
|
|
||||||
docker_repository = common.DOCKER_SRC_OSH
|
|
||||||
else:
|
|
||||||
valid_docker_repositories = common.DOCKER_SRCS.keys()
|
|
||||||
if docker_repository not in valid_docker_repositories:
|
|
||||||
raise exception.InvalidHelmDockerImageSource(
|
|
||||||
source=docker_repository,
|
|
||||||
valid_srcs=valid_docker_repositories)
|
|
||||||
|
|
||||||
self.dbapi = dbapi
|
self.dbapi = dbapi
|
||||||
self.path = path
|
self.path = path
|
||||||
self.docker_repo_source = docker_repository
|
|
||||||
|
|
||||||
# register chart operators for lookup
|
# register chart operators for lookup
|
||||||
self.chart_operators = {}
|
self.chart_operators = {}
|
||||||
|
@ -23,7 +23,6 @@ class HorizonHelm(openstack.OpenstackBaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'conf': {
|
'conf': {
|
||||||
'horizon': {
|
'horizon': {
|
||||||
'local_settings': {
|
'local_settings': {
|
||||||
@ -63,18 +62,6 @@ class HorizonHelm(openstack.OpenstackBaseHelm):
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'horizon': self.docker_image,
|
|
||||||
'horizon_db_sync': self.docker_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_local_settings_config_overrides(self):
|
def _get_local_settings_config_overrides(self):
|
||||||
local_settings_config = {
|
local_settings_config = {
|
||||||
'horizon_secret_key': self._get_or_generate_password(
|
'horizon_secret_key': self._get_or_generate_password(
|
||||||
|
@ -21,7 +21,6 @@ class IronicHelm(openstack.OpenstackBaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,24 +31,3 @@ class IronicHelm(openstack.OpenstackBaseHelm):
|
|||||||
namespace=namespace)
|
namespace=namespace)
|
||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'ironic_api': self.docker_image,
|
|
||||||
'ironic_conductor': self.docker_image,
|
|
||||||
'ironic_db_sync': self.docker_image,
|
|
||||||
'ironic_manage_cleaning_network': heat_image,
|
|
||||||
'ironic_pxe': self.docker_image,
|
|
||||||
'ironic_pxe_init': self.docker_image,
|
|
||||||
'ironic_retrive_cleaning_network': heat_image,
|
|
||||||
'ironic_retrive_swift_config': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -35,7 +35,6 @@ class KeystoneHelm(openstack.OpenstackBaseHelm):
|
|||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'conf': self._get_conf_overrides(),
|
'conf': self._get_conf_overrides(),
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,29 +59,8 @@ class KeystoneHelm(openstack.OpenstackBaseHelm):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if self.docker_repo_source != common.DOCKER_SRC_OSH:
|
|
||||||
overrides.update({'user': {'keystone': {'uid': 0}}})
|
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'keystone_api': self.docker_image,
|
|
||||||
'keystone_credential_rotate': self.docker_image,
|
|
||||||
'keystone_credential_setup': self.docker_image,
|
|
||||||
'keystone_db_sync': self.docker_image,
|
|
||||||
'keystone_domain_manage': self.docker_image,
|
|
||||||
'keystone_fernet_rotate': self.docker_image,
|
|
||||||
'keystone_fernet_setup': self.docker_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_conf_keystone_default_overrides(self):
|
def _get_conf_keystone_default_overrides(self):
|
||||||
return {
|
return {
|
||||||
'max_token_size': 255, # static controller.yaml => chart default
|
'max_token_size': 255, # static controller.yaml => chart default
|
||||||
|
@ -41,8 +41,6 @@ class LibvirtHelm(openstack.OpenstackBaseHelm):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self._get_images_overrides(overrides[common.HELM_NS_OPENSTACK])
|
|
||||||
|
|
||||||
if namespace in self.SUPPORTED_NAMESPACES:
|
if namespace in self.SUPPORTED_NAMESPACES:
|
||||||
return overrides[namespace]
|
return overrides[namespace]
|
||||||
elif namespace:
|
elif namespace:
|
||||||
@ -50,13 +48,3 @@ class LibvirtHelm(openstack.OpenstackBaseHelm):
|
|||||||
namespace=namespace)
|
namespace=namespace)
|
||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self, overrides_dict):
|
|
||||||
if self.docker_repo_source != common.DOCKER_SRC_OSH:
|
|
||||||
overrides_dict.update({
|
|
||||||
'images': {
|
|
||||||
'tags': {
|
|
||||||
'libvirt': self.docker_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
@ -21,7 +21,6 @@ class MagnumHelm(openstack.OpenstackBaseHelm):
|
|||||||
def get_overrides(self, namespace=None):
|
def get_overrides(self, namespace=None):
|
||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'pod': {
|
'pod': {
|
||||||
'replicas': {
|
'replicas': {
|
||||||
'api': self._num_controllers(),
|
'api': self._num_controllers(),
|
||||||
@ -38,20 +37,3 @@ class MagnumHelm(openstack.OpenstackBaseHelm):
|
|||||||
namespace=namespace)
|
namespace=namespace)
|
||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
'magnum_api': self.docker_image,
|
|
||||||
'magnum_conductor': self.docker_image,
|
|
||||||
'magnum_db_sync': self.docker_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -36,7 +36,6 @@ class MariadbHelm(openstack.OpenstackBaseHelm):
|
|||||||
'ingress': self._num_controllers()
|
'ingress': self._num_controllers()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -49,16 +48,6 @@ class MariadbHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'prometheus_mysql_exporter_helm_tests': heat_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
return {
|
return {
|
||||||
'oslo_db': {
|
'oslo_db': {
|
||||||
|
@ -65,7 +65,6 @@ class NeutronHelm(openstack.OpenstackBaseHelm):
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +239,7 @@ class NeutronHelm(openstack.OpenstackBaseHelm):
|
|||||||
# obtain the assigned bridge for interface
|
# obtain the assigned bridge for interface
|
||||||
brname = 'br-phy%d' % index
|
brname = 'br-phy%d' % index
|
||||||
port_name = self._get_interface_port_name(iface)
|
port_name = self._get_interface_port_name(iface)
|
||||||
bridges[brname] = port_name
|
bridges[brname] = port_name.encode('utf8', 'strict')
|
||||||
index += 1
|
index += 1
|
||||||
return bridges
|
return bridges
|
||||||
|
|
||||||
@ -384,32 +383,6 @@ class NeutronHelm(openstack.OpenstackBaseHelm):
|
|||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'neutron_db_sync': self.docker_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'neutron_server': self.docker_image,
|
|
||||||
'neutron_dhcp': self.docker_image,
|
|
||||||
'neutron_metadata': self.docker_image,
|
|
||||||
'neutron_l3': self.docker_image,
|
|
||||||
'neutron_openvswitch_agent': self.docker_image,
|
|
||||||
'neutron_linuxbridge_agent': self.docker_image,
|
|
||||||
# TODO (rchurch): Fix this... Suffix tied to a release???
|
|
||||||
# 'neutron_sriov_agent': '{}{}'.format(self.docker_image,'-sriov-1804'),
|
|
||||||
# 'neutron_sriov_agent_init': '{}{}'.format(self.docker_image,'-sriov-1804'),
|
|
||||||
'neutron_sriov_agent': self.docker_image,
|
|
||||||
'neutron_sriov_agent_init': self.docker_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
overrides = {
|
overrides = {
|
||||||
'identity': {
|
'identity': {
|
||||||
|
@ -97,7 +97,6 @@ class NovaHelm(openstack.OpenstackBaseHelm):
|
|||||||
'ssh_public': ssh_publickey,
|
'ssh_public': ssh_publickey,
|
||||||
},
|
},
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'network': {
|
'network': {
|
||||||
'sshd': {
|
'sshd': {
|
||||||
'from_subnet': self._get_ssh_subnet(),
|
'from_subnet': self._get_ssh_subnet(),
|
||||||
@ -114,44 +113,6 @@ class NovaHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
|
|
||||||
# TODO: Remove after ceph upgrade
|
|
||||||
# Format the name of the stx specific ceph config helper
|
|
||||||
ceph_config_helper_image = "{}:{}/{}/{}{}:{}".format(
|
|
||||||
self._get_management_address(), common.REGISTRY_PORT,
|
|
||||||
common.REPO_LOC,
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
'ceph-config-helper', self.docker_repo_tag)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'nova_api': self.docker_image,
|
|
||||||
'nova_cell_setup': self.docker_image,
|
|
||||||
'nova_cell_setup_init': heat_image,
|
|
||||||
'nova_compute': self.docker_image,
|
|
||||||
'nova_compute_ironic': self.docker_image,
|
|
||||||
'nova_compute_ssh': self.docker_image,
|
|
||||||
'nova_conductor': self.docker_image,
|
|
||||||
'nova_consoleauth': self.docker_image,
|
|
||||||
'nova_db_sync': self.docker_image,
|
|
||||||
'nova_novncproxy': self.docker_image,
|
|
||||||
'nova_placement': self.docker_image,
|
|
||||||
'nova_scheduler': self.docker_image,
|
|
||||||
'nova_spiceproxy': self.docker_image,
|
|
||||||
'nova_spiceproxy_assets': self.docker_image,
|
|
||||||
'nova_storage_init': ceph_config_helper_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
overrides = {
|
overrides = {
|
||||||
'identity': {
|
'identity': {
|
||||||
|
@ -39,7 +39,6 @@ class NovaApiProxyHelm(openstack.OpenstackBaseHelm):
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,17 +51,6 @@ class NovaApiProxyHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'nova_api_proxy': self.docker_image,
|
|
||||||
'ks_endpoints': heat_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
nova_service_name = self._operator.chart_operators[
|
nova_service_name = self._operator.chart_operators[
|
||||||
constants.HELM_CHART_NOVA].SERVICE_NAME
|
constants.HELM_CHART_NOVA].SERVICE_NAME
|
||||||
|
@ -25,7 +25,6 @@ class PankoHelm(openstack.OpenstackBaseHelm):
|
|||||||
overrides = {
|
overrides = {
|
||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
'pod': self._get_pod_overrides(),
|
'pod': self._get_pod_overrides(),
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'endpoints': self._get_endpoints_overrides()
|
'endpoints': self._get_endpoints_overrides()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -46,23 +45,6 @@ class PankoHelm(openstack.OpenstackBaseHelm):
|
|||||||
}
|
}
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'bootstrap': heat_image,
|
|
||||||
'db_drop': heat_image,
|
|
||||||
'db_init': self.docker_image,
|
|
||||||
'panko_db_sync': self.docker_image,
|
|
||||||
'panko_api': self.docker_image,
|
|
||||||
'panko_events_cleaner': self.docker_image,
|
|
||||||
'ks_endpoints': heat_image,
|
|
||||||
'ks_service': heat_image,
|
|
||||||
'ks_user': heat_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
return {
|
return {
|
||||||
'identity': {
|
'identity': {
|
||||||
|
@ -26,7 +26,6 @@ class RabbitmqHelm(openstack.OpenstackBaseHelm):
|
|||||||
'server': self._num_controllers()
|
'server': self._num_controllers()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'images': self._get_images_overrides(),
|
|
||||||
'endpoints': self._get_endpoints_overrides(),
|
'endpoints': self._get_endpoints_overrides(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -39,16 +38,6 @@ class RabbitmqHelm(openstack.OpenstackBaseHelm):
|
|||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
heat_image = self._operator.chart_operators[
|
|
||||||
constants.HELM_CHART_HEAT].docker_image
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'prometheus_rabbitmq_exporter_helm_tests': heat_image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _get_endpoints_overrides(self):
|
def _get_endpoints_overrides(self):
|
||||||
credentials = self._get_endpoints_oslo_messaging_overrides(
|
credentials = self._get_endpoints_oslo_messaging_overrides(
|
||||||
self.CHART, [])
|
self.CHART, [])
|
||||||
|
@ -73,7 +73,6 @@ class RbdProvisionerHelm(base.BaseHelm):
|
|||||||
common.HELM_NS_OPENSTACK: {
|
common.HELM_NS_OPENSTACK: {
|
||||||
"classdefaults": classdefaults,
|
"classdefaults": classdefaults,
|
||||||
"classes": classes,
|
"classes": classes,
|
||||||
"images": self._get_images_overrides(),
|
|
||||||
"global": global_settings
|
"global": global_settings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -85,18 +84,3 @@ class RbdProvisionerHelm(base.BaseHelm):
|
|||||||
namespace=namespace)
|
namespace=namespace)
|
||||||
else:
|
else:
|
||||||
return overrides
|
return overrides
|
||||||
|
|
||||||
def _get_images_overrides(self):
|
|
||||||
# TODO: Remove after ceph upgrade
|
|
||||||
# Format the name of the stx specific ceph config helper
|
|
||||||
local_docker_registry_ip = self._get_management_address()
|
|
||||||
ceph_config_helper_image = "{}:{}/{}/{}{}:{}".format(
|
|
||||||
local_docker_registry_ip, common.REGISTRY_PORT, common.REPO_LOC,
|
|
||||||
common.DOCKER_SRCS[self.docker_repo_source][common.IMG_PREFIX_KEY],
|
|
||||||
'ceph-config-helper', self.docker_repo_tag)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'tags': {
|
|
||||||
'rbd_provisioner_storage_init': ceph_config_helper_image,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user