Skip to content
Snippets Groups Projects
Commit ff527de0 authored by Yas Naoi's avatar Yas Naoi Committed by Yas Naoi
Browse files

Issue #3238910 by yas, baldwinlouie: Release 3.1.1

parent 54a9b1e9
No related branches found
Tags 3.1.1
No related merge requests found
Showing
with 201 additions and 85 deletions
......@@ -77,3 +77,15 @@ To package the templates for your own usage, follow these steps:
3. Use the `<output_template_name.yaml>` to launch the Cloud Orchestrator stack.
4. Wait for the stack to launch. Then follow the instructions under
`Outputs` > `Instructions`.
Troubleshooting
===============
- If you encounter the following error, try to build the CFn template again.
``
PHP Fatal error:
Uncaught Drupal\Component\Plugin\Exception\PluginNotFoundException:
The "page" entity type does not exist. in
/var/www/cloud_orchestrator/docroot/core/
lib/Drupal/Core/Entity/EntityTypeManager.php:143
``
......@@ -190,12 +190,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -203,12 +203,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -286,12 +286,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -275,12 +275,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
CacheNodeType:
Description: >-
Cache node instance class, e.g. cache.t2.micro(free tier).
......
......@@ -305,12 +305,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
CacheNodeType:
Description: >-
Cache node instance class, e.g. cache.t2.micro(free tier).
......
......@@ -142,7 +142,7 @@ Parameters:
ConstraintDescription: Must contain only alphanumeric characters, underscores
and must be between 5 and 16 characters long.
MySQLPassword:
Description: Password for the RDS Username. Must be between 6 and 32 characters
Description: Password for the database username. Must be between 6 and 32 characters
and only contain alphanumeric characters and these special characters '_'`~!#$%^&*()_+,-.
Type: String
MinLength: '6'
......@@ -190,12 +190,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -142,12 +142,12 @@ Parameters:
and contain alphanumeric characters and underscores.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -155,7 +155,7 @@ Parameters:
ConstraintDescription: Must contain only alphanumeric characters, underscores
and must be between 5 and 16 characters long.
MySQLPassword:
Description: Password for the RDS Username. Must be between 6 and 32 characters
Description: Password for the database username. Must be between 6 and 32 characters
and only contain alphanumeric characters and these special characters '_'`~!#$%^&*()_+,-.
Type: String
MinLength: '6'
......@@ -203,12 +203,12 @@ Parameters:
ConstraintDescription: Must be a valid email address.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
AllowedValues:
- 8.2.0
- 3.0.0
- 3.x-dev
- 3.1.1
- 4.0.0-beta1
- 4.x-dev
Resources:
IamRole:
Type: AWS::CloudFormation::Stack
......
......@@ -133,8 +133,8 @@ Resources:
DBInstanceClass: !Ref RDSInstanceType
DBName: !Ref DatabaseName
DBSubnetGroupName: !Ref DbSubnetGroup
Engine: MySQL
EngineVersion: 5.7.34
Engine: MariaDB
EngineVersion: 10.5.12
MasterUsername: !Ref MySQLUserName
MasterUserPassword: !Ref MySQLPassword
Port: '3306'
......
......@@ -135,7 +135,7 @@ Parameters:
contain alphanumeric characters and underscores.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
Resources:
EC2:
......
......@@ -189,7 +189,7 @@ Parameters:
contain alphanumeric characters and underscores.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
Resources:
EC2:
......@@ -259,6 +259,16 @@ Resources:
sudo tee -a $SETTINGS_FILE > /dev/null <<EOF
\$settings['file_private_path'] = '/var/www/cloud_orchestrator/files';
\$databases['default']['default'] = array (
'database' => '${DatabaseName}',
'username' => '${MySQLUserName}',
'password' => '${MySQLPassword}',
'prefix' => '',
'host' => 'mysql',
'port' => '3306',
'namespace' => 'Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql',
'driver' => 'mysql',
);
EOF
# Setup the docker
......@@ -289,16 +299,30 @@ Resources:
--link cloud-orchestrator-memcache:memcache \
-p 80:80 -d -v $CO_DIR:$DOCKER_DIR $IMAGE_TAG
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@mysql:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.aws_cloud=aws_cloud \
cloud_orchestrator_module_configure_form.cloud_service_providers.k8s=k8s"
# If 4.x branch, enable OpenStack, VMware, and Terraform.
# AWS and K8s are enabled by default.
if [[ "${CloudOrchestratorVersion}" == 4* ]]; then
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@mysql:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.terraform=terraform \
cloud_orchestrator_module_configure_form.cloud_service_providers.openstack=openstack \
cloud_orchestrator_module_configure_form.cloud_service_providers.vmware=vmware"
else
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@mysql:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator"
fi
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "chown -R www-data:www-data $DOCKER_DIR/files"
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "chown -R www-data:www-data $DOCKER_DIR/docroot/sites/default/files"
......
......@@ -197,7 +197,7 @@ Parameters:
Default: '3306'
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
Resources:
EC2:
......@@ -267,6 +267,16 @@ Resources:
sudo tee -a $SETTINGS_FILE > /dev/null <<EOF
\$settings['file_private_path'] = '/var/www/cloud_orchestrator/files';
\$databases['default']['default'] = array (
'database' => '${DatabaseName}',
'username' => '${MySQLUserName}',
'password' => '${MySQLPassword}',
'prefix' => '',
'host' => '${DatabaseEndpointAddress}',
'port' => '${DatabasePort}',
'namespace' => 'Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql',
'driver' => 'mysql',
);
EOF
# Setup the docker
......@@ -288,16 +298,30 @@ Resources:
--link cloud-orchestrator-memcache:memcache \
-p 80:80 -d -v $CO_DIR:$DOCKER_DIR $IMAGE_TAG
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.aws_cloud=aws_cloud \
cloud_orchestrator_module_configure_form.cloud_service_providers.k8s=k8s"
# If 4.x branch, enable OpenStack, VMware, and Terraform.
# AWS and K8s are enabled by default.
if [[ "${CloudOrchestratorVersion}" == 4* ]]; then
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.terraform=terraform \
cloud_orchestrator_module_configure_form.cloud_service_providers.openstack=openstack \
cloud_orchestrator_module_configure_form.cloud_service_providers.vmware=vmware"
else
# Install Cloud Orchestrator using Drush
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name=\"Cloud Orchestrator\" \
--account-mail=${DrupalEmail} \
cloud_orchestrator
fi
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "chown -R www-data:www-data $DOCKER_DIR/files"
sudo docker exec -w $DOCKER_DIR $CONTAINER_NAME sh -c "chown -R www-data:www-data $DOCKER_DIR/docroot/sites/default/files"
......
......@@ -200,7 +200,7 @@ Parameters:
Type: String
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
Resources:
EC2:
......@@ -320,23 +320,48 @@ Resources:
sudo tee -a $settings_file > /dev/null <<EOF
\$settings['file_private_path'] = '/var/files/drupal';
\$databases['default']['default'] = array (
'database' => '${DatabaseName}',
'username' => '${MySQLUserName}',
'password' => '${MySQLPassword}',
'prefix' => '',
'host' => '${DatabaseEndpointAddress}',
'port' => '${DatabasePort}',
'namespace' => 'Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql',
'driver' => 'mysql',
);
EOF
sudo mkdir -p /var/www/cloud_orchestrator/config/sync
sudo chown -R ubuntu:www-data /var/www/cloud_orchestrator/config/sync
sudo chmod -R g+w /var/www/cloud_orchestrator/config/sync
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.aws_cloud=aws_cloud \
cloud_orchestrator_module_configure_form.cloud_service_providers.k8s=k8s
# If 4.x branch, enable OpenStack, VMware, and Terraform.
# AWS and K8s are enabled by default.
if [[ "${CloudOrchestratorVersion}" == 4* ]]; then
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.openstack=openstack \
cloud_orchestrator_module_configure_form.cloud_service_providers.vmware=vmware \
cloud_orchestrator_module_configure_form.cloud_service_providers.terraform=terraform
else
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@${DatabaseEndpointAddress}:${DatabasePort}/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator
fi
# After install setup cron
{ echo "*/5 * * * * ubuntu cd /var/www/cloud_orchestrator && /usr/local/bin/drush cron > /dev/null 2>&1"; } > /etc/crontab
......
......@@ -189,7 +189,7 @@ Parameters:
contain alphanumeric characters and underscores.
CloudOrchestratorVersion:
Description: Version of the Cloud Orchestrator to install.
Default: 3.0.0
Default: 3.1.1
Type: String
Resources:
EC2:
......@@ -224,6 +224,12 @@ Resources:
apt-get update -yq
apt-get upgrade -yq
# Setup for Mariadb 10.5.12
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'
apt-get update -yq
apt-get install -y python3-pip python3-setuptools apache2 \
zip unzip sendmail memcached libmemcached-tools mariadb-client mariadb-server
......@@ -325,23 +331,48 @@ Resources:
sudo tee -a $settings_file > /dev/null <<EOF
\$settings['file_private_path'] = '/var/files/drupal';
\$databases['default']['default'] = array (
'database' => '${DatabaseName}',
'username' => '${MySQLUserName}',
'password' => '${MySQLPassword}',
'prefix' => '',
'host' => 'localhost',
'port' => '3306',
'namespace' => 'Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql',
'driver' => 'mysql',
);
EOF
sudo mkdir -p /var/www/cloud_orchestrator/config/sync
sudo chown -R ubuntu:www-data /var/www/cloud_orchestrator/config/sync
sudo chmod -R g+w /var/www/cloud_orchestrator/config/sync
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@localhost:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.aws_cloud=aws_cloud \
cloud_orchestrator_module_configure_form.cloud_service_providers.k8s=k8s
# If 4.x branch, enable OpenStack, VMware, and Terraform.
# AWS and K8s are enabled by default.
if [[ "${CloudOrchestratorVersion}" == 4* ]]; then
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@localhost:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator \
cloud_orchestrator_module_configure_form.cloud_service_providers.openstack=openstack \
cloud_orchestrator_module_configure_form.cloud_service_providers.vmware=vmware \
cloud_orchestrator_module_configure_form.cloud_service_providers.terraform=terraform
else
# Install Cloud Orchestrator using Drush
cd /var/www/cloud_orchestrator
sudo -u ubuntu drush si -y \
--db-url=mysql://${MySQLUserName}:${MySQLPassword}@localhost:3306/${DatabaseName} \
--account-name=${DrupalUserName} \
--account-pass=${DrupalPassword} \
--site-name="Cloud Orchestrator" \
--account-mail=${DrupalEmail} \
cloud_orchestrator
fi
# After install setup cron
{ echo "*/5 * * * * ubuntu cd /var/www/cloud_orchestrator && /usr/local/bin/drush cron > /dev/null 2>&1"; } > /etc/crontab
......
......@@ -31,7 +31,7 @@ PROJECT_NAME = Cloud
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = ver.3.0.4
PROJECT_NUMBER = ver.3.1.1
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
......
......@@ -12,7 +12,7 @@ interface CloudServiceInterface {
/**
* The version signature string.
*/
public const VERSION = '3.0.4';
public const VERSION = '3.1.1';
/**
* Get the version number of the module.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment