diff --git a/environments/ssl/no-tls-endpoints-public-ip.yaml b/environments/ssl/no-tls-endpoints-public-ip.yaml index 20216d624a..6ed16558d1 100644 --- a/environments/ssl/no-tls-endpoints-public-ip.yaml +++ b/environments/ssl/no-tls-endpoints-public-ip.yaml @@ -22,6 +22,7 @@ parameter_defaults: BarbicanAdmin: {protocol: http, port: '9311', host: IP_ADDRESS} BarbicanInternal: {protocol: http, port: '9311', host: IP_ADDRESS} BarbicanPublic: {protocol: http, port: '9311', host: IP_ADDRESS} + CephGrafanaInternal: {protocol: http, port: '3100', host: IP_ADDRESS} CephRgwAdmin: {protocol: http, port: '8080', host: IP_ADDRESS} CephRgwInternal: {protocol: http, port: '8080', host: IP_ADDRESS} CephRgwPublic: {protocol: http, port: '8080', host: IP_ADDRESS} diff --git a/environments/ssl/tls-endpoints-public-dns.yaml b/environments/ssl/tls-endpoints-public-dns.yaml index 62dd0ec220..48f55addf8 100644 --- a/environments/ssl/tls-endpoints-public-dns.yaml +++ b/environments/ssl/tls-endpoints-public-dns.yaml @@ -18,6 +18,7 @@ parameter_defaults: BarbicanAdmin: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanInternal: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'CLOUDNAME'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'CLOUDNAME'} CephRgwAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'} diff --git a/environments/ssl/tls-endpoints-public-ip.yaml b/environments/ssl/tls-endpoints-public-ip.yaml index 480c53e02c..84caa3a1f8 100644 --- a/environments/ssl/tls-endpoints-public-ip.yaml +++ b/environments/ssl/tls-endpoints-public-ip.yaml @@ -18,6 +18,7 @@ parameter_defaults: BarbicanAdmin: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanInternal: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'IP_ADDRESS'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'IP_ADDRESS'} CephRgwAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'IP_ADDRESS'} diff --git a/environments/ssl/tls-everywhere-endpoints-dns.yaml b/environments/ssl/tls-everywhere-endpoints-dns.yaml index 26931ed22b..6a2ecea61b 100644 --- a/environments/ssl/tls-everywhere-endpoints-dns.yaml +++ b/environments/ssl/tls-everywhere-endpoints-dns.yaml @@ -18,6 +18,7 @@ parameter_defaults: BarbicanAdmin: {protocol: 'https', port: '9311', host: 'CLOUDNAME'} BarbicanInternal: {protocol: 'https', port: '9311', host: 'CLOUDNAME'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'CLOUDNAME'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'CLOUDNAME'} CephRgwAdmin: {protocol: 'https', port: '8080', host: 'CLOUDNAME'} CephRgwInternal: {protocol: 'https', port: '8080', host: 'CLOUDNAME'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'} diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml index bb1c5cf282..263e98fb4d 100644 --- a/network/endpoints/endpoint_data.yaml +++ b/network/endpoints/endpoint_data.yaml @@ -287,6 +287,11 @@ Swift: port: 3000 port: 8080 +CephGrafana: + Internal: + net_param: CephGrafana + port: 3100 + CephRgw: Internal: net_param: CephRgw diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml index 2da7458e80..4cdbf88b16 100644 --- a/network/endpoints/endpoint_map.yaml +++ b/network/endpoints/endpoint_map.yaml @@ -43,6 +43,10 @@ parameters: protocol: http port: '9311' host: IP_ADDRESS + CephGrafanaInternal: + protocol: http + port: '3100' + host: IP_ADDRESS CephRgwAdmin: protocol: http port: '8080' @@ -1167,6 +1171,133 @@ outputs: - EndpointMap - BarbicanPublic - port + CephGrafanaInternal: + host: + str_replace: + template: + get_param: + - EndpointMap + - CephGrafanaInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - CephGrafanaNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - CephGrafanaNetwork + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: + - EndpointMap + - CephGrafanaInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - CephGrafanaNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: + - ServiceNetMap + - CephGrafanaNetwork + port: + get_param: + - EndpointMap + - CephGrafanaInternal + - port + protocol: + get_param: + - EndpointMap + - CephGrafanaInternal + - protocol + uri: + make_url: + scheme: + get_param: + - EndpointMap + - CephGrafanaInternal + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - CephGrafanaInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - CephGrafanaNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - CephGrafanaNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - CephGrafanaInternal + - port + uri_no_suffix: + make_url: + scheme: + get_param: + - EndpointMap + - CephGrafanaInternal + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - CephGrafanaInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - CephGrafanaNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - CephGrafanaNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - CephGrafanaInternal + - port CephRgwAdmin: host: str_replace: diff --git a/network_data_dashboard.yaml b/network_data_dashboard.yaml new file mode 100644 index 0000000000..eebcaee593 --- /dev/null +++ b/network_data_dashboard.yaml @@ -0,0 +1,127 @@ +# List of networks, used for j2 templating of enabled networks +# +# Supported values: +# +# name: Name of the network (mandatory) +# name_lower: lowercase version of name used for filenames +# (optional, defaults to name.lower()) +# enabled: Is the network enabled (optional, defaults to true) +# NOTE: False will use noop.yaml for unused legacy networks to support upgrades. +# vlan: vlan for the network (optional) +# vip: Enable creation of a virtual IP on this network +# ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64' +# (optional, may use parameter defaults instead) +# allocation_pools: IP range list e.g. [{'start':'10.0.0.4', 'end':'10.0.0.250'}] +# gateway_ip: gateway for the network (optional, may use parameter defaults) +# routes: Optional, list of networks that should be routed via network gateway. +# Example: [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] +# A single /16 supernet route could be used for 255 smaller /24 subnets. +# ipv6_subnet: Optional, sets default IPv6 subnet if IPv4 is already defined. +# ipv6_allocation_pools: Set default IPv6 allocation pools if IPv4 allocation pools +# are already defined. +# gateway_ipv6: Set an IPv6 gateway if IPv4 gateway already defined. +# ipv6: If ip_subnet not defined, this specifies that the network is IPv6-only. +# NOTE: IP-related values set parameter defaults in templates, may be overridden, +# either by operators, or e.g in environments/network-isolation-v6.yaml where we +# set some default IPv6 addresses. +# compat_name: for existing stack you may need to override the default +# transformation for the resource's name. +# mtu: Set the maximum transmission unit (MTU) that is guaranteed to pass +# through the data path of the segments in the network. +# (optional, defaults to 1500) +# +# Example: +# - name Example +# vip: false +# ip_subnet: '10.0.2.0/24' +# allocation_pools: [{'start': '10.0.2.4', 'end': '10.0.2.250'}] +# gateway_ip: '10.0.2.254' +# +# To support backward compatibility, two versions of the network definitions +# will be created, network/.yaml and network/_v6.yaml. Only +# one of these files may be used in the deployment at a time, since the +# parameters used for configuration are the same in both files. In the +# future, this behavior may be changed to create only one file for custom +# networks. You may specify IPv6 addresses for ip_subnet, allocation_pools, +# and gateway_ip if no IPv4 addresses are used for a custom network, or set +# ipv6: true, and the network/.yaml file will be configured as IPv6. +# +# For configuring both IPv4 and IPv6 on the same interface, use two separate +# networks, and then assign both IPs to the same interface in a custom NIC +# configuration templates. +# +# The ordering of the networks below will determine the order in which NICs +# are assigned in the network/config/multiple-nics templates, beginning with +# NIC2, Control Plane is always NIC1. + +- name: Storage + vip: true + vlan: 30 + name_lower: storage + ip_subnet: '172.16.1.0/24' + allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] + ipv6_subnet: 'fd00:fd00:fd00:3000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] + mtu: 1500 +- name: StorageMgmt + name_lower: storage_mgmt + vip: true + vlan: 40 + ip_subnet: '172.16.3.0/24' + allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] + ipv6_subnet: 'fd00:fd00:fd00:4000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] + mtu: 1500 +- name: InternalApi + name_lower: internal_api + vip: true + vlan: 20 + ip_subnet: '172.16.2.0/24' + allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] + ipv6_subnet: 'fd00:fd00:fd00:2000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] + mtu: 1500 +- name: Tenant + vip: false # Tenant network does not use VIPs + name_lower: tenant + vlan: 50 + ip_subnet: '172.16.0.0/24' + allocation_pools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] + ipv6_subnet: 'fd00:fd00:fd00:5000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] + mtu: 1500 +- name: External + vip: true + name_lower: external + vlan: 10 + ip_subnet: '10.0.0.0/24' + allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}] + gateway_ip: '10.0.0.1' + ipv6_subnet: '2001:db8:fd00:1000::/64' + ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}] + gateway_ipv6: '2001:db8:fd00:1000::1' + mtu: 1500 +- name: Management + # Management network is enabled by default for backwards-compatibility, but + # is not included in any roles by default. Add to role definitions to use. + enabled: true + vip: false # Management network does not use VIPs + name_lower: management + vlan: 60 + ip_subnet: '10.0.1.0/24' + allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] + gateway_ip: '10.0.1.1' + gateway_ipv6: 'fd00:fd00:fd00:6000::1' + ipv6_subnet: 'fd00:fd00:fd00:6000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] + mtu: 1500 +- name: StorageDashboard + enabled: true + vip: true + name_lower: storage_dashboard + vlan: 70 + ip_subnet: '172.16.5.0/24' + allocation_pools: [{'start': '172.16.5.4', 'end': '172.16.5.250'}] + ipv6_subnet: 'fd00:fd00:fd00:8000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:8000::10', 'end': 'fd00:fd00:fd00:8000:ffff:ffff:ffff:fffe'}] + mtu: 1500 diff --git a/roles/ControllerStorageDashboard.yaml b/roles/ControllerStorageDashboard.yaml new file mode 100644 index 0000000000..d3326d3448 --- /dev/null +++ b/roles/ControllerStorageDashboard.yaml @@ -0,0 +1,191 @@ +############################################################################### +# Role: ControllerStorageDashboard # +############################################################################### +- name: ControllerStorageDashboard + description: | + Controller role that has all the controller services loaded, handles + Database, Messaging and Network functions, and additionally provide a + storage monitoring network; when ceph dashboard is included, the purpose + of this network is to allow operators to isolate this component from the + storage backend. + CountDefault: 3 + tags: + - primary + - controller + networks: + External: + subnet: external_subnet + InternalApi: + subnet: internal_api_subnet + Storage: + subnet: storage_subnet + StorageMgmt: + subnet: storage_mgmt_subnet + StorageDashboard: + subnet: storage_dashboard_subnet + Tenant: + subnet: tenant_subnet + HostnameFormatDefault: '%stackname%-controller-%index%' + # Deprecated & backward-compatible values (FIXME: Make parameters consistent) + # Set uses_deprecated_params to True if any deprecated params are used. + uses_deprecated_params: True + deprecated_param_extraconfig: 'controllerExtraConfig' + deprecated_param_flavor: 'OvercloudControlFlavor' + deprecated_param_image: 'controllerImage' + update_serial: 1 + ServicesDefault: + - OS::TripleO::Services::Aide + - OS::TripleO::Services::AodhApi + - OS::TripleO::Services::AodhEvaluator + - OS::TripleO::Services::AodhListener + - OS::TripleO::Services::AodhNotifier + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::BarbicanApi + - OS::TripleO::Services::BarbicanBackendSimpleCrypto + - OS::TripleO::Services::BarbicanBackendDogtag + - OS::TripleO::Services::BarbicanBackendKmip + - OS::TripleO::Services::BarbicanBackendPkcs11Crypto + - OS::TripleO::Services::BootParams + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerAgentCentral + - OS::TripleO::Services::CeilometerAgentNotification + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CephGrafana + - OS::TripleO::Services::CephMds + - OS::TripleO::Services::CephMgr + - OS::TripleO::Services::CephMon + - OS::TripleO::Services::CephRbdMirror + - OS::TripleO::Services::CephRgw + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::CinderApi + - OS::TripleO::Services::CinderBackendDellPs + - OS::TripleO::Services::CinderBackendDellSc + - OS::TripleO::Services::CinderBackendDellEMCUnity + - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI + - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI + - OS::TripleO::Services::CinderBackendNetApp + - OS::TripleO::Services::CinderBackendPure + - OS::TripleO::Services::CinderBackendScaleIO + - OS::TripleO::Services::CinderBackendVRTSHyperScale + - OS::TripleO::Services::CinderBackendNVMeOF + - OS::TripleO::Services::CinderBackup + - OS::TripleO::Services::CinderHPELeftHandISCSI + - OS::TripleO::Services::CinderScheduler + - OS::TripleO::Services::CinderVolume + - OS::TripleO::Services::Clustercheck + - OS::TripleO::Services::Collectd + - OS::TripleO::Services::ContainerImagePrepare + - OS::TripleO::Services::DesignateApi + - OS::TripleO::Services::DesignateCentral + - OS::TripleO::Services::DesignateProducer + - OS::TripleO::Services::DesignateWorker + - OS::TripleO::Services::DesignateMDNS + - OS::TripleO::Services::DesignateSink + - OS::TripleO::Services::Docker + - OS::TripleO::Services::Ec2Api + - OS::TripleO::Services::Etcd + - OS::TripleO::Services::ExternalSwiftProxy + - OS::TripleO::Services::Fluentd + - OS::TripleO::Services::GlanceApi + - OS::TripleO::Services::GnocchiApi + - OS::TripleO::Services::GnocchiMetricd + - OS::TripleO::Services::GnocchiStatsd + - OS::TripleO::Services::HAproxy + - OS::TripleO::Services::HeatApi + - OS::TripleO::Services::HeatApiCloudwatch + - OS::TripleO::Services::HeatApiCfn + - OS::TripleO::Services::HeatEngine + - OS::TripleO::Services::Horizon + - OS::TripleO::Services::IpaClient + - OS::TripleO::Services::Ipsec + - OS::TripleO::Services::IronicApi + - OS::TripleO::Services::IronicConductor + - OS::TripleO::Services::IronicInspector + - OS::TripleO::Services::IronicPxe + - OS::TripleO::Services::IronicNeutronAgent + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Keepalived + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::Keystone + - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::ManilaApi + - OS::TripleO::Services::ManilaBackendCephFs + - OS::TripleO::Services::ManilaBackendIsilon + - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity + - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX + - OS::TripleO::Services::ManilaScheduler + - OS::TripleO::Services::ManilaShare + - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr + - OS::TripleO::Services::MistralApi + - OS::TripleO::Services::MistralEngine + - OS::TripleO::Services::MistralExecutor + - OS::TripleO::Services::MistralEventEngine + - OS::TripleO::Services::Multipathd + - OS::TripleO::Services::MySQL + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NeutronApi + - OS::TripleO::Services::NeutronBgpVpnApi + - OS::TripleO::Services::NeutronSfcApi + - OS::TripleO::Services::NeutronCorePlugin + - OS::TripleO::Services::NeutronDhcpAgent + - OS::TripleO::Services::NeutronL2gwAgent + - OS::TripleO::Services::NeutronL2gwApi + - OS::TripleO::Services::NeutronL3Agent + - OS::TripleO::Services::NeutronLinuxbridgeAgent + - OS::TripleO::Services::NeutronMetadataAgent + - OS::TripleO::Services::NeutronML2FujitsuCfab + - OS::TripleO::Services::NeutronML2FujitsuFossw + - OS::TripleO::Services::NeutronOvsAgent + - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NovaApi + - OS::TripleO::Services::NovaConductor + - OS::TripleO::Services::NovaIronic + - OS::TripleO::Services::NovaMetadata + - OS::TripleO::Services::NovaScheduler + - OS::TripleO::Services::NovaVncProxy + - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::OctaviaApi + - OS::TripleO::Services::OctaviaDeploymentConfig + - OS::TripleO::Services::OctaviaHealthManager + - OS::TripleO::Services::OctaviaHousekeeping + - OS::TripleO::Services::OctaviaWorker + - OS::TripleO::Services::OpenDaylightApi + - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::OVNDBs + - OS::TripleO::Services::OVNController + - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi + - OS::TripleO::Services::PlacementApi + - OS::TripleO::Services::OpenStackClients + - OS::TripleO::Services::OsloMessagingRpc + - OS::TripleO::Services::OsloMessagingNotify + - OS::TripleO::Services::Podman + - OS::TripleO::Services::Redis + - OS::TripleO::Services::Rhsm + - OS::TripleO::Services::Rsyslog + - OS::TripleO::Services::RsyslogSidecar + - OS::TripleO::Services::SaharaApi + - OS::TripleO::Services::SaharaEngine + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::SkydiveAgent + - OS::TripleO::Services::SkydiveAnalyzer + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::SwiftProxy + - OS::TripleO::Services::SwiftDispersion + - OS::TripleO::Services::SwiftRingBuilder + - OS::TripleO::Services::SwiftStorage + - OS::TripleO::Services::Tacker + - OS::TripleO::Services::Timesync + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages + - OS::TripleO::Services::Tuned + - OS::TripleO::Services::Vpp + - OS::TripleO::Services::Zaqar + diff --git a/sample-env-generator/ssl.yaml b/sample-env-generator/ssl.yaml index 6598e95615..ef1a3460a8 100644 --- a/sample-env-generator/ssl.yaml +++ b/sample-env-generator/ssl.yaml @@ -126,6 +126,7 @@ environments: BarbicanAdmin: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanInternal: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'IP_ADDRESS'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'IP_ADDRESS'} CephRgwAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'IP_ADDRESS'} @@ -238,6 +239,7 @@ environments: BarbicanAdmin: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanInternal: {protocol: 'http', port: '9311', host: 'IP_ADDRESS'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'CLOUDNAME'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'CLOUDNAME'} CephRgwAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'} @@ -350,6 +352,7 @@ environments: BarbicanAdmin: {protocol: 'https', port: '9311', host: 'CLOUDNAME'} BarbicanInternal: {protocol: 'https', port: '9311', host: 'CLOUDNAME'} BarbicanPublic: {protocol: 'https', port: '13311', host: 'CLOUDNAME'} + CephGrafanaInternal: {protocol: 'https', port: '3100', host: 'CLOUDNAME'} CephRgwAdmin: {protocol: 'https', port: '8080', host: 'CLOUDNAME'} CephRgwInternal: {protocol: 'https', port: '8080', host: 'CLOUDNAME'} CephRgwPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'} @@ -472,6 +475,7 @@ environments: BarbicanAdmin: {protocol: http, port: '9311', host: IP_ADDRESS} BarbicanInternal: {protocol: http, port: '9311', host: IP_ADDRESS} BarbicanPublic: {protocol: http, port: '9311', host: IP_ADDRESS} + CephGrafanaInternal: {protocol: http, port: '3100', host: IP_ADDRESS} CephRgwAdmin: {protocol: http, port: '8080', host: IP_ADDRESS} CephRgwInternal: {protocol: http, port: '8080', host: IP_ADDRESS} CephRgwPublic: {protocol: http, port: '8080', host: IP_ADDRESS} diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index e59cb21a67..a2eacfd5c8 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -345,6 +345,22 @@ def validate_hci_computehci_role(hci_role_filename, hci_role_tpl): return 1 return 0 + +def validate_controller_dashboard(filename, tpl): + control_role_filename = os.path.join(os.path.dirname(filename), + './Controller.yaml') + control_role_tpl = yaml.load(open(control_role_filename).read()) + control_role_services = control_role_tpl[0]['ServicesDefault'] + for role in tpl: + if role['name'] == 'ControllerStorageDashboard': + services = role['ServicesDefault'] + if sorted(services) != sorted(control_role_services): + print('ERROR: ServicesDefault in %s is different from ' + 'ServicesDefault in roles/Controller.yaml' % filename) + return 1 + return 0 + + def validate_hci_role(hci_role_filename, hci_role_tpl): role_files = ['HciCephAll', 'HciCephFile', 'HciCephMon', 'HciCephObject'] if hci_role_filename in ['./roles/'+ x +'.yaml' for x in role_files]: