diff options
Diffstat (limited to 'deployed-server')
-rw-r--r-- | deployed-server/ctlplane-port.yaml | 28 | ||||
-rw-r--r-- | deployed-server/deployed-neutron-port.yaml | 2 | ||||
-rw-r--r-- | deployed-server/deployed-server-bootstrap-centos.sh | 16 | ||||
-rw-r--r-- | deployed-server/deployed-server-bootstrap-centos.yaml | 22 | ||||
-rw-r--r-- | deployed-server/deployed-server-roles-data.yaml | 13 | ||||
-rw-r--r-- | deployed-server/deployed-server.yaml | 35 | ||||
-rwxr-xr-x | deployed-server/scripts/get-occ-config.sh | 9 |
7 files changed, 114 insertions, 11 deletions
diff --git a/deployed-server/ctlplane-port.yaml b/deployed-server/ctlplane-port.yaml new file mode 100644 index 00000000..7b5cdf11 --- /dev/null +++ b/deployed-server/ctlplane-port.yaml @@ -0,0 +1,28 @@ +heat_template_version: ocata + +parameters: + network: + type: string + default: ctlplane + name: + type: string + replacement_policy: + type: string + default: AUTO + +resources: + + ControlPlanePort: + type: OS::Neutron::Port + properties: + network: ctlplane + name: + list_join: + - '-' + - - {get_param: name} + - port + replacement_policy: AUTO + +outputs: + fixed_ips: + value: {get_attr: [ControlPlanePort, fixed_ips]} diff --git a/deployed-server/deployed-neutron-port.yaml b/deployed-server/deployed-neutron-port.yaml index 5ce63770..bddf8bc1 100644 --- a/deployed-server/deployed-neutron-port.yaml +++ b/deployed-server/deployed-neutron-port.yaml @@ -8,7 +8,7 @@ description: " Example: parameter_defaults: DeployedServerPortMap: - gatsby_ctlplane: + gatsby-ctlplane: fixed_ips: - ip_address: 127.0.0.1 subnets: diff --git a/deployed-server/deployed-server-bootstrap-centos.sh b/deployed-server/deployed-server-bootstrap-centos.sh new file mode 100644 index 00000000..7266ca57 --- /dev/null +++ b/deployed-server/deployed-server-bootstrap-centos.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -eux + +yum install -y \ + jq \ + python-ipaddr \ + openstack-puppet-modules \ + os-net-config \ + openvswitch \ + python-heat-agent* + +ln -s -f /usr/share/openstack-puppet/modules/* /etc/puppet/modules + +setenforce 0 +sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config diff --git a/deployed-server/deployed-server-bootstrap-centos.yaml b/deployed-server/deployed-server-bootstrap-centos.yaml new file mode 100644 index 00000000..c1740d78 --- /dev/null +++ b/deployed-server/deployed-server-bootstrap-centos.yaml @@ -0,0 +1,22 @@ +heat_template_version: ocata + +description: 'Deployed Server Bootstrap Config' + +parameters: + + server: + type: string + +resources: + + DeployedServerBootstrapConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + config: {get_file: deployed-server-bootstrap-centos.sh} + + DeployedServerBootstrapDeployment: + type: OS::Heat::SoftwareDeployment + properties: + config: {get_resource: DeployedServerBootstrapConfig} + server: {get_param: server} diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index 40a15189..9795a00f 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -21,7 +21,7 @@ # on the role, defaults to an empty list. Sets the default for the # {{role.name}}Services parameter in overcloud.yaml -- name: Controller +- name: ControllerDeployedServer CountDefault: 1 disable_constraints: True ServicesDefault: @@ -33,11 +33,9 @@ - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - - OS::TripleO::Services::Core - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::GlanceApi - - OS::TripleO::Services::GlanceRegistry - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiCloudwatch @@ -59,6 +57,7 @@ - OS::TripleO::Services::MongoDb - OS::TripleO::Services::NovaApi - OS::TripleO::Services::NovaMetadata + - OS::TripleO::Services::NovaPlacement - OS::TripleO::Services::NovaScheduler - OS::TripleO::Services::NovaConsoleauth - OS::TripleO::Services::NovaVncProxy @@ -103,7 +102,7 @@ - OS::TripleO::Services::Zaqar - OS::TripleO::Services::OVNDBs -- name: Compute +- name: ComputeDeployedServer CountDefault: 1 HostnameFormatDefault: '%stackname%-novacompute-%index%' disable_constraints: True @@ -129,7 +128,7 @@ - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient -- name: BlockStorage +- name: BlockStorageDeployedServer disable_constraints: True ServicesDefault: - OS::TripleO::Services::CACerts @@ -143,7 +142,7 @@ - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient -- name: ObjectStorage +- name: ObjectStorageDeployedServer disable_constraints: True ServicesDefault: - OS::TripleO::Services::CACerts @@ -158,7 +157,7 @@ - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient -- name: CephStorage +- name: CephStorageDeployedServer disable_constraints: True ServicesDefault: - OS::TripleO::Services::CACerts diff --git a/deployed-server/deployed-server.yaml b/deployed-server/deployed-server.yaml index 2929c5eb..1e8afb25 100644 --- a/deployed-server/deployed-server.yaml +++ b/deployed-server/deployed-server.yaml @@ -38,6 +38,12 @@ parameters: type: json description: Optional scheduler hints to pass to nova default: {} + UpgradeInitCommand: + type: string + description: | + Command or script snippet to run on all overcloud nodes to + initialize the upgrade process. E.g. a repository switch. + default: '' resources: deployed-server: @@ -46,6 +52,25 @@ resources: name: {get_param: name} software_config_transport: {get_param: software_config_transport} + UpgradeInitConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + config: + list_join: + - '' + - - "#!/bin/bash\n\n" + - "if [[ -f /etc/resolv.conf.save ]] ; then rm /etc/resolv.conf.save; fi\n\n" + - get_param: UpgradeInitCommand + + UpgradeInitDeployment: + type: OS::Heat::SoftwareDeployment + properties: + name: UpgradeInitDeployment + server: {get_resource: deployed-server} + config: {get_resource: UpgradeInitConfig} + + InstanceIdConfig: type: OS::Heat::StructuredConfig properties: @@ -58,6 +83,7 @@ resources: properties: config: {get_resource: InstanceIdConfig} server: {get_resource: deployed-server} + depends_on: UpgradeInitDeployment HostsEntryConfig: type: OS::Heat::SoftwareConfig @@ -80,7 +106,12 @@ resources: config: {get_resource: HostsEntryConfig} server: {get_resource: deployed-server} - ControlPlanePortImpl: + DeployedServerBootstrapConfig: + type: OS::TripleO::DeployedServer::Bootstrap + properties: + server: {get_resource: deployed-server} + + ControlPlanePort: type: OS::TripleO::DeployedServer::ControlPlanePort properties: network: ctlplane @@ -97,6 +128,6 @@ outputs: networks: value: ctlplane: - - {get_attr: [ControlPlanePortImpl, fixed_ips, 0, ip_address]} + - {get_attr: [ControlPlanePort, fixed_ips, 0, ip_address]} name: value: {get_attr: [HostsEntryDeployment, hostname]} diff --git a/deployed-server/scripts/get-occ-config.sh b/deployed-server/scripts/get-occ-config.sh index 404244b1..6c196f97 100755 --- a/deployed-server/scripts/get-occ-config.sh +++ b/deployed-server/scripts/get-occ-config.sh @@ -79,7 +79,14 @@ for role in $OVERCLOUD_ROLES; do server_stack=$(openstack stack resource show $stack $server_resource_name -c physical_resource_id -f value) done - deployed_server_metadata_url=$(openstack stack resource metadata $server_stack deployed-server | jq -r '.["os-collect-config"].request.metadata_url') + while true; do + deployed_server_metadata_url=$(openstack stack resource metadata $server_stack deployed-server | jq -r '.["os-collect-config"].request.metadata_url') + if [ "$deployed_server_metadata_url" = "null" ]; then + continue + else + break + fi + done echo "======================" echo "$role$i os-collect-config.conf configuration:" |