Merge "Deploy /etc/openstack/clouds.yaml with Ansible"
This commit is contained in:
commit
f7cdf2e4a4
@ -3,19 +3,8 @@ heat_template_version: rocky
|
|||||||
parameters:
|
parameters:
|
||||||
servers:
|
servers:
|
||||||
type: json
|
type: json
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
StandaloneStandardExtraConfigPost:
|
|
||||||
type: ../../extraconfig/post_deploy/standalone_post.yaml
|
|
||||||
properties:
|
|
||||||
servers: {get_param: servers}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
|
|
||||||
IronicVBMCSetup:
|
IronicVBMCSetup:
|
||||||
type: vbmc_setup.yaml
|
type: vbmc_setup.yaml
|
||||||
properties:
|
properties:
|
||||||
|
@ -280,6 +280,9 @@ parameters:
|
|||||||
default: ''
|
default: ''
|
||||||
description: >-
|
description: >-
|
||||||
OAuth 2.0 introspection endpoint for mod_auth_openidc
|
OAuth 2.0 introspection endpoint for mod_auth_openidc
|
||||||
|
RootStackName:
|
||||||
|
description: The name of the stack/plan.
|
||||||
|
type: string
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
@ -680,6 +683,35 @@ outputs:
|
|||||||
user: root
|
user: root
|
||||||
command:
|
command:
|
||||||
[ 'keystone', 'pkill', '--signal', 'USR1', 'httpd' ]
|
[ 'keystone', 'pkill', '--signal', 'USR1', 'httpd' ]
|
||||||
|
external_deploy_tasks:
|
||||||
|
- name: Manage clouds.yaml files
|
||||||
|
when:
|
||||||
|
- step|int == 1
|
||||||
|
- not ansible_check_mode|bool
|
||||||
|
block:
|
||||||
|
- name: Create /etc/openstack directory if it does not exist
|
||||||
|
become: true
|
||||||
|
file:
|
||||||
|
mode: '0755'
|
||||||
|
owner: root
|
||||||
|
path: /etc/openstack
|
||||||
|
state: directory
|
||||||
|
- name: Configure /etc/openstack/clouds.yaml
|
||||||
|
include_role:
|
||||||
|
name: tripleo-keystone-resources
|
||||||
|
tasks_from: clouds
|
||||||
|
vars:
|
||||||
|
tripleo_keystone_resources_cloud_name: {get_param: RootStackName}
|
||||||
|
tripleo_keystone_resources_cloud_config:
|
||||||
|
auth:
|
||||||
|
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
|
||||||
|
password: {get_param: AdminPassword}
|
||||||
|
project_domain_name: Default
|
||||||
|
project_name: admin
|
||||||
|
user_domain_name: Default
|
||||||
|
username: admin
|
||||||
|
identity_api_version: '3'
|
||||||
|
region_name: {get_param: KeystoneRegion}
|
||||||
deploy_steps_tasks:
|
deploy_steps_tasks:
|
||||||
- name: validate keystone service state
|
- name: validate keystone service state
|
||||||
when:
|
when:
|
||||||
|
@ -6,7 +6,6 @@ resource_registry:
|
|||||||
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
|
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
|
||||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../deployed-server/deployed-neutron-port.yaml
|
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../deployed-server/deployed-neutron-port.yaml
|
||||||
OS::TripleO::Standalone::Net::SoftwareConfig: ../net-config-standalone.yaml
|
OS::TripleO::Standalone::Net::SoftwareConfig: ../net-config-standalone.yaml
|
||||||
OS::TripleO::NodeExtraConfigPost: ../extraconfig/post_deploy/standalone_post.yaml
|
|
||||||
|
|
||||||
OS::TripleO::Services::OpenStackClients: ../deployment/clients/openstack-clients-baremetal-puppet.yaml
|
OS::TripleO::Services::OpenStackClients: ../deployment/clients/openstack-clients-baremetal-puppet.yaml
|
||||||
|
|
||||||
|
@ -52,7 +52,6 @@ resource_registry:
|
|||||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
|
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
|
||||||
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
|
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
|
||||||
OS::TripleO::Network::Ports::RedisVipPort: ../../network/ports/noop.yaml
|
OS::TripleO::Network::Ports::RedisVipPort: ../../network/ports/noop.yaml
|
||||||
OS::TripleO::NodeExtraConfigPost: ../../extraconfig/post_deploy/standalone_post.yaml
|
|
||||||
OS::TripleO::Services::AodhApi: OS::Heat::None
|
OS::TripleO::Services::AodhApi: OS::Heat::None
|
||||||
OS::TripleO::Services::AodhEvaluator: OS::Heat::None
|
OS::TripleO::Services::AodhEvaluator: OS::Heat::None
|
||||||
OS::TripleO::Services::AodhListener: OS::Heat::None
|
OS::TripleO::Services::AodhListener: OS::Heat::None
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# Copyright 2018, 2019 Red Hat, Inc.
|
|
||||||
# All Rights Reserved.
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from tripleo_common.utils import clouds_yaml
|
|
||||||
from tripleoclient import constants
|
|
||||||
|
|
||||||
|
|
||||||
def _get_cloud_config():
|
|
||||||
cloud_config = {
|
|
||||||
os.environ["cloud_name"]: {
|
|
||||||
"auth": {
|
|
||||||
"auth_url": os.environ["auth_url"],
|
|
||||||
"project_name": os.environ["project_name"],
|
|
||||||
"project_domain_name": os.environ["project_domain_name"],
|
|
||||||
"username": os.environ["user_name"],
|
|
||||||
"user_domain_name": os.environ["user_domain_name"],
|
|
||||||
"password": os.environ["admin_password"],
|
|
||||||
},
|
|
||||||
"region_name": os.environ["region_name"],
|
|
||||||
"identity_api_version": os.environ["identity_api_version"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cloud_config
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
cloud = _get_cloud_config()
|
|
||||||
home_dir = os.path.join(os.environ["home_dir"])
|
|
||||||
user_id = os.stat(home_dir).st_uid
|
|
||||||
group_id = os.stat(home_dir).st_gid
|
|
||||||
clouds_yaml.create_clouds_yaml(
|
|
||||||
cloud=cloud,
|
|
||||||
cloud_yaml_dir=os.path.join(home_dir, constants.CLOUDS_YAML_DIR),
|
|
||||||
user_id=user_id,
|
|
||||||
group_id=group_id,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Generate clouds.yaml globally
|
|
||||||
clouds_yaml.create_clouds_yaml(cloud=cloud)
|
|
@ -1,73 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Post-deployment for the TripleO standalone deployment
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
servers:
|
|
||||||
type: json
|
|
||||||
DeployedServerPortMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
StandaloneHomeDir:
|
|
||||||
description: The HOME directory where the stackrc and ssh credentials for the Standalone will be installed. Set to /home/<user> to customize the location.
|
|
||||||
type: string
|
|
||||||
default: '/root'
|
|
||||||
AdminPassword: #supplied by tripleo-undercloud-passwords.yaml
|
|
||||||
type: string
|
|
||||||
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
|
|
||||||
hidden: True
|
|
||||||
KeystoneRegion:
|
|
||||||
type: string
|
|
||||||
default: 'regionOne'
|
|
||||||
description: Keystone region for endpoint
|
|
||||||
StandaloneCloudName:
|
|
||||||
type: string
|
|
||||||
default: 'standalone'
|
|
||||||
description: Cloud name for the clouds.yaml
|
|
||||||
PythonInterpreter:
|
|
||||||
type: string
|
|
||||||
description: The python interpreter to use for python and ansible actions
|
|
||||||
default: /usr/bin/python
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
|
|
||||||
resources:
|
|
||||||
|
|
||||||
CloudsYamlConfig:
|
|
||||||
type: OS::Heat::SoftwareConfig
|
|
||||||
properties:
|
|
||||||
group: script
|
|
||||||
inputs:
|
|
||||||
- name: admin_password
|
|
||||||
- name: auth_url
|
|
||||||
- name: cloud_name
|
|
||||||
- name: home_dir
|
|
||||||
- name: identity_api_version
|
|
||||||
- name: project_name
|
|
||||||
- name: project_domain_name
|
|
||||||
- name: region_name
|
|
||||||
- name: user_name
|
|
||||||
- name: user_domain_name
|
|
||||||
config: {get_file: ./clouds_yaml.py}
|
|
||||||
|
|
||||||
CloudsYamlDeployment:
|
|
||||||
type: OS::Heat::SoftwareDeploymentGroup
|
|
||||||
properties:
|
|
||||||
name: CloudsYamlDeployment
|
|
||||||
servers: {get_param: servers}
|
|
||||||
config: {get_resource: CloudsYamlConfig}
|
|
||||||
input_values:
|
|
||||||
admin_password: {get_param: AdminPassword}
|
|
||||||
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
|
|
||||||
cloud_name: {get_param: StandaloneCloudName}
|
|
||||||
home_dir: {get_param: StandaloneHomeDir}
|
|
||||||
identity_api_version: 3
|
|
||||||
project_name: 'admin'
|
|
||||||
project_domain_name: 'Default'
|
|
||||||
region_name: {get_param: KeystoneRegion}
|
|
||||||
user_name: 'admin'
|
|
||||||
user_domain_name: 'Default'
|
|
@ -78,10 +78,6 @@ parameters:
|
|||||||
type: string
|
type: string
|
||||||
constraints:
|
constraints:
|
||||||
- allowed_values: ['dhcpv6-stateless', 'dhcpv6-stateful']
|
- allowed_values: ['dhcpv6-stateless', 'dhcpv6-stateful']
|
||||||
KeystoneRegion:
|
|
||||||
type: string
|
|
||||||
default: 'regionOne'
|
|
||||||
description: Keystone region for endpoint
|
|
||||||
UndercloudCloudName:
|
UndercloudCloudName:
|
||||||
type: string
|
type: string
|
||||||
default: 'undercloud'
|
default: 'undercloud'
|
||||||
@ -144,41 +140,6 @@ resources:
|
|||||||
- ''
|
- ''
|
||||||
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
|
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
|
||||||
|
|
||||||
CloudsYamlConfig:
|
|
||||||
type: OS::Heat::SoftwareConfig
|
|
||||||
properties:
|
|
||||||
group: script
|
|
||||||
inputs:
|
|
||||||
- name: admin_password
|
|
||||||
- name: auth_url
|
|
||||||
- name: cloud_name
|
|
||||||
- name: home_dir
|
|
||||||
- name: identity_api_version
|
|
||||||
- name: project_name
|
|
||||||
- name: project_domain_name
|
|
||||||
- name: region_name
|
|
||||||
- name: user_name
|
|
||||||
- name: user_domain_name
|
|
||||||
config: {get_file: ./clouds_yaml.py}
|
|
||||||
|
|
||||||
CloudsYamlDeployment:
|
|
||||||
type: OS::Heat::SoftwareDeploymentGroup
|
|
||||||
properties:
|
|
||||||
name: CloudsYamlDeployment
|
|
||||||
servers: {get_param: servers}
|
|
||||||
config: {get_resource: CloudsYamlConfig}
|
|
||||||
input_values:
|
|
||||||
admin_password: {get_param: AdminPassword}
|
|
||||||
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
|
|
||||||
cloud_name: {get_param: UndercloudCloudName}
|
|
||||||
home_dir: {get_param: UndercloudHomeDir}
|
|
||||||
identity_api_version: 3
|
|
||||||
project_name: 'admin'
|
|
||||||
project_domain_name: 'Default'
|
|
||||||
region_name: {get_param: KeystoneRegion}
|
|
||||||
user_name: 'admin'
|
|
||||||
user_domain_name: 'Default'
|
|
||||||
|
|
||||||
UndercloudPostPyConfig:
|
UndercloudPostPyConfig:
|
||||||
type: OS::Heat::SoftwareConfig
|
type: OS::Heat::SoftwareConfig
|
||||||
properties:
|
properties:
|
||||||
@ -189,7 +150,7 @@ resources:
|
|||||||
|
|
||||||
UndercloudPostPyDeployment:
|
UndercloudPostPyDeployment:
|
||||||
type: OS::Heat::SoftwareDeploymentGroup
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
depends_on: [UndercloudPostDeployment, CloudsYamlDeployment]
|
depends_on: UndercloudPostDeployment
|
||||||
properties:
|
properties:
|
||||||
name: UndercloudPostPyDeployment
|
name: UndercloudPostPyDeployment
|
||||||
servers: {get_param: servers}
|
servers: {get_param: servers}
|
||||||
@ -217,7 +178,7 @@ resources:
|
|||||||
|
|
||||||
UndercloudCtlplaneNetworkDeployment:
|
UndercloudCtlplaneNetworkDeployment:
|
||||||
type: OS::Heat::SoftwareDeploymentGroup
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
depends_on: [UndercloudPostDeployment, CloudsYamlDeployment]
|
depends_on: UndercloudPostDeployment
|
||||||
properties:
|
properties:
|
||||||
name: UndercloudCtlplaneNetworkDeployment
|
name: UndercloudCtlplaneNetworkDeployment
|
||||||
servers: {get_param: servers}
|
servers: {get_param: servers}
|
||||||
|
@ -54,7 +54,6 @@ environments:
|
|||||||
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
|
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
|
||||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
|
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
|
||||||
OS::TripleO::Standalone::Net::SoftwareConfig: ../../net-config-standalone.yaml
|
OS::TripleO::Standalone::Net::SoftwareConfig: ../../net-config-standalone.yaml
|
||||||
OS::TripleO::NodeExtraConfigPost: ../../extraconfig/post_deploy/standalone_post.yaml
|
|
||||||
|
|
||||||
# OVN
|
# OVN
|
||||||
OS::TripleO::Services::OVNDBs: ../../deployment/ovn/ovn-dbs-container-puppet.yaml
|
OS::TripleO::Services::OVNDBs: ../../deployment/ovn/ovn-dbs-container-puppet.yaml
|
||||||
|
Loading…
Reference in New Issue
Block a user