GithubHelp home page GithubHelp logo

scylla-machine-image's Introduction

Scylla Machine Image

Provides following

  • Create an image with pre-installed Scylla
  • Allow to configure the database when an instance is launched first time
  • Easy cluster creation

OS Package

RPM/DEB package that is pre-installed in the image. Responsible for configuring Scylla during first boot of the instance.

Create an image

AWS

aws/ami/build_ami.sh

Scylla AMI user-data Format v2

Scylla AMI user-data should be passed as a json object, as described below

see AWS docs for how to pass user-data into ec2 instances: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html

EC2 User-Data

User Data that can pass when create EC2 instances

  • Object Properties
    • scylla_yaml (Scylla YAML) – Mapping of all fields that would pass down to scylla.yaml configuration file
    • scylla_startup_args (list) – embedded information about the user that created the issue (NOT YET IMPLEMENTED) (default=’[]’)
    • developer_mode (boolean) – Enables developer mode (default=’false’)
    • post_configuration_script (string) – A script to run once AMI first configuration is finished, can be a string encoded in base64. (default=’’)
    • post_configuration_script_timeout (int) – Time in seconds to limit the post_configuration_script (default=’600’)
    • start_scylla_on_first_boot (boolean) – If true, scylla-server would boot at AMI boot (default=’true’)

Scylla YAML

All fields that would pass down to scylla.yaml configuration file

see https://docs.scylladb.com/operating-scylla/scylla-yaml/ for all the possible configuration availble listed here only the one get defaults scylla AMI

  • Object Properties
    • cluster_name (string) – Name of the cluster (default=generated name that would work for only one node cluster)
    • auto_bootstrap (boolean) – Enable auto bootstrap (default=’true’)
    • listen_address (string) – Defaults to ec2 instance private ip
    • broadcast_rpc_address (string) – Defaults to ec2 instance private ip
    • endpoint_snitch (string) – Defaults to ‘org.apache.cassandra.locator.Ec2Snitch’
    • rpc_address (string) – Defaults to ‘0.0.0.0’
    • seed_provider (mapping) – Defaults to ec2 instance private ip

Example usage of user-data

Spinning a new node connecting to “10.0.219.209” as a seed, and installing cloud-init-cfn package at first boot.

using json

{
     "scylla_yaml": {
         "cluster_name": "test-cluster",
         "experimental": true,
         "seed_provider": [{"class_name": "org.apache.cassandra.locator.SimpleSeedProvider",
                            "parameters": [{"seeds": "10.0.219.209"}]}],
     },
     "post_configuration_script": "#! /bin/bash\nyum install cloud-init-cfn",
     "start_scylla_on_first_boot": true
}

using yaml

scylla_yaml:
  cluster_name: test-cluster
  experimental: true
  seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
        - seeds: 10.0.219.209
post_configuration_script: "#! /bin/bash\nyum install cloud-init-cfn"
start_scylla_on_first_boot: true

using mimemultipart

If other feature of cloud-init are needed, one can use mimemultipart, and pass a json/yaml with x-scylla/yaml or x-scylla/json

more information on cloud-init multipart user-data:

https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive

Content-Type: multipart/mixed; boundary="===============5438789820677534874=="
MIME-Version: 1.0

--===============5438789820677534874==
Content-Type: x-scylla/yaml
MIME-Version: 1.0
Content-Disposition: attachment; filename="scylla_machine_image.yaml"

scylla_yaml:
  cluster_name: test-cluster
  experimental: true
  seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
        - seeds: 10.0.219.209
post_configuration_script: "#! /bin/bash\nyum install cloud-init-cfn"
start_scylla_on_first_boot: true

--===============5438789820677534874==
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--===============5438789820677534874==--

example of creating the multipart message by python code:

import json
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart

msg = MIMEMultipart()

scylla_image_configuration = dict(
    scylla_yaml=dict(
        cluster_name="test_cluster",
        listen_address="10.23.20.1",
        broadcast_rpc_address="10.23.20.1",
        seed_provider=[{
            "class_name": "org.apache.cassandra.locator.SimpleSeedProvider",
            "parameters": [{"seeds": "10.23.20.1"}]}],
    )
)
part = MIMEBase('x-scylla', 'json')
part.set_payload(json.dumps(scylla_image_configuration, indent=4, sort_keys=True))
part.add_header('Content-Disposition', 'attachment; filename="scylla_machine_image.json"')
msg.attach(part)

cloud_config = """
#cloud-config
cloud_final_modules:
- [scripts-user, always]
"""
part = MIMEBase('text', 'cloud-config')
part.set_payload(cloud_config)
part.add_header('Content-Disposition', 'attachment; filename="cloud-config.txt"')
msg.attach(part)

print(msg)

Creating a Scylla cluster using the Machine Image

AWS - CloudFormation

Use template aws/cloudformation/scylla.yaml. Currently, maximum 10 nodes cluster is supported.

Building scylla-machine-image package

RedHat like - RPM

Currently the only supported mode is:

dist/redhat/build_rpm.sh --target centos7 --cloud-provider aws

Build using Docker

docker run -it -v $PWD:/scylla-machine-image -w /scylla-machine-image  --rm centos:7.2.1511 bash -c './dist/redhat/build_rpm.sh -t centos7 -c aws'

Ubuntu - DEB

dist/debian/build_deb.sh

Build using Docker

docker run -it -v $PWD:/scylla-machine-image -w /scylla-machine-image  --rm ubuntu:20.04 bash -c './dist/debian/build_deb.sh'

Building docs

python3 -m venv .venv
source .venv/bin/activate
pip install sphinx sphinx-jsondomain sphinx-markdown-builder
make html
make markdown

scylla-machine-image's People

Contributors

aleksbykov avatar amoskong avatar annamikhlin avatar avelanarius avatar benipeled avatar bentsi avatar dependabot[bot] avatar enaydanov avatar fruch avatar hopugop avatar penberg avatar scylladb-promoter avatar syuu1228 avatar tchaikov avatar tzach avatar yaronkaikov avatar zimnx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scylla-machine-image's Issues

AWS Scylla Image - support T3 instances

We have some support for T2 for development mode

T2 instances are EOL and are becomming less avail on AWS

Need to consider which instance types need to be used instead of T2 (T3?)

Publish Scylla Enterprise AMIs in AWS marketplace account

we would require AMIs for Scylla enterprise , Monitoring as well as manager.

Can we publish the enterprise AMI to this AWS account as well as part of the release automation.

AWS account - XXXXXXXXX

Let me know if you need any additional information.

Ubuntu image: need to warn that Scylla recommends to use XFS volume for data volume

Unlike CentOS AMI, Ubuntu AMI uses ext4 as rootfs filesystem.
If we launch the AMI without ephemeral disks, /var/lib/scylla will be on ext4 filesystem.
We should shows up warning on login message that we recommend to use XFS filesystem, and to do so we need extra disks to construct RAID volume (with XFS filesystem).

Same with GCP.

Related with #111

user data url broken

we found out that the url for getting the user data is broken on Scylla master
this is what is actually running:
http://169.254.169.254/latest/meta-data/user-data
it should be:
http://169.254.169.254/latest/user-data

I can't build unified-deb on 4.5 due to a machine-image issue

https://jenkins.scylladb.com/view/scylla-4.5/job/scylla-4.5/job/unified-deb/4/

13:19:41  python3-pip-20.2.2-1.fc33.noarch
13:19:41  python3-pip already installed.
13:19:41  Building in /jenkins/slave/workspace/scylla-4.5/unified-deb/scylla-machine-image...
13:19:41  /jenkins/slave/workspace/scylla-4.5/unified-deb/scylla-machine-image
13:19:41  This package has a Debian revision number but there does not seem to be
13:19:41  an appropriate original tar file or .orig directory in the parent directory;
13:19:41  (expected one of scylla-machine-image_4.5~rc0-20210405.0ef5d340d7f.orig.tar.gz, scylla-machine-image_4.5~rc0-20210405.0ef5d340d7f.orig.tar.bz2,
13:19:41  scylla-machine-image_4.5~rc0-20210405.0ef5d340d7f.orig.tar.lzma,  scylla-machine-image_4.5~rc0-20210405.0ef5d340d7f.orig.tar.xz or scylla-machine-image.orig)
13:19:41  continue anyway? (y/n) Use of uninitialized value $ans in pattern match (m//) at /usr/bin/debuild line 1009.

Unattended upgrades enabled by default

When additional software is installed on Ubuntu-based Scylla machine images, one may hit the following problem:

E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 15976 (unattended-upgr)

Are unattended upgrades enabled by default due to some reason? What is the recommended way to disable it?

machine-image rpms need to support all providers

Today when building scylla-machine-image rpm we provide a flag -c aws so it will build the rpm for AWS machines. Now that we support GCE as well, we must have one rpm which support all providers.

Also in the process, let's remove the -c flag and support default build

Enable image to work with only the root disk for AWS t2 instances

This was working in past images

The root disk is now set to 30GB it has enough space for both the swap and the data

I tested it yesterday and found what needs to be done to make it working - in a hack way

The main issue is that we now seem to set performance setting - although the instance is t2 and should run in developer-mode

update /etc/default/scylla-server

SET_CLOCKSOURCE=no
sudo scylla_setup --no-raid-setup --no-ec2-check --no-coredump-setup  --no-io-setup --no-sysconfig-setup --no-node-exporter 
sudo scylla_dev_mode_setup --developer-mode 1
sudo systemctl disable scylla-image-setup.service 
sudo systemctl start scylla-server.service 

I expect some of this to be not needed - I did not attempt to find the minimal set.

Once we have this working we need to make the image work also on t3 with a single disk.

cloudformation script parameter - SGCluster : Security Groups ingress with an ipProtocol of -1

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html

Adds an inbound rule to a security group.
An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances associated with the specified security group.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify a port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Severity: Critical

scylla-image-setup service is started when stopping the source instance

Description

I found scylla-image-setup service was started when stopping the source instance.
It should be unexpected, and it's interrupted during coredump setup.

When new instance is created, another scylla-image-setup will be executed. It will overwrite some change of first scylla-image-setup.

The problem was found in master AMI: scylla_2020-08-03T23-11-29Z (ami-05b55eb1eb02c4a3a)
I also reproduced with my AMI (us-east-1: ami-0005610b660b7d0b0)

New instance system log: (include system log of creating AMI)

log-from-begin.txt
ami-build-log.txt

AMI build log:

  • the source instance was stopped around 13:36:57
2020/08/05 13:36:57 [INFO] (telemetry) ending shell
2020/08/05 13:36:57 ui: ESC[1;32m==> amazon-ebs: Stopping the source instance...ESC[0m
2020/08/05 13:36:57 ui: ESC[0;32m    amazon-ebs: Stopping instanceESC[0m
2020/08/05 13:36:58 ui: ESC[1;32m==> amazon-ebs: Waiting for the instance to stop...ESC[0m
2020/08/05 13:37:14 ui: ESC[1;32m==> amazon-ebs: Enabling Enhanced Networking (SR-IOV)...ESC[0m
2020/08/05 13:37:15 ui: ESC[1;32m==> amazon-ebs: Enabling Enhanced Networking (ENA)...ESC[0m
2020/08/05 13:37:16 ui: ESC[1;32m==> amazon-ebs: Creating AMI scylla_2020-08-05T13-33-11Z from instance i-0aace976ce6ef80d6ESC[0m
2020/08/05 13:37:17 ui: ESC[0;32m    amazon-ebs: AMI: ami-0005610b660b7d0b0ESC[0m
2020/08/05 13:37:17 ui: ESC[1;32m==> amazon-ebs: Waiting for AMI to become ready...ESC[0m
2020/08/05 13:43:52 ui: ESC[1;32m==> amazon-ebs: Modifying attributes on AMI (ami-0005610b660b7d0b0)...ESC[0m

uptime of new instance

[scyllaadm@ip-10-99-0-244 ~]$ uptime -s
2020-08-05 13:49:17

System log of new instance

  • scylla-image-setup service was started in stopping source instance
  • it's after :
    • basic scylla_setup
      • scylla_setup --ntp-domain amazon --no-coredump-setup --no-sysconfig-setup --no-raid-setup --no-io-setup --no-bootparam-setup --no-ec2-check --no-swap-setup
      • scylla.slice was created and started
    • sudo amazon-linux-extras install kernel-ng
    • cloud.cfg update
[scyllaadm@ip-10-99-0-244 ~]$ sudo journalctl  -S '2020-08-05 13:30:00' |less

Aug 05 13:33:39 ip-172-30-0-169 systemd[1]: Starting Network.

<install scylla>
<install scylla-machine-image, scylla-debuginfo>
</opt/scylladb/scripts/scylla_setup --ntp-domain amazon --no-coredump-setup --no-sysconfig-setup --no-raid-setup --no-io-setup --no-bootparam-setup --no-ec2-check --no-swap-setup>

Aug 05 13:36:33 ip-172-30-0-169.ec2.internal systemd[1]: Created slice scylla.slice.
Aug 05 13:36:33 ip-172-30-0-169.ec2.internal systemd[1]: Starting scylla.slice.

<sudo amazon-linux-extras install kernel-ng>

2020/08/05 13:36:33 ui: ESC[0;32m    amazon-ebs: ESC[1;31mNo swap is configured, it is highly recommended to setup swap on Scylla node.ESC[0mESC[0m
2020/08/05 13:36:33 ui: ESC[0;32m    amazon-ebs: ScyllaDB setup finished.ESC[0m

Aug 05 13:36:56 ip-172-30-0-169.ec2.internal systemd[1]: Stopping Dynamically Generate Message Of The Day...
Aug 05 13:36:56 ip-172-30-0-169.ec2.internal systemd[1]: Starting Dynamically Generate Message Of The Day...
Aug 05 13:36:56 ip-172-30-0-169.ec2.internal systemd[1]: Created slice Slice used to run Scylla. Maximum priority for IO and CPU.
Aug 05 13:36:56 ip-172-30-0-169.ec2.internal systemd[1]: Starting Slice used to run Scylla. Maximum priority for IO and CPU.
Aug 05 13:36:56 ip-172-30-0-169.ec2.internal systemd[1]: Starting Scylla Cloud Image Setup service...
...
<scylla-image-setup was interruptted during coredump setup>

Aug 05 13:36:58 ip-172-30-0-169.ec2.internal systemd[1]: Stopped target Cloud-init target.
Aug 05 13:36:58 ip-172-30-0-169.ec2.internal sshd[3679]: Received signal 15; terminating.
Aug 05 13:36:58 ip-172-30-0-169.ec2.internal systemd[1]: Stopping Cloud-init target.
Aug 05 13:36:58 ip-172-30-0-169.ec2.internal systemd[1]: Stopped Scylla Cloud Image Setup service.

...
<scylla-image-setup during new instance init>
Aug 05 13:49:32 ip-172-30-0-169.ec2.internal systemd[1]: Starting Scylla Cloud Image Setup service...

Aug 05 13:50:25 ip-10-99-0-244.ec2.internal scylla_image_setup[3574]: 4+0 records in
Aug 05 13:50:25 ip-10-99-0-244.ec2.internal scylla_image_setup[3574]: 4+0 records out
Aug 05 13:50:25 ip-10-99-0-244.ec2.internal scylla_image_setup[3574]: 4294967296 bytes (4.3 GB) copied, 32.5004 s, 132 MB/s
Aug 05 13:50:39 ip-10-99-0-244.ec2.internal dhclient[3529]: XMT: Solicit on eth0, interval 64950ms.
Aug 05 13:51:14 ip-10-99-0-244.ec2.internal scylla_image_setup[3574]: Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
Aug 05 13:51:14 ip-10-99-0-244.ec2.internal scylla_image_setup[3574]: no label, UUID=bc86a46c-5b41-4987-b492-dbe0353bbfce

duplicate scylla-machine-image rpm from same relocatable package

There is a duplicate scylla-machine-image rpm and yaml file in the following link:
http://downloads.scylladb.com/rpm/unstable/centos/master/2020-03-09T21%3A59%3A53Z/scylla/noarch/
http://downloads.scylladb.com/rpm/unstable/centos/master/2020-03-09T21%3A59%3A53Z/

This happen when building cantos-rpm more then one from the same relocatable package

In such scenario, relevant packages should be overwritten same as scylla, scylla-jmx and scylla-tools

Build Scylla machine image on Azure

As we want to be able to support additional cloud provides, we be able creating Scylla machine image on Microsoft Azure platform

General plan:

  1. Define initial configuration between Azure and Jenkins (plugins , permissions, key access and act`)
  2. Setting a new VM based on 20.04 OS with Scylla running on it. We should use azure CLI tool for that. installation instruction can be found at https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
  3. Create Azure image with packer tool (same as we do for AWS and GCE). Found some instaructions in https://microsoft.github.io/AzureTipsAndTricks/blog/tip201.html
  4. Create Jenkins pipeline for building Azure image and promotion (https://github.com/scylladb/scylla-pkg/issues/1909)
  5. Create SCT artifact to test the image

permission issue of /home/scyllaadm/ on AMI

Description

I reported a permission in enterprise AMI, the issue had been fixed.

And the fix had been backported to scylla-machine-image/branch-4.5. But the same problem still exists in rolling upgrade AMI (from 4.5.rc2 to 4.6.dev).

Version:

Base AMI id: ami-01fb1ac7f2719742e (eu-west-1): 4.5~rc2-0.20210602.d92a26636-1

11:11:25  Command: 'bash -cxe "\nmkdir -p ~/.cassandra/\ncp /tmp/ssl_conf/client/cqlshrc ~/.cassandra/\n
sudo mkdir -p /etc/scylla/\nsudo rm -rf /etc/scylla/ssl_conf/\nsudo mv -f /tmp/ssl_conf/ /etc/scylla/\n"'
11:11:25  Exit code: 1
11:11:25  Stdout:
11:11:25  Stderr:
11:11:25  + '[' -z '' ']'
11:11:25  + return
11:11:25  + case $- in
11:11:25  + return
11:11:25  + mkdir -p /home/scyllaadm/.cassandra/
11:11:25  mkdir: cannot create directory ‘/home/scyllaadm/.cassandra/’: Permission denied

Test jobs:

/Cc @syuu1228

#### scylla-machine-image/branch-4.5

commit 4a62a687c6db38010436df5bd30ecdf6381b760c
Author: Takuya ASADA <[email protected]>
Date:   Mon Apr 5 17:55:36 2021 +0900

    dist: remove .bash_profile from package, configure it in scylla_install_ami
    
    We have permission issue on /home/scyllaadm/, it owned by root:root but
    should be scyllaadm:scyllaadm.
    However, we create scyllaadm user AFTER installing scylla-machine-image
    package, so it's not possible to do that in the package.
    
    We don't really need to keep /home/scyllaadm/.bash_profile in package.
    We just need to do "echo /opt/scylladb/scylla-machine-image/scylla_login >> ~/.bash_profile" in scylla_install_ami instead.
    In fact, we already do so in GCE since login user of GCE is not static,
    we addd scylla_login to /etc/skel/.bash_profile.
    So let's align the way to configure .bash_profile to GCE, drop
    .bash_profile from rpm/deb packages, configure .bash_profile in
    scylla_install_ami.
    
    Also, we need to take care upgrade scylla-machine-image package.
    To do so, remove /home/scyllaadm/.bash_profile symlink and generate new
    .bash_profile in %posttrans of the rpm package.
    
    Fixes scylladb/scylla-enterprise#1684
    
    (cherry picked from commit e43df9cf3a5c99a0f491dbca5e175b9e7c8e5cbc)

scyllaadm user files are with root:root permissions needs to be updated

file aws/ami/files/scylla_install_ami

    run('ln -sf /home/scyllaadm {}'.format(homedir))
    for skel in glob.glob('/etc/skel/.*'):
        if not skel.endswith('.bash_profile'):
            shutil.copy(skel, '/home/scyllaadm')
< here >
    run('useradd -o -u 1000 -g scyllaadm -s /bin/bash -d /home/scyllaadm centos')
    if distro == 'ubuntu':
        run('useradd -o -u 1000 -g scyllaadm -s /bin/bash -d /home/scyllaadm ubuntu')

We are copying files and we need to change the permissions chown -R scyllaadm:scyllaadm /home/scyllaadm

AWS/GCP: scylla-image-setup.service fails when no additional SSDs for RAID added on the instance

Seems like we have a bug to handle RAID for gcp, when no free disks available.
On the instance which added additional SSDs just works finely, so problem is no disk case.
Correct behavior for this is, detect no additional disks and skip RAID setup.

last failed login: Tue Mar 23 13:33:23 UTC 2021 from 35.235.240.66 on ssh:notty
There was 1 failed login attempt since the last successful login.

   _____            _ _       _____  ____  
  / ____|          | | |     |  __ \|  _ \ 
 | (___   ___ _   _| | | __ _| |  | | |_) |
  \___ \ / __| | | | | |/ _` | |  | |  _ < 
  ____) | (__| |_| | | | (_| | |__| | |_) |
 |_____/ \___|\__, |_|_|\__,_|_____/|____/ 
               __/ |                       
              |___/                        

Version:
       4.4.dev-0.20201208.f802356572
Nodetool:
        nodetool help
CQL Shell:
        cqlsh
More documentation available at: 
        http://www.scylladb.com/doc/
By default, Scylla sends certain information about this node to a data collection server. For information, see http://www.scylladb.com/privacy/

    Initial image configuration failed!

To see status, run 
 'systemctl status scylla-image-setup'

[syuu@takuya-scylla-test1 ~]$ systemctl status scylla-image-setup --no-pager -l
● scylla-image-setup.service - Scylla Cloud Image Setup service
   Loaded: loaded (/usr/lib/systemd/system/scylla-image-setup.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2021-03-23 13:33:25 UTC; 1min 17s ago
  Process: 943 ExecStart=/opt/scylladb/scylla-machine-image/scylla_image_setup (code=exited, status=1/FAILURE)
 Main PID: 943 (code=exited, status=1/FAILURE)

Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]: AssertionError: No NVMe devices found!
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]: Traceback (most recent call last):
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]:   File "/opt/scylladb/scylla-machine-image/libexec/scylla_image_setup", line 27, in <module>
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]:     run('/opt/scylladb/scylla-machine-image/scylla_create_devices', shell=True, check=True)
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]:   File "/opt/scylladb/python3/lib64/python3.9/subprocess.py", line 524, in run
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]:     raise CalledProcessError(retcode, process.args,
Mar 23 13:33:25 takuya-scylla-test1 scylla_image_setup[943]: subprocess.CalledProcessError: Command '/opt/scylladb/scylla-machine-image/scylla_create_devices' returned non-zero exit status 1.
Mar 23 13:33:25 takuya-scylla-test1 systemd[1]: scylla-image-setup.service: Main process exited, code=exited, status=1/FAILURE
Mar 23 13:33:25 takuya-scylla-test1 systemd[1]: scylla-image-setup.service: Failed with result 'exit-code'.
Mar 23 13:33:25 takuya-scylla-test1 systemd[1]: Failed to start Scylla Cloud Image Setup service.

[syuu@takuya-scylla-test1 ~]$ sudo /opt/scylladb/scylla-machine-image/scylla_create_devices 
ls: cannot access '/dev/nvme0n*': No such file or directory
Traceback (most recent call last):
  File "/opt/scylladb/scylla-machine-image/libexec/scylla_create_devices", line 218, in <module>
    nvme_devices = get_nvme_devices()
  File "/opt/scylladb/scylla-machine-image/libexec/scylla_create_devices", line 195, in get_nvme_devices
    assert devices, "No NVMe devices found!"
AssertionError: No NVMe devices found!

Scylla AMI: instances which are not pre-configure show the wrong message

Installation details
Scylla version (or git commit hash): 2.0
OS (RHEL/CentOS/Ubuntu/AWS AMI): Scylla 2.0.0 AMI on c4.4xlarge

The current message at login is:

    c4.4xlarge is not supported instance type!
To continue startup ScyllaDB on this instance, run 'sudo scylla_io_setup' then 'systemctl start scylla-server'.
For a list of optimized instance types and more EC2 instructions see http://www.scylladb.com/doc/getting-started-amazon/

Two problems:

Disable `scylla-fstrim.timer` during installation and maybe boot

seem like this timer is causing scylla-server to spin up, even if service is stopped or failed
https://github.com/scylladb/scylla/blob/master/dist/common/systemd/scylla-fstrim.timer

we seen this happaning in scylla-cloud installation one they have a service with:

[Install]
WantedBy=timers.target

During it's installation, scylla-server would start again regardless of current state (and even is scylla-server.service is disabled)

Also could be possible root cause of #49

I think we should disable this timer during installation,

and maybe even during boot is user-data tells us to not boot scylla.
question is, when and whom would enable this timer back on, in this case.

Failed to build machine-image deb package

This happens in enterprise but should be fixed here and then backport
in https://jenkins.scylladb.com/view/nexts/job/scylla-enterprise/job/unified-deb/181/consoleFull we got the following error:

16:10:21  Traceback (most recent call last):
16:10:21    File "/usr/lib64/python3.9/shutil.py", line 806, in move
16:10:21      os.rename(src, real_dst)
16:10:21  FileNotFoundError: [Errno 2] No such file or directory: 'build/debian/scylla-machine-image/debian/scylla-image-setup.service' -> 'build/debian/scylla-enterprise-machine-image/debian/scylla-enterprise-image-setup.service'
16:10:21  
16:10:21  During handling of the above exception, another exception occurred:
16:10:21  
16:10:21  Traceback (most recent call last):
16:10:21    File "/jenkins/workspace/scylla-enterprise/unified-deb/scylla-machine-image/./dist/debian/debian_files_gen.py", line 55, in <module>
16:10:21      shutil.move(p, p.replace('scylla-', '{}-'.format(product)))
16:10:21    File "/usr/lib64/python3.9/shutil.py", line 820, in move
16:10:21      copy_function(src, real_dst)
16:10:21    File "/usr/lib64/python3.9/shutil.py", line 435, in copy2
16:10:21      copyfile(src, dst, follow_symlinks=follow_symlinks)
16:10:21    File "/usr/lib64/python3.9/shutil.py", line 264, in copyfile
16:10:21      with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
16:10:21  FileNotFoundError: [Errno 2] No such file or directory: 'build/debian/scylla-enterprise-machine-image/debian/scylla-enterprise-image-setup.service'

enbale dry_run option when building GCE image

Today in scylla-pkg we have a process running on dryRun when need to validate the pipelines code. We need to have the ability to run GCE build image in dryRun mode so it will not actually build, just verify the syntax of the command is OK.

@bentsi suggested to use for example "validate" argument to implement the "dry" mode which can be add to build_image.sh

minimalistic scylla.yaml on Scylla AMI

Scylla 4.0 AMI include (I assume) only small subset of the parameters

api_doc_dir: /opt/scylladb/api/api-doc/
api_port: 10000
api_ui_dir: /opt/scylladb/swagger-ui/dist/
auto_bootstrap: false
batch_size_fail_threshold_in_kb: 50
batch_size_warn_threshold_in_kb: 5
broadcast_rpc_address: 172.31.34.160
cas_contention_timeout_in_ms: 1000
cluster_name: my-test-cluster
commitlog_segment_size_in_mb: 32
commitlog_sync: periodic
commitlog_sync_period_in_ms: 10000
commitlog_total_space_in_mb: -1
endpoint_snitch: org.apache.cassandra.locator.Ec2Snitch
experimental: true
listen_address: 172.31.34.160
murmur3_partitioner_ignore_msb_bits: 12
native_transport_port: 9042
num_tokens: 256
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
read_request_timeout_in_ms: 5000
rpc_address: 0.0.0.0
rpc_port: 9160
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: 172.31.34.160
write_request_timeout_in_ms: 2000

This is less useful than the full blow scylla.yaml, which includes many parameters as comments, as well as description per parameters.
This extra comments are very helpful when one need to update the yaml file.

aws: AMI image contains /root/.ssh/authorized_keys entry for Packer temporary SSH key

Original issue was: scylladb/scylla-enterprise-machine-image#19


Seems like Packer AMI builder does not removed /root/.ssh/authorized_keys entry for Packer temporary SSH key.
Like this:

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"centos\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkAvJqGkMv9cOQFLeOB96weCdh0SX656wrGwCVOjHqx49UW5Ybs2fjmmWQe7qoM0nO2qhN7pCYv6J6KGRq5fm9Qs/WJ2XcGqDGsyAplJGY6MUVO3pieEpsdiMHEGms70s1BLIV+cGuE6O1sscQWvv7Y3DITaq5D9aTGSEtbFZFrx36cmzcYX8J0sLPIsCjFCtAx3LXHpxJ1pS79AVs/ANjJE+9t1+GB7tSHyPpEctkJsMLIvX/4IRbgKSd/ouzTUxav1i3erI7kWR6YEEfbdW0I/fRbqLR1UuzZd4GbpC6X5wU12b+IOlHjA30AaROMIYJM6xbpAfTUnG2kiXWLBXP packer_6097c8cb-de03-7fed-6e2f-75a949a63f9c

It likely not a security risk since Packer delete temporary SSH key after AMI building, and also the entry does not access shell (*1), but it better to remove.
(*1: It is limited allowed command to "echo 'Please login as the user \"centos\" rather than the user \"root\".';echo;sleep 10")

There is a option in Packer configuration to delete it, we can use this:
https://www.packer.io/docs/builders/amazon/ebs#ssh_clear_authorized_keys

Cloudformation script parameter - SGUser: Missing egress rule in security group

Missing egress rule in security group means CloudFormation will automatically add an outbound rule to allow all traffic outbound. Make this explicit by adding egress rule if it is the desired configuration. No need to parametize it.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#aws-properties-ec2-security-group--examples--Remove_Default_Rule

Severity: Recommended

Why can scylla-server restart itself?

I want to stop scylla-server and i execute "systemctl stop scylla-server", but a few minutes later, it will restart automatically. So how to stop scylla-server and it cannot restart itself until i re-execute the command "systemctl restart scylla-server".

Thanks!

[root@node01 ~]# systemctl stop scylla-server
[root@node01 ~]# systemctl status scylla-server
● scylla-server.service - Scylla Server
   Loaded: loaded (/usr/lib/systemd/system/scylla-server.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/scylla-server.service.d
           └─dependencies.conf, mounts.conf
   Active: inactive (dead) since Thu 2021-05-20 13:59:04 CST; 8s ago
  Process: 17068 ExecStopPost=/opt/scylladb/scripts/scylla_stop (code=exited, status=0/SUCCESS)
  Process: 16607 ExecStart=/usr/bin/scylla $SCYLLA_ARGS $SEASTAR_IO $DEV_MODE $CPUSET $MEM_CONF (code=exited, status=0/SUCCESS)
  Process: 16585 ExecStartPre=/opt/scylladb/scripts/scylla_prepare (code=exited, status=0/SUCCESS)
 Main PID: 16607 (code=exited, status=0/SUCCESS)
   Status: "serving"

May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down cdc was successful
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down sstables format selector
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down sstables format selector was successful
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down migration manager
May 20 13:59:04 node01 scylla[16607]:  [shard 0] migration_manager - stopping migration service
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down migration manager was successful
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down database
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down database was successful
May 20 13:59:04 node01 scylla[16607]:  [shard 0] init - Shutting down sst_dir_semaphore
May 20 13:59:04 node01 systemd[1]: Stopped Scylla Server.
[root@node01 ~]#
[root@node01 ~]# systemctl status scylla-server
● scylla-server.service - Scylla Server
   Loaded: loaded (/usr/lib/systemd/system/scylla-server.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/scylla-server.service.d
           └─dependencies.conf, mounts.conf
   Active: active (running) since Thu 2021-05-20 14:00:56 CST; 2min 18s ago
  Process: 17068 ExecStopPost=/opt/scylladb/scripts/scylla_stop (code=exited, status=0/SUCCESS)
  Process: 17089 ExecStartPre=/opt/scylladb/scripts/scylla_prepare (code=exited, status=0/SUCCESS)
 Main PID: 17111 (scylla)
   Status: "serving"
   CGroup: /scylla.slice/scylla-server.slice/scylla-server.service
           └─17111 /usr/bin/scylla --developer-mode 1 --alternator-address 192.168.75.129 --alternator-port 8000 --experimental-features lwt --enable-keyspace-column-family-metrics 0 --log-to-syslog 1 --l...

May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - Launching generate_mv_updates for non system tables
May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - starting the view builder
May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - starting native transport
May 20 14:01:21 node01 scylla[17111]:  [shard 0] compaction - [Compact system.truncated cd360390-b930-11eb-927a-000000000000] Compacting [/var/lib/scylla/data/system/truncated-38c19fd0fb8633....db:level=0, ]
May 20 14:01:21 node01 scylla[17111]:  [shard 0] cql_server_controller - Starting listening for CQL clients on 192.168.75.129:9042 (unencrypted, non-shard-aware)
May 20 14:01:21 node01 scylla[17111]:  [shard 0] thrift_controller - Thrift server listening on 192.168.75.129:9160 ...
May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - Alternator server listening on 192.168.75.129, HTTP port 8000, HTTPS port OFF
May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - serving
May 20 14:01:21 node01 scylla[17111]:  [shard 0] init - Scylla version 4.4.1-0.20210413.00da6b5e9 initialization completed.
May 20 14:01:21 node01 scylla[17111]:  [shard 0] compaction - [Compact system.truncated cd360390-b930-11eb-927a-000000000000] Compacted 2 sstables to [/var/lib/scylla/data/system/truncated-3...s merged to 8.
Hint: Some lines were ellipsized, use -l to show in full.

Google Conversations: https://groups.google.com/g/scylladb-users/c/AUACcyHH21Q

consider `start_scylla_on_first_boot` to be able to handle strings

while working with scylla-cloud team,
seem like by mistake they were pass the following in the user-data:

"start_scylla_on_first_boot":"false"

it consider at true, and did exactly the opposite from what intended.

we should consider supporting also strings for this specific parameter

and also to print clearly the user-data we are getting for debug

artifacts-gce-image-test: Failed to create devices

System under test

Actual gce image used: scylla-4-4-dev-build-2021-01-11t09-05-45
AWS region: us-east1
Instance type: n1-standard-2
Scylla packages installed:
scylla-conf-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-kernel-conf-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-tools-4.4.dev-0.20210111.3aa80f47fec.noarch
scylla-debuginfo-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-python3-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-node-exporter-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-tools-core-4.4.dev-0.20210111.3aa80f47fec.noarch
scylla-jmx-4.4.dev-0.20210111.3aa80f47fec.noarch
scylla-machine-image-4.4.dev-20210111.b23ecb53ef.noarch
scylla-server-4.4.dev-0.20210111.3aa80f47fec.x86_64
scylla-4.4.dev-0.20210111.3aa80f47fec.x86_64

Job

Test: artifacts-gce-image-test

Failed to create devices:

Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: nvme0n1 is not found
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: Traceback (most recent call last):
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:   File "/opt/scylladb/scylla-machine-image/libexec/scylla_create_devices", line 74, in <module>
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:     create_raid(disk_devices)
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:   File "/opt/scylladb/scylla-machine-image/libexec/scylla_create_devices", line 33, in create_raid
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:     run(["/opt/scylladb/scripts/scylla_raid_setup", "--raiddev", "/dev/md0", "--disks", ",".join(devices),
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:   File "/opt/scylladb/python3/lib64/python3.9/subprocess.py", line 524, in run
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:     raise CalledProcessError(retcode, process.args,
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: subprocess.CalledProcessError: Command '['/opt/scylladb/scripts/scylla_raid_setup', '--raiddev', '/dev/md0', '--disks', 'nvme0n1', '--root', '/var/lib/scylla', '--volume-role', 'all', '--update-fstab']' returned non-zero exit status 1.
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: 2021-01-11 09:21:07,037 - [scylla_configure] - ERROR - Failed to create devices: Command '/opt/scylladb/scylla-machine-image/scylla_create_devices ' returned non-zero exit status 1.
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: Failed to create devices: Command '/opt/scylladb/scylla-machine-image/scylla_create_devices ' returned non-zero exit status 1.
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: Traceback (most recent call last):
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:   File "/opt/scylladb/scylla-machine-image/libexec/scylla_image_setup", line 26, in <module>
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:     run('/opt/scylladb/scylla-machine-image/scylla_configure.py', shell=True, check=True)
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:   File "/opt/scylladb/python3/lib64/python3.9/subprocess.py", line 524, in run
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]:     raise CalledProcessError(retcode, process.args,
Jan 11 09:21:07 artifacts-gce-image-jenkins-db-node-d0e9db1d-0-1 scylla_image_setup[744]: subprocess.CalledProcessError: Command '/opt/scylladb/scylla-machine-image/scylla_configure.py' returned non-zero exit status 1.

Hydra commands:

Restore Monitor Stack command: $ hydra investigate show-monitor d0e9db1d-39c1-4e61-accd-6af00c8c6f32
Show all stored logs command: $ hydra investigate show-logs d0e9db1d-39c1-4e61-accd-6af00c8c6f32

Logs:

db-cluster - https://cloudius-jenkins-test.s3.amazonaws.com/d0e9db1d-39c1-4e61-accd-6af00c8c6f32/20210111_092731/db-cluster-d0e9db1d.zip
sct-runner - https://cloudius-jenkins-test.s3.amazonaws.com/d0e9db1d-39c1-4e61-accd-6af00c8c6f32/20210111_092731/sct-runner-d0e9db1d.zip

alias centos user added linked to scylladm should also hard link /home/centos directory to /home/scylladm

currently we add scylladm user and also add an alias to it centos

[shlomi@localhost scylla-machine-image]$ cat aws/ami/files/99_user_alias.cfg
runcmd:
  - /sbin/userdel centos
  - /sbin/groupdel centos
  - /sbin/useradd -o -u 1001 -g scyllaadm -d /home/scyllaadm centos
  - chown scyllaadm:scyllaadm /home/centos
  - ln -sf /home/centos/.bash_profile /home/scyllaadm/.bash_profile

this change is not complete since we leave behind the old /home/centos directory - we should remove that directory and hard link it to /home/scyllaadm

alternatively - we can reuse the /home/centos directory and make the /home/scyllaadm a hard link to it

Fail to use Scylla 4.0rc1 user data

I launch a new Scylla Cluster with 4.0rc1 AMIs, and fail to create a cluster

AMI: ScyllaDB 4.0.rc1 (ami-0ddd86daaba39d1d1) (us-east-1)

User data

{
     "scylla_yaml": {
         "cluster_name": "my-test-cluster",
         "experimental": true,
  }
}

Is the above valid?

Looking at one of the the instance configuration, it seems cluster name (and maybe more params) are not set correctly

cat /etc/scylla/scylla.yaml

api_address: 127.0.0.1
api_doc_dir: /opt/scylladb/api/api-doc/
api_port: 10000
api_ui_dir: /opt/scylladb/swagger-ui/dist/
auto_bootstrap: false
batch_size_fail_threshold_in_kb: 50
batch_size_warn_threshold_in_kb: 5
broadcast_rpc_address: 10.99.0.99
cas_contention_timeout_in_ms: 1000
cluster_name: scylladb-cluster-1586337017
commitlog_segment_size_in_mb: 32
commitlog_sync: periodic
commitlog_sync_period_in_ms: 10000
commitlog_total_space_in_mb: -1
endpoint_snitch: org.apache.cassandra.locator.Ec2Snitch
experimental: false
listen_address: 10.99.0.99
murmur3_partitioner_ignore_msb_bits: 12
native_transport_port: 9042
num_tokens: 256
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
read_request_timeout_in_ms: 5000
rpc_address: 0.0.0.0
rpc_port: 9160
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: 10.99.0.99
write_request_timeout_in_ms: 2000

an alias centos group is required as well for scyllaadm

scyllaadm user creation is:

[shlomi@localhost scylla-machine-image]$ cat aws/ami/files/99_user_alias.cfg
runcmd:
  - /sbin/userdel centos
  - /sbin/groupdel centos
  - /sbin/useradd -o -u 1001 -g scyllaadm -d /home/scyllaadm centos
  - chown scyllaadm:scyllaadm /home/centos
  - ln -sf /home/centos/.bash_profile /home/scyllaadm/.bash_profile

while we are fixing #120 - there is another issue related to aliasing groups

[support@ip-10-0-0-11 ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:995::/var/lib/chrony:/sbin/nologin
scylla:x:997:1001::/var/lib/scylla:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
scyllaadm:x:1001:1002:Cloud User:/home/scyllaadm:/bin/bash
centos:x:1001:1002::/home/scyllaadm:/bin/bash
support:x:1002:1003::/home/support:/bin/bash
[support@ip-10-0-0-11 ~]$ sudo su
[root@ip-10-0-0-11 support]# su scyllaadm
[scyllaadm@ip-10-0-0-11 support]$ 
[scyllaadm@ip-10-0-0-11 support]$ 
[scyllaadm@ip-10-0-0-11 support]$ cat /etc/groups
cat: /etc/groups: No such file or directory
[scyllaadm@ip-10-0-0-11 support]$ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:scyllaadm
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:scyllaadm
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
rpc:x:32:
ssh_keys:x:997:
cgred:x:996:
rpcuser:x:29:
nfsnobody:x:65534:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
chrony:x:995:
scylla:x:1001:
ntp:x:38:
scyllaadm:x:1002:
support:x:1003:

this is an causing automation scripts attempting todo chown centos:centos ... to fail
chown centos:centos * chown: invalid group: ‘centos:centos’

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.