add stage to configure featurebase

This commit is contained in:
Souhaila Noor 2021-11-08 09:14:47 -06:00
parent e629e0165d
commit ebde0142da
5 changed files with 85 additions and 11 deletions

View file

@ -176,6 +176,11 @@ build container fb:
- docker push $tag
- echo Created docker featurebase image with tag "$tag"
before_script:
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region "us-east-2"
deploy node for linux amd64:
stage: lint
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
@ -185,14 +190,9 @@ deploy node for linux amd64:
SECURITY_GROUP: ""
SUBNET_ID: ""
PUBLIC_IP: ""
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
PROFILE: "default"
AWS_SSH_PRIVATE_KEY: $AWS_SSH_PRIVATE_KEY
before_script:
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region "us-east-2"
- aws configure set aws_profile $PROFILE
- echo $AWS_SSH_PRIVATE_KEY > gitlab-featurebase-dev.pem
- chmod 400 gitlab-featurebase-dev.pem
@ -214,6 +214,7 @@ deploy node for linux amd64:
- echo $INSTANCE_ID > linux-amd64-instance.txt
- echo $INSTANCE_ID
- scp -i gitlab-featurebase-dev.pem featurebase_linux_amd64 ec2-user@$PUBLIC_IP:.
- scp -i gitlab-featurebase-dev.pem .gitlab/featurebase.conf .gitlab/featurebase.service ec2-user@$PUBLIC_IP:.
- sleep 120
needs:
job: build for linux amd64
@ -221,17 +222,27 @@ deploy node for linux amd64:
paths:
- linux-amd64-instance.txt
run featurebase in linux amd64 node:
stage: lint
image:
variables:
INSTANCE_ID: ""
before_script:
- INSTANCE_ID=$(cat linux-amd64-instance.txt)
script:
- aws ssm send-command --document-name "AWS-RunShellScript" --targets InstanceIds=$INSTANCE_ID --cli-input-json file://.gitlab/configureFeatureBase.json
needs:
job:
deploy node for linux amd64
terminate node for linux amd64:
stage: lint
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
variables:
INSTANCE_ID: ""
before_script:
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region "us-east-2"
- INSTANCE_ID=$(cat linux-amd64-instance.txt)
script:
- aws ec2 terminate-instances --instance-ids $INSTANCE_ID
needs:
job: deploy node for linux amd64
job: run featurebase in linux amd64 node

View file

@ -4,7 +4,6 @@ exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
# Install packages
yum update -y
# yum install golang -y # latest verion in ec2 is 1.15.14
yum install postgresql -y
# Configure host system
@ -13,7 +12,8 @@ sysctl -w fs.file-max=262144
sysctl -p
echo 'cat /proc/sys/fs/file-max'
# install go 1.16.9
# yum install golang -y # latest verion in ec2 is 1.15.14
# install go 1.16.9 manually
curl -O https://dl.google.com/go/go1.16.9.linux-amd64.tar.gz
tar xvf go1.16.9.linux-amd64.tar.gz
chown -R root:root ./go

View file

@ -0,0 +1,20 @@
{
"Parameters": {
"commands": [
"#!/bin/bash",
"mv featurebase_linux_amd64 /usr/local/bin/",
"mv featurebase.conf /etc/",
"mv featurebase.service /etc/systemd/system/",
"adduser molecula",
"sudo mkdir /var/log/molecula",
"sudo chown molecula /var/log/molecula",
"sudo mkdir -p /opt/molecula/featurebase",
"sudo chown molecula /opt/molecula/featurebase",
"systemctl daemon-reload",
"sudo systemctl start featurebase",
"sudo systemctl enable featurebase",
"sudo systemctl status featurebase",
"curl localhost:10101"
]
}
}

30
.gitlab/featurebase.conf Normal file
View file

@ -0,0 +1,30 @@
name = "pilosa1"
bind = "0.0.0.0:10101"
bind-grpc = "0.0.0.0:20101"
data-dir = "/opt/molecula/featurebase"
log-path = "/var/log/molecula/featurebase.log"
max-file-count=900000
max-map-count=900000
long-query-time = "10s"
[postgres]
bind = "localhost:55432"
[cluster]
name = "cluster1"
replicas = 1
[etcd]
listen-client-address = "http://localhost:10401"
listen-peer-address = "http://localhost:10301"
initial-cluster = "pilosa1=http://localhost:10301"
[metric]
service = "prometheus"

View file

@ -0,0 +1,13 @@
# Not Ansible managed
[Unit]
Description="Service for FeatureBase"
[Service]
RestartSec=30
Restart=on-failure
EnvironmentFile=
User=molecula
ExecStart=/usr/local/bin/featurebase server -c /etc/featurebase.conf
[Install]