Wednesday, May 13, 2020

Configure X11 on Solaris 11.4


Log into the SPARC server as root.   The server needs to have access to a software repository so that you can install the solaris-desktop package as follows:
# pkg install solaris-desktop
root@BSPZTSTDB0303:~# pkg install solaris-desktop
           Packages to install: 379
            Services to change:  15
       Create boot environment:  No
Create backup boot environment:  No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            379/379   73183/73183  994.0/994.0  2.7M/s

PHASE                                          ITEMS
Installing new actions                   89149/89149
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           4/4
root@BSPZTSTDB0303:~# vi /etc/gdm/custom.conf
root@BSPZTSTDB0303:~# inetadm -e xvnc-inetd
root@BSPZTSTDB0303:~# svcs -vx

When the installation is complete, enable XDMCP connections by editing the /etc/gdm/custom.conf file. Add this line to the end of the file:
[xdmcp]
Enable=true
Enable xvnc-inetd as follows:
# inetadm -e xvnc-inetd
Restart the graphical login service (gdm) as follows:
# svcadm restart svc:/application/graphical-login/gdm:default
Check the state of the gdm service by typing:
# svcs -vx



configure X-Server to accept remote connections.
#svccfg -s application/x11/x11-server
svc:/application/x11/x11-server> setprop options/tcp_listen = boolean: true
svc:/application/x11/x11-server> end

#svccfg -s xvnc-inetd
svc:/application/x11/xvnc-inetd> setprop inetd_start/exec = astring: "/usr/bin/Xvnc -geometry 1280x720 -inetd -query localhost -once securitytypes=none"
svc:/application/x11/xvnc-inetd> end

# svcadm disable gdm xvnc-inetd; svcadm enable gdm xvnc-inetd
Step 5
Point your favourite VNC client at your Solaris server and test if it accepts your VNC connection – you should be presented with a Username/Password login screen.
You could just install solaris -large-server or just a minimal packages (if you prefer) to allow runinstaller to run.

# pkg install xauth x11/diagnostic/x11-info-clients library/motif terminal/xterm

Friday, May 8, 2020

Terraform in OCI




Terraform in OCI

1.       Generate API keys from command prompt
debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ pwd
/c/Users/debaranw/.ssh

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ openssl genrsa -out oci_api_key.pem 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
.....................................+++++
.....................................+++++
e is 65537 (0x010001)

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ dir
id_rsa  id_rsa.pub  known_hosts  oci_api_key.pem

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ openssl rsa -pubout -in oci_api_key.pem -out oci_api_key_public.pem
writing RSA key

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ dir
id_rsa  id_rsa.pub  known_hosts  oci_api_key.pem  oci_api_key_public.pem

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ ls -lrt
total 14
-rw-r--r-- 1 debaranw 197121 1831 Jul  1 09:43 id_rsa
-rw-r--r-- 1 debaranw 197121  402 Jul  1 09:43 id_rsa.pub
-rw-r--r-- 1 debaranw 197121 1353 Jul 16 11:27 known_hosts
-rw-r--r-- 1 debaranw 197121 1706 Jul 18 11:01 oci_api_key.pem
-rw-r--r-- 1 debaranw 197121  460 Jul 18 11:12 oci_api_key_public.pem

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$ cat oci_api_key_public.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlrCoUaj+4oMECD4Gyhet
j0NmZ1dwMTaKQWEDy0KAUVRbUKJeoB0GH60y7Jh566aswRDXowZBlKvxOUL5XL+t
pZc18yMhpKWbq5wq9+43ut0IjrLZNl2D1jBqxvOp2oqTO7uPRKoRlywcHtDri0pT
fSq5Em8dQIrrmcaFKD5PXi/+KRc1KR5kOcxkOxnBTlIiAUPmusmuL5qIosMA5G/M
EhZPtipgddAVcpunCO9L9NBo1rEUiTv0LAH253MGrw+YQ+2eRYWqMnyWuzGkRyym
m0sT9FWp8En2lo2HdB+dg440U6AoPCheftzH8gGzDd0Je1b1x12SCkuRj+v1/1i7
SQIDAQAB
-----END PUBLIC KEY-----

debaranw@DEBARANW-IN MINGW64 ~/.ssh
$



2.       Download and configure Terraform
3.       Set Environment Variable

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_tenancy_ocid=ocid1.tenancy.oc1..aaaaaaaa5kxrelenhoqbpg7olifnxkm5uefxvtysusm4xgoeqgotnmjasc5q
export TF_VAR_fingerprint=f5:f2:7d:9c:f4:29:75:b8:8d:79:e7:af:fd:c9:ff:2f
export TF_VAR_private_key_path=oci_api_key.pem
### Region
export TF_VAR_region=eu-frankfurt-1
### Compartment
export TF_VAR_compartment_ocid=ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q
debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_user_ocid=ocid1.user.oc1..aaaaaaaavdteylrqbpokvwbhjdz62b4d6g6squclzatzr5ukgu422nx2c5ba

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_fingerprint=f5:f2:7d:9c:f4:29:75:b8:8d:79:e7:af:fd:c9:ff:2f

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_private_key_path=oci_api_key.pem

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ ### Region

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_region=eu-frankfurt-1

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ ### Compartment

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ export TF_VAR_compartment_ocid=ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ vi vcn.tf

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
4.        

5.       Initialize the terraform
debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ terraform init

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...

Registry service unreachable.

This may indicate a network issue, or an issue with the requested Terraform Registry.


Error: registry service is unreachable, check https://status.hashicorp.com/ for status updates



debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ terraform init

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...
- Downloading plugin for provider "oci" (terraform-providers/oci) 3.34.0...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$


6.       Check the environment variable and run terraform plan

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ env|grep TF
TF_VAR_compartment_ocid=ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q
TF_VAR_region=eu-frankfurt-1
LANG=en_US.UTF-8
TF_VAR_private_key_path=/c/Users/debaranw/.ssh/oci_api_key.pem
TF_VAR_tenancy_ocid=ocid1.tenancy.oc1..aaaaaaaa5kxrelenhoqbpg7olifnxkm5uefxvtysusm4xgoeqgotnmjasc5q
TF_VAR_user_ocid=ocid1.user.oc1..aaaaaaaavdteylrqbpokvwbhjdz62b4d6g6squclzatzr5ukgu422nx2c5ba
TF_VAR_fingerprint=f5:f2:7d:9c:f4:29:75:b8:8d:79:e7:af:fd:c9:ff:2f

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.


------------------------------------------------------------------------

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # oci_core_virtual_network.simple-vcn will be created
  + resource "oci_core_virtual_network" "simple-vcn" {
      + cidr_block               = "10.9.0.0/16"
      + compartment_id           = "ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q"
      + default_dhcp_options_id  = (known after apply)
      + default_route_table_id   = (known after apply)
      + default_security_list_id = (known after apply)
      + defined_tags             = (known after apply)
      + display_name             = "simple-vcn"
      + dns_label                = "testvcn1"
      + freeform_tags            = (known after apply)
      + id                       = (known after apply)
      + state                    = (known after apply)
      + time_created             = (known after apply)
      + vcn_domain_name          = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

------------------------------------------------------------------------

Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.


debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ terraform apply

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # oci_core_virtual_network.simple-vcn will be created
  + resource "oci_core_virtual_network" "simple-vcn" {
      + cidr_block               = "10.9.0.0/16"
      + compartment_id           = "ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q"
      + default_dhcp_options_id  = (known after apply)
      + default_route_table_id   = (known after apply)
      + default_security_list_id = (known after apply)
      + defined_tags             = (known after apply)
      + display_name             = "simple-vcn"
      + dns_label                = "testvcn1"
      + freeform_tags            = (known after apply)
      + id                       = (known after apply)
      + state                    = (known after apply)
      + time_created             = (known after apply)
      + vcn_domain_name          = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

oci_core_virtual_network.simple-vcn: Creating...
oci_core_virtual_network.simple-vcn: Creation complete after 2s [id=ocid1.vcn.oc1.eu-frankfurt-1.aaaaaaaaok6ypiurwudbpaqkqeujntabvljxouysm6xackt275si52ucqpvq]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$

debaranw@DEBARANW-IN MINGW64 /c/terraform/test

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$ terraform destroy
oci_core_virtual_network.simple-vcn: Refreshing state... [id=ocid1.vcn.oc1.eu-frankfurt-1.aaaaaaaaok6ypiurwudbpaqkqeujntabvljxouysm6xackt275si52ucqpvq]

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # oci_core_virtual_network.simple-vcn will be destroyed
  - resource "oci_core_virtual_network" "simple-vcn" {
      - cidr_block               = "10.9.0.0/16" -> null
      - compartment_id           = "ocid1.compartment.oc1..aaaaaaaaibjd3h7s64dv6sefbg6hvnche7sfnefpnlyifx5g2z6ccf2qdj2q" -> null
      - default_dhcp_options_id  = "ocid1.dhcpoptions.oc1.eu-frankfurt-1.aaaaaaaaopepr6mcsm5ynnsr4qugfimz2w5l5laqaa5xh3jzs6fhbfs4r6ga" -> null
      - default_route_table_id   = "ocid1.routetable.oc1.eu-frankfurt-1.aaaaaaaaq43ws44iotwcdsu6b46mjibmzcvcgyalk5qtfo4eknqsbeqjhtrq" -> null
      - default_security_list_id = "ocid1.securitylist.oc1.eu-frankfurt-1.aaaaaaaax3zatlgrkmrqtsh7no674hxmm6u7tj3rwgmw5hyfp6zsu7gdjdkq" -> null
      - defined_tags             = {} -> null
      - display_name             = "simple-vcn" -> null
      - dns_label                = "testvcn1" -> null
      - freeform_tags            = {} -> null
      - id                       = "ocid1.vcn.oc1.eu-frankfurt-1.aaaaaaaaok6ypiurwudbpaqkqeujntabvljxouysm6xackt275si52ucqpvq" -> null
      - state                    = "AVAILABLE" -> null
      - time_created             = "2019-07-18 06:35:56.175 +0000 UTC" -> null
      - vcn_domain_name          = "testvcn1.oraclevcn.com" -> null
    }

Plan: 0 to add, 0 to change, 1 to destroy.

Do you really want to destroy all resources?
  Terraform will destroy all your managed infrastructure, as shown above.
  There is no undo. Only 'yes' will be accepted to confirm.

  Enter a value: yes

oci_core_virtual_network.simple-vcn: Destroying... [id=ocid1.vcn.oc1.eu-frankfurt-1.aaaaaaaaok6ypiurwudbpaqkqeujntabvljxouysm6xackt275si52ucqpvq]
oci_core_virtual_network.simple-vcn: Destruction complete after 1s

Destroy complete! Resources: 1 destroyed.

debaranw@DEBARANW-IN MINGW64 /c/terraform/test
$