diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/config-osa')
9 files changed, 163 insertions, 9 deletions
diff --git a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh index c598027f..fb197555 100644 --- a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh +++ b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh @@ -202,6 +202,17 @@ unset ROLE_VENV_WITH_INDEX #unset ROLE_VENV_WITH_INDEX ROLE_VENV_WITH_INDEX=false +ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/tacker" +ROLE_VENV_FILE="tacker-15.1.4-x86_64" +if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then + venv_create "${ROLE_VENV_PATH}" "${ROLE_VENV_FILE}" "${ROLE_VENV_WITH_INDEX}" "python-tackerclient mysql-python networking-sfc==4.0.0 pymysql python-heatclient python-tackerclient tacker" & + pid[3]=$! +fi +unset ROLE_VENV_PATH +unset ROLE_VENV_FILE +unset ROLE_VENV_WITH_INDEX + +ROLE_VENV_WITH_INDEX=false ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/horizon" ROLE_VENV_FILE="horizon-15.1.4-x86_64" if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then diff --git a/deploy/adapters/ansible/roles/config-osa/files/policy.json b/deploy/adapters/ansible/roles/config-osa/files/policy.json new file mode 100644 index 00000000..0aa0a3d1 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-osa/files/policy.json @@ -0,0 +1,15 @@ +{ + "context_is_admin": "role:admin", + "segregation": "rule:context_is_admin", + + "telemetry:get_samples": "", + "telemetry:get_sample": "", + "telemetry:query_sample": "", + "telemetry:create_samples": "", + + "telemetry:compute_statistics": "", + "telemetry:get_meters": "", + + "telemetry:get_resource": "", + "telemetry:get_resources": "", +} diff --git a/deploy/adapters/ansible/roles/config-osa/files/requirements_absolute_requirements.txt b/deploy/adapters/ansible/roles/config-osa/files/requirements_absolute_requirements.txt index 56067a6c..c850b564 100644 --- a/deploy/adapters/ansible/roles/config-osa/files/requirements_absolute_requirements.txt +++ b/deploy/adapters/ansible/roles/config-osa/files/requirements_absolute_requirements.txt @@ -61,6 +61,7 @@ gnocchiclient==3.0.0 google_api_python_client==1.6.1 greenlet==0.4.11 heat==8.0.2.dev4 +heat_translator==0.7.0 horizon==11.0.2.dev21 httplib2==0.9.2 idna==2.2 @@ -102,6 +103,7 @@ ndg_httpsclient==0.4.2 netaddr==0.7.19 netifaces==0.10.5 networking_calico==1.3.2.dev3 +networking_sfc==4.0.0 networkx==1.11 neutron==10.0.2.dev45 neutron_dynamic_routing==10.0.1.dev8 @@ -137,6 +139,7 @@ oslo.reports==1.17.0 oslo.rootwrap==5.4.0 oslo.serialization==2.16.0 oslo.service==1.19.0 +oslosphinx==4.10.0 oslo.utils==3.22.0 oslo.versionedobjects==1.21.0 oslo.vmware==2.17.0 @@ -210,6 +213,7 @@ python_saharaclient==1.1.0 python_senlinclient==1.2.0 python_subunit==1.2.0 python_swiftclient==3.3.0 +python_tackerclient==0.9.0 python_troveclient==2.8.0 python_watcherclient==1.0.0 python_zaqarclient==1.4.0 @@ -251,6 +255,7 @@ sqlparse==0.2.2 statsd==3.2.1 stevedore==1.20.0 suds_jurko==0.6 +tacker==0.7.1.dev7 taskflow==2.9.0 tempest==14.0.1.dev142 tempita==0.5.2 @@ -259,6 +264,7 @@ testrepository==0.0.20 testtools==2.2.0 tinyrpc==0.5 tooz==1.48.0 +tosca_parser==0.7.0 traceback2==1.4.0 trollius==2.1 trove_dashboard==8.0.1.dev1 diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml index 139b426f..d96a83da 100755 --- a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml +++ b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml @@ -138,6 +138,12 @@ {% endraw %} when: offline_deployment is defined and offline_deployment == "Enable" +# This is a bug in ocata, will be removed in the future +- name: limit the version of networking-sfc in os_tacker + shell: | + sed -i 's/networking-sfc$/networking-sfc=={{ networking_sfc_version }}/g' \ + /etc/ansible/roles/os_tacker/defaults/main.yml + - name: add rally and tempest to requirement.txt blockinfile: dest: /etc/ansible/roles/repo_build/tasks/repo_pre_build.yml @@ -229,26 +235,45 @@ src: user_ceph.yml dest: /etc/openstack_deploy/user_ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: render ceph.yml.j2 template: src: ceph.yml.j2 dest: /etc/openstack_deploy/conf.d/ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: render user_variables_ceph.yml.j2 template: src: user_variables_ceph.yml.j2 dest: /etc/openstack_deploy/user_variables_ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: adapt no ha scenario include: noha.yml when: - "{{ hostvars[inventory_hostname]['groups']['controller'] | length < 2 }}" + +- name: copy the repo_fix_andas.yml + template: + src: repo_fix_pandas.yml + dest: /etc/ansible/roles/repo_build/tasks/repo_fix_pandas.yml + +- name: change repore build + lineinfile: + dest: /etc/ansible/roles/repo_build/tasks/main.yml + insertafter: "^- include: repo_post_build.yml" + line: "- include: repo_fix_pandas.yml" + +- include: meters.yml diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml new file mode 100644 index 00000000..163fc69d --- /dev/null +++ b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml @@ -0,0 +1,71 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD 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 +# ############################################################################# +--- +- name: modify the aodh haproxy config + replace: + dest: /opt/openstack-ansible/playbooks/vars/configs/haproxy_config.yml + regexp: '- "expect status 401"' + replace: '- "expect status 200"' + +- name: add OS_AUTH_TYPE in openrc + lineinfile: + dest: /etc/ansible/roles/openstack_openrc/templates/openrc.j2 + line: "export OS_AUTH_TYPE=password" + +- name: copy the ceilometer policy yaml + copy: + dest: /etc/ansible/roles/os_ceilometer/templates/policy.json.j2 + src: policy.json + mode: 0664 + +- name: replace the ceilometer policy + lineinfile: + dest: /etc/ansible/roles/os_ceilometer/tasks/ceilometer_post_install.yml + regexp: "ceilometer_policy_user_content" + line: ' src: "policy.json.j2"' + backrefs: "yes" + +- name: modify the os-ceilometer-install.yml + blockinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertbefore: "common-tasks/package-cache-proxy.yml" + block: | + # create ceilometer db + - include: common-tasks/mysql-db-user.yml + static: no + vars: {% raw %} + user_name: "{{ ceilometer_galera_user }}" + password: "{{ ceilometer_container_db_password }}" + login_host: "{{ ceilometer_galera_address }}" + db_name: "{{ ceilometer_galera_database }}" + when: inventory_hostname == groups['ceilometer_all'][0]{% endraw %} + +- name: modify the os-ceilometer-install.yml + lineinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertafter: "is_metal" + line: "{{ item }}" + with_items: + - " ceilometer_galera_user: ceilometer" + - " ceilometer_galera_database: ceilometer" + +- name: modify the os-ceilometer-install.yml + lineinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertafter: "is_metal" + line: ' {% raw %} ceilometer_galera_address: "{{ galera_address }}"{% endraw %}' + +# yamllint disable rule:line-length +- name: change the ceilometer.conf.j2 + blockinfile: + dest: /etc/ansible/roles/os_ceilometer/templates/ceilometer.conf.j2 + block: | + [database]{% raw %} + connection = mysql+pymysql://{{ ceilometer_galera_user }}:{{ ceilometer_container_db_password }}@{{ceilometer_galera_address }}/{{ ceilometer_galera_database }}?charset=utf86{% endraw %} +# yamllint enable rule:line-length diff --git a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 index cadf5308..be119fbe 100644 --- a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 +++ b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 @@ -213,6 +213,13 @@ metrics_hosts: ip: {{ hostvars[host]['ansible_ssh_host'] }} {% endfor %} +# tacker (mano service) +mano_hosts: +{% for host in groups.controller%} + {{host}}: + ip: {{ hostvars[host]['ansible_ssh_host'] }} +{% endfor %} + # nova hypervisors compute_hosts: {% for host in groups.compute%} diff --git a/deploy/adapters/ansible/roles/config-osa/templates/repo_fix_pandas.yml b/deploy/adapters/ansible/roles/config-osa/templates/repo_fix_pandas.yml new file mode 100644 index 00000000..4605089f --- /dev/null +++ b/deploy/adapters/ansible/roles/config-osa/templates/repo_fix_pandas.yml @@ -0,0 +1,15 @@ +############################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD 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 +############################################################################## +--- +- name: change pandas version + shell: | + mkdir -p /tmp/pandas; + pip install pandas==0.20.3 -d /tmp/pandas; + rm -rf {{ repo_dest_path }}/pandas* + cp /tmp/pandas/pandas-0.20.3-cp27-cp27mu-manylinux1_x86_64.whl {{ repo_dest_path }} diff --git a/deploy/adapters/ansible/roles/config-osa/templates/user_variables.yml.j2 b/deploy/adapters/ansible/roles/config-osa/templates/user_variables.yml.j2 index e43aa22c..ebd8ff09 100644 --- a/deploy/adapters/ansible/roles/config-osa/templates/user_variables.yml.j2 +++ b/deploy/adapters/ansible/roles/config-osa/templates/user_variables.yml.j2 @@ -19,7 +19,7 @@ # ## # # Debug and Verbose options. -debug: false +debug: true haproxy_keepalived_external_vip_cidr: "{{ public_vip.ip }}/32" haproxy_keepalived_internal_vip_cidr: "{{ internal_vip.ip }}/32" @@ -28,8 +28,10 @@ haproxy_keepalived_internal_interface: br-mgmt keepalived_ping_address: "{{ ntp_server }}" cinder_cinder_conf_overrides: - DEFAULT: - public_endpoint: "https://{{ public_vip.ip }}" + oslo_middleware: + enable_proxy_headers_parsing: True + +nfs_file_gw: False {% if "openvswitch" == NEUTRON_MECHANISM_DRIVERS[0] or "opendaylight" == NEUTRON_MECHANISM_DRIVERS[0] diff --git a/deploy/adapters/ansible/roles/config-osa/vars/main.yml b/deploy/adapters/ansible/roles/config-osa/vars/main.yml index 3c95bc64..0b3b0c1e 100644 --- a/deploy/adapters/ansible/roles/config-osa/vars/main.yml +++ b/deploy/adapters/ansible/roles/config-osa/vars/main.yml @@ -9,3 +9,5 @@ --- LOCAL_REPOSITORY_IP: "192.168.137.222" ceph_host: "{{ hostvars[inventory_hostname]['groups']['ceph_osd'][0] }}" +repo_dest_path: "/var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/" +networking_sfc_version: 4.0.0 |