summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/file_utils.h
blob: 2458dff8b7ad1d414e555796f399df4f90685e4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
// Copyright (c) 2010-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#ifndef _FILE_UTILS_H_
#define _FILE_UTILS_H_

#include <inttypes.h>
#include <stddef.h>

long file_get_size(const char *path);
int file_read_content(const char *path, uint8_t *mem, size_t beg, size_t len);
const char *file_get_error(void);

#endif /* _FILE_UTILS_H_ */
'>353 354 355 356 357 358 359 360 361
##############################################################################
# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
{%- import 'net_map.j2' as nm with context %}
---
classes:
  - cluster.all-mcp-arch-common.uca_repo
parameters:
  _param:
    # openstack service addresses
{%- if conf.MCP_VCP %}
    openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address}
    openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address}
    openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address}
{%- else %}
    openstack_proxy_control_address: ${_param:opnfv_openstack_control_address}
    openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address}
    openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address}
{%- endif %}

    openstack_proxy_address: ${_param:opnfv_openstack_proxy_address}
    openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address}
    openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address}

    openstack_control_address: ${_param:opnfv_openstack_control_address}
    openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address}
    openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address}
    openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address}

{%- if conf.MCP_VCP %}
    openstack_database_address: ${_param:opnfv_openstack_database_address}
    openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address}
    openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address}
    openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address}

    openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address}
    openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address}
    openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address}
    openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address}

    openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address}
    openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address}
    openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address}
    openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address}
{%- else %}
    openstack_database_address: ${_param:openstack_control_address}
    openstack_database_node01_address: ${_param:openstack_control_node01_address}
    openstack_database_node02_address: ${_param:openstack_control_node02_address}
    openstack_database_node03_address: ${_param:openstack_control_node03_address}

    openstack_message_queue_address: ${_param:openstack_control_address}
    openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
    openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
    openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}

    openstack_telemetry_address: ${_param:openstack_control_address}
    openstack_telemetry_node01_address: ${_param:openstack_control_node01_address}
    openstack_telemetry_node02_address: ${_param:openstack_control_node02_address}
    openstack_telemetry_node03_address: ${_param:openstack_control_node03_address}
{%- endif %}

    # openstack service hostnames
{%- if conf.MCP_VCP %}
    openstack_proxy_hostname: prx
    openstack_proxy_node01_hostname: prx01
    openstack_proxy_node02_hostname: prx02
    openstack_control_hostname: ctl
    openstack_control_node01_hostname: ctl01
    openstack_control_node02_hostname: ctl02
    openstack_control_node03_hostname: ctl03
    openstack_database_hostname: dbs
    openstack_database_node01_hostname: dbs01
    openstack_database_node02_hostname: dbs02
    openstack_database_node03_hostname: dbs03
    openstack_message_queue_hostname: msg
    openstack_message_queue_node01_hostname: msg01
    openstack_message_queue_node02_hostname: msg02
    openstack_message_queue_node03_hostname: msg03
    openstack_telemetry_hostname: mdb
    openstack_telemetry_node01_hostname: mdb01
    openstack_telemetry_node02_hostname: mdb02
    openstack_telemetry_node03_hostname: mdb03
{%- else %}
    openstack_proxy_hostname: ${_param:openstack_control_hostname}
    openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname}
    openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname}
    openstack_control_hostname: kvm
    openstack_control_node01_hostname: kvm01
    openstack_control_node02_hostname: kvm02
    openstack_control_node03_hostname: kvm03
    openstack_database_hostname: ${_param:openstack_control_hostname}
    openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname}
    openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname}
    openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname}
    openstack_message_queue_hostname: ${_param:openstack_control_hostname}
    openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname}
    openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname}
    openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname}
    openstack_telemetry_hostname: ${_param:openstack_control_hostname}
    openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname}
    openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname}
    openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname}
{%- endif %}

    # openstack compute
    openstack_compute_node01_hostname: cmp001
    openstack_compute_node02_hostname: cmp002

    # opendaylight options
{%- if conf.MCP_VCP %}
    opendaylight_server_node01_hostname: odl01
    opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address}
{%- else %}
    opendaylight_control_hostname: ${_param:openstack_control_node02_hostname}
    opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname}
    opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address}
{%- endif %}

    openstack_region: RegionOne
    admin_email: root@localhost
    db_connection_recycle_time: 300
    # Neutron osv/nodvr
    neutron_control_dvr: 'False'
    neutron_global_physnet_mtu: 1500
    neutron_external_mtu: 1500
    neutron_gateway_dvr: 'False'
    neutron_gateway_agent_mode: legacy
    neutron_compute_dvr: 'False'
    neutron_compute_agent_mode: legacy
    neutron_compute_external_access: 'True'
    galera_server_cluster_name: openstack_cluster
    glance_version: ${_param:openstack_version}
    glance_service_host: ${_param:openstack_control_address}
    keystone_version: ${_param:openstack_version}
    keystone_service_host: ${_param:openstack_control_address}
    heat_version: ${_param:openstack_version}
    heat_service_host: ${_param:openstack_control_address}
    cinder_version: ${_param:openstack_version}
    cinder_service_host: ${_param:openstack_control_address}
    ceilometer_version: ${_param:openstack_version}
    ceilometer_service_host: ${_param:openstack_telemetry_address}
    nova_version: ${_param:openstack_version}
    nova_service_host: ${_param:openstack_control_address}
    neutron_version: ${_param:openstack_version}
    neutron_service_host: ${_param:openstack_control_address}
{%- if conf.MCP_VCP %}
    glusterfs_service_host: ${_param:infra_kvm_address}
{%- else %}
    glusterfs_service_host: ${_param:openstack_control_address}
{%- endif %}
    mysql_admin_user: root
    barbican_version: ${_param:openstack_version}
    barbican_service_host: ${_param:openstack_control_address}
    barbican_integration_enabled: true
    horizon_version: ${_param:openstack_version}
    horizon_identity_host: ${_param:openstack_control_address}
    horizon_identity_encryption: none
    horizon_identity_version: 3
    aodh_service_host: ${_param:openstack_telemetry_address}
    gnocchi_version: 4.2
    gnocchi_service_host: ${_param:openstack_telemetry_address}
    panko_version: ${_param:openstack_version}
    panko_service_host: ${_param:openstack_telemetry_address}
    ceilometer_agent_default_polling_interval: 180
    ceilometer_agent_default_polling_meters:
      - "*"
    designate_service_host: ${_param:openstack_control_address}
    designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
    designate_pool_ns_records:
      - hostname: 'ns1.example.org.'
        priority: 10
    designate_pool_nameservers:
      - host: ${_param:openstack_control_node01_address}
        port: 53
      - host: ${_param:openstack_control_node02_address}
        port: 53
      - host: ${_param:openstack_control_node03_address}
        port: 53
    designate_pool_target_type: bind9
    designate_pool_target_masters:
      - host: ${_param:openstack_control_node01_address}
        port: 5354
      - host: ${_param:openstack_control_node02_address}
        port: 5354
      - host: ${_param:openstack_control_node03_address}
        port: 5354
    designate_pool_target_options:
      host: ${_param:openstack_control_node01_address}
      port: 53
      rndc_host: ${_param:openstack_control_node01_address}
      rndc_port: 953
      rndc_key_file: /etc/designate/rndc.key
    designate_version: ${_param:openstack_version}
    # Billing
    # keystone_billometer_password: opnfv_secret
    # keystone_billometer_address: ${_param:billometer_service_host}
    # billometer_service_host: ${_param:openstack_billing_address}
    # billometer_version: ${_param:openstack_version}
    # billometer_secret_key: opnfv_secretpasswordpasswordpassword
    # billometer_identity_password: ${_param:keystone_billometer_password}
    # billometer_identity_host: ${_param:openstack_control_address}
    # billometer_identity_token: ${_param:keystone_service_token}
  linux:
    system:
      repo:
        uca:
          pin:
            - pin: 'release o=Canonical'
              priority: 1200
              package: 'libvirt* qemu* openvswitch* python-openvswitch ovn* dpdk* libdpdk*'
{%- if 'aarch64' in nm.cluster.arch %}
        armband_3:  # Should be in sync with the repo config generated via curtin/MaaS
          source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
          key: ${_param:armband_key}
          pin:
            - pin: 'release a=${_param:openstack_version}-armband'
              priority: 1201
              package: '*'
{%- endif %}
      kernel:
        sysctl:
          net.ipv4.tcp_congestion_control: yeah
          net.ipv4.tcp_slow_start_after_idle: 0
          net.ipv4.tcp_fin_timeout: 30
      package:
        python-tornado:
          version: latest
    network:
      host:
{%- if conf.MCP_VCP %}
        prx:
          address: ${_param:openstack_proxy_control_address}
          names:
            - ${_param:openstack_proxy_hostname}
            - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
        prx01:
          address: ${_param:openstack_proxy_node01_control_address}
          names:
            - ${_param:openstack_proxy_node01_hostname}
            - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
        prx02:
          address: ${_param:openstack_proxy_node02_control_address}
          names:
            - ${_param:openstack_proxy_node02_hostname}
            - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
        ctl:
          address: ${_param:openstack_control_address}
          names:
            - ${_param:openstack_control_hostname}
            - ${_param:openstack_control_hostname}.${_param:cluster_domain}
        ctl01:
          address: ${_param:openstack_control_node01_address}
          names:
            - ${_param:openstack_control_node01_hostname}
            - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
        ctl02:
          address: ${_param:openstack_control_node02_address}
          names:
            - ${_param:openstack_control_node02_hostname}
            - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
        ctl03:
          address: ${_param:openstack_control_node03_address}
          names:
            - ${_param:openstack_control_node03_hostname}
            - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
        msg:
          address: ${_param:openstack_message_queue_address}
          names:
            - ${_param:openstack_message_queue_hostname}
            - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
        msg01:
          address: ${_param:openstack_message_queue_node01_address}
          names:
            - ${_param:openstack_message_queue_node01_hostname}
            - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
        msg02:
          address: ${_param:openstack_message_queue_node02_address}
          names:
            - ${_param:openstack_message_queue_node02_hostname}
            - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
        msg03:
          address: ${_param:openstack_message_queue_node03_address}
          names:
            - ${_param:openstack_message_queue_node03_hostname}
            - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
        dbs:
          address: ${_param:openstack_database_address}
          names:
            - ${_param:openstack_database_hostname}
            - ${_param:openstack_database_hostname}.${_param:cluster_domain}
        dbs01:
          address: ${_param:openstack_database_node01_address}
          names:
            - ${_param:openstack_database_node01_hostname}
            - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
        dbs02:
          address: ${_param:openstack_database_node02_address}
          names:
            - ${_param:openstack_database_node02_hostname}
            - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
        dbs03:
          address: ${_param:openstack_database_node03_address}
          names:
            - ${_param:openstack_database_node03_hostname}
            - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
        mdb:
          address: ${_param:openstack_telemetry_address}
          names:
            - ${_param:openstack_telemetry_hostname}
            - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
        mdb01:
          address: ${_param:openstack_telemetry_node01_address}
          names:
            - ${_param:openstack_telemetry_node01_hostname}
            - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
        mdb02:
          address: ${_param:openstack_telemetry_node02_address}
          names:
            - ${_param:openstack_telemetry_node02_hostname}
            - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
        mdb03:
          address: ${_param:openstack_telemetry_node03_address}
          names:
            - ${_param:openstack_telemetry_node03_hostname}
            - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
{%- else %}
        kvm:
          address: ${_param:openstack_control_address}
          names:
            - ${_param:openstack_control_hostname}
            - ${_param:openstack_control_hostname}.${_param:cluster_domain}
        kvm01:
          address: ${_param:openstack_control_node01_address}
          names:
            - ${_param:openstack_control_node01_hostname}
            - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
        kvm02:
          address: ${_param:openstack_control_node02_address}
          names:
            - ${_param:openstack_control_node02_hostname}
            - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
        kvm03:
          address: ${_param:openstack_control_node03_address}
          names:
            - ${_param:openstack_control_node03_hostname}
            - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
{%- endif %}
{#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
{%- for cmp in range(1, nm.cmp_nodes + 1) %}
  {%- set h = 'cmp%03d' | format(cmp) %}
  {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
        {{ h }}:
          address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
          names:
            - {{ h }}
            - {{ h }}.${_param:cluster_domain}
{%- endfor %}